Scaleworks Entities
An ecosystem of multiple applications combined together to form a combined together form a Hive Mind. Those entities are listed below as a Server side and Client side.
Client Side
- Sender / Pusher: Service used as a transmitter or remote to control the vehicle
- Receiver / Puller: Service used to receiver all the messages and push to the configured mqtt topic (defaults to rcn.robot.drone.messages)
- Message Splitter: Service responsible for splitting the messages into multiple topics as one to many topics.
- Mqtt To Channel: Service responsible to pull the input values and write the desired PWM values to the output controller.
- GPIO Controller: Service responsible for controlling the gpio pin state.
- State Persistor: Service responsible to sync the vehicle state and store in local database.
- Dronekit Connector: Service responsible for the updating the states and keep data in sync with the internal mqtt topics and services.
Receiver / Puller
The Receiver service pulls the data from IOR Server and publishes to the internal mqtt topic so that the data can be consumed by appropriate subscribers. The Topic configuration for the service is below.
The other task for the service is to keep sync of the device/vehicle state in sync with the ior servers. Thus the services also subscribes to inbound message mqtt topic.
RCN Outbound Topic - rcn.robot.drone.messages RCN Inbound Topic - rcn.elfie.ior.messages
Message Splitter
As described above the service is responsible for splitting the messages produced by the receiver service to their appropriate messaging channels.