overthesun / simoc-sam

Live backend for SAM at Biosphere 2
2 stars 1 forks source link

Add MQTT support #59

Closed ezio-melotti closed 7 months ago

ezio-melotti commented 10 months ago

The current version of SIMOC SAM (aka SIMOC live) relies on a custom implementation using websockets. This issue is about moving from that to a new implementation based on MQTT.

Plan

Open issues

  1. Should this completely replace the socketio implementation, or be added as an alternative?
    • we should support multiple protocols (MQTT, socketio, DDS, etc.)
  2. Should SIMOC (the web interface/dashboard) connect directly to the MQTT broker, or should we have an MQTT subscriber that keeps relying all messages to the dashboard through socketio?
    • there should be a subscriber in the backend that receives all data and sends them to the frontend through socketio
  3. How much of the MQTT implementation do we want to expose to the dashboard? Should we have panels able to subscribe to certain MQTT topics?
    • the dashboard shouldn't know about the protocols used by the backend
  4. What QoS levels should we use?
  5. Do we want/need encryption?
  6. How should we divide the topics?

See the MQTT support page for further instructions.