DroneEngage DataBus

DroneEngage Databus is the protocol that is used to communicate between different modules in the unit. The main component of DroneEngage for each unit is the Communicator module. The communicator module is the only module that can runs alone without any other module. however it will not be useful, but it will appear on WebClient as a separate unit.

Broker Diagram

As we can see in the above diagram Communicator Module contains -among other components- Module Manager and Telemetry Manager.

- Telemetry Manager is the component that is responsible for communicating with other modules, and WebClient via Communication Server.
- Module Manager is the component that is responsible for communicating with other modules of the same unit.
- Module Manager is mainly a publisher subscriber module, where each module can subscribe in one or more messages listed in Andruav Messages Type using message type.
- Module Manager processes messages coming from Internet server via Telemetry Manager and then forward it to modules subscribed in these messages.
- It also does the opposite and forward messages from modules to Internet.
- Modules intercommunication is also possible, for example communicator mavlink module determines location, which is used by camera module to label images with location before saving it.
- Communication between modules in this part is implemented using UDP sockets, so it is very fast, also the inner layer handles data chunks so you can sends data of any size between modules without need to worry about how to slice or handle them.