Software
BeeBus
A peer-to-peer bus for devices that need to talk to each other
BeeBus is a token-passing ring that carries Modbus registers and typed publish/subscribe topics on the same wire, over RS485, radio or UDP. There is no master: every node takes its turn, and the ring forms and heals itself.
What it does
Each node publishes the values it owns and subscribes to the ones it needs, with a deadband and a maximum interval per subscriber. Every value carries a quality (good, uncertain or bad), so a node knows when the data it is using has gone stale.
The same nodes answer Modbus register requests, so a SCADA system or an HMI can read and write them with ordinary Modbus tools.
What it is not for
Hard real-time control, networks of more than 254 nodes, untrusted networks (it has no authentication or encryption) or bulk transfer, with frames of up to 512 bytes.
Features
- Peer to peer: no master or broker
- Self-organising ring, timed in token rotations
- Typed values, including text, with good, uncertain and bad quality
- Publish/subscribe with deadband and maximum interval
- Gap detection, store and forward, and queuing with dedupe
- Modbus-compatible registers and per-address failsafe
- Transport-agnostic: RS485, radio or UDP, or one of your own
Runs on
ESP32, ESP8266, SAMD, STM32, Arduino mbed boards and Uno R4; Linux, macOS and Windows. Needs 32 KB of RAM or more.