Die RadioShuttle Software enthält ein MQTT-Gateway, welches eine Verbindung zwischen der RadioShuttle-Station mit den angeschlossenen Knoten und einem MQTT-Server herstellt. Damit ist ein bidirektionaler Nachrichtenaustausch zwischen MQTT und LoRa möglich.
Das RadioShuttle MQTT-Gateway ist ein Beispielprogramm („ESP32RadioShuttleMQTTGateway“), das ein mit WiFi ausgestattetes „ECO Power“- oder Eagle-Board zur Kommunikation mit dem MQTT-Broker nutzt sowie als RadioShuttle „Node_Online“ als Server für andere LoRa-Knoten fungiert.
Das RadioShuttle MQTT-Gateway registriert verschiedene MQTT-Topics und kann somit empfangene MQTT-Nachrichten an LoRa-Knoten weiterleiten. Zusätzlich kann es LoRa-empfangene Nachrichten an MQTT weiterleiten. Dabei wird einfach der komplette Inhalt der Nachricht weitergeleitet.
Beim Senden von LoRa zum MQTT-Server enthält das Topic Informationen darüber, von welchen Knoten und welcher App die Nachricht stammt. Hier ein Beispiel:
Nachrichten vom LoRa-Knoten zum MQTT-Gateway mit dem Topic:loratest/TEST/RS-Gateway/2MQTT/LoRa-ID/App-ID/LocationName/
Nachrichten vom MQTT-Gateway zum LoRa-Knoten:loratest/TEST/RS-Gateway/2LoRa/LoRa-ID/App-ID/hostname
Verschlüsselung
Die Daten zwischen den RadioShuttle LoRa-Knoten können AES verschlüsselt werden. Hierzu müssen die kommunizierenden LoRa-Teilnehmer das Passwort für die App-ID wissen.
Die MQTT-Kommunikation kann per SSL verschlüsselt werden. Ein Root-Zertifikat ist hinterlegt, sodass die Kommunikation nicht abgehört werden kann. Falls gewünscht, kann auch ein eigenes Zertifikat auf dem Broker und dem RadioShuttle-Gateway hinterlegt werden. Über die URL „mqtt://…“ findet die unverschlüsselte Kommunikation statt, bei „mqtts://…“ ist die Kommunikation zum MQTT-Broker SSL verschlüsselt.
Datenaustausch mit anderen MQTT-Teilnehmern
Weitere Teilnehmer am MQTT-Broker, wie PCs, Server oder Smartphones, können Nachrichten gemäß der registrierten Topics empfangen und versenden. Der MQTT-Broker wird diese dann an das RadioShuttle MQTT-Gateway weiterleiten. Somit können alle Teilnehmer Nachrichten empfangen und versenden, vorausgesetzt die Zugangsdaten sind identisch.
Charmante Lösung – alles in eigener Hand
Mit dieser Lösung haben Anwender alles in der eigenen Hand und sind nicht auf Cloud-Dienste bzw. Dritte angewiesen. Ein MQTT-Server kann schnell auf einem PC unter Windows, macOS, Linux bzw. Raspberry PI installiert werden. Das RadioShuttle MQTT-Gateway bringt den Rest mit. Cloud-Dienste, kostenpflichtige Abos und fremde Server sind nicht erforderlich. Somit haben die Anwender Betrieb und Sicherheit in eigener Hand, ohne Dritte und ohne zusätzliche Kosten.
Die Unterstützung von MQTT bringt viele Vorteile mit sich, so können unterschiedliche Lösungen in eine Gesamtlöung integriert werden.