Hands-on Modbus Cloud Connect – Anbindung an MQTT Broker

Daniel Schmitz

Daniel Schmitz – Sales Engineer IoT

Hands-On Modbus Cloud Connect - Anbindung an MQTT Broker

Beispiel: Anbindung an MQTT-Broker von HiveMQ

Bei der Verwendung des Internet of Things (IoT) geht es nicht nur darum, Maschinen und Sensoren zu vernetzen, sondern die durch die Vernetzung gewonnenen Daten auch auszuwerten. Welche und wie viele Daten sinnvoll sind, hängt immer vom Anwendungsfall ab.

Um die Daten zu verwenden und auszuwerten, müssen diese an die entsprechende IoT-Plattform übertragen werden. Für die Anbindung gibt es verschiedene Protokolle, wie z. B. LwM2M, HTTP oder MQTT. In diesem Beitrag möchte ich Ihnen zeigen, wie einfach man die Daten von einem Temperatur-Sensor an einen MQTT-Broker sendet.

Über die Blogartikel-Serie:
Modbus ist ein etabliertes Kommunikationsprotokoll und ist zu einem Industriestandard für die Anbindung von industriellen, elektronischen Geräten geworden. Aber wie werden solche Geräte nun Teil des Internet of Things und welche Anwendungsfälle können daraus entwickelt werden? Mit dieser Blogartikel-Serie möchten wir Antworten, Ideen, Empfehlungen und hilfreiche Tipps geben. Und wir wollen damit aufzeigen, wie leicht es sein kann, mithilfe von Modbus Cloud Connect die Lücke zwischen Geräten und einer IT/Cloud Infrastruktur zu überbrücken.

In diesem Beispiel werden 4 Komponenten verwendet: Ein Temperatur-Sensor, ein Gateway mit Middleware und ein MQTT-Broker.

Was genau ist ein MQTT-Broker und was ist MQTT?

MQTT ist ein Client-Server-Publisher bzw. Subscribe-Messaging-Transportprotokoll. Es ist offen, einfach und so konzipiert, dass es leicht zu implementieren ist. Der Client (Publisher), in diesem Fall die Middleware, sendet dem Broker Nachrichten mit einem Topic. Die IoT-Plattform (Subscriber) empfängt die Nachricht auf diesem abonnierten Thema. Der MQTT-Broker dient als Vermittler zwischen dem Publisher und Subscriber, der die Nachrichten empfängt und sie auf der Grundlage des Themas an den Abonnenten weiterleitet.

Kommunikationsprotokoll Modbus RTU

Die Messwerte vom Temperatur-Sensor werden mittels Modbus RTU Protokoll vom Gateway, in diesem Beispiel Modbus Cloud Connect, gelesen. Modbus RTU (Remote Terminal Unit) basiert auf dem Master-Slave-System. Jeder Busteilnehmer hat eine eindeutige Adresse zugeordnet bekommen, über die er direkt angesprochen werden kann. Der Modbus Master (Gateway) sendet eine Nachricht an den Slave (Temperatur-Sensor) und bekommt eine entsprechende Antwort.

Narrowband-IoT

In dem Modbus Cloud Connect-Gateway befindet sich ein Mobilfunkmodem mit SIM-Chip. Dieses stellt eine Verbindung zum Mobilfunknetz her und sendet die Messwerte via Narrowband-IoT (NB-IoT) an die Middleware. NB-IoT entstammt der Familie der Low Power Wide Area Networks (LPWAN). Installationen wie z. B. im Keller stellen durch die hohe Gebäudedurchdringung kein Problem dar. Das macht Narrowband-IoT zum idealen Übertragungsstandard für Anwendungsfälle innerhalb von Objekten.

MQTT-Broker

Die Messwerte befinden sich nun in der „Cloud“ und werden von dort via MQTT Protokoll an einen MQTT-Broker gesendet. In der Middleware bzw. dem Self-Service-Portal von Modbus Cloud Connect werden keine Messwerte gespeichert, sondern nur an die gewünschte IoT-Plattform weitergeleitet.

Einen MQTT-Broker kann man komplett selbstständig betreiben oder man bedient sich einer SaaS (Software as a Service) Lösung. Die Firma HiveMQ zum Beispiel bietet eine eingeschränkte, kostenlose Version an. Es können bis zu 100 Geräte angelegt werden. Das Datenvolumen liegt bei 10 GB. Dies eignet sich besonders gut, um sich mit MQTT vertraut zu machen oder für unkomplizierte Tests. Dazu legt man sich einen Account an und erstellt einen Cluster. Damit erhält man die Zugangsdaten für die Verbindung mit dem Broker.

Um jedoch Nachrichten von dem Gateway an den MQTT-Broker zu senden, benötigt man den Host (URL), Port, Credentials zur Authentifizierung und das oben beschriebene Topic. Entweder wird das Topic vom Gateway vorgegeben oder man wählt eine eigene Topic Struktur.

Das Bild zeigt die Konfiguration in der verwendeten Middleware für die Verbindung mit dem MQTT-Broker

Nun können Nachrichten an den Broker gesendet werden. Die Plattform von HiveMQ bietet einen WebClient an, um sich die empfangenen Nachrichten anzuschauen. Mit der Multi-Level Wildcard # als Platzhalter ohne weitere Eingaben werden alle Nachrichten empfangen, die an den Broker gesendet werden (Subscription).

Nachrichten, die beim MQTT-Broker mit einem entsprechenden Topic empfangen werden

Nach demselben Prinzip kann jetzt die gewünschte Software (IoT-Plattform) Nachrichten abonnieren, um diese zu visualisieren oder auszuwerten.

Modbus Cloud Connect ist leicht einzusetzen, flexibel in der Anbindung und vielseitig einsetzbar. Ihr Gerät, direkt in die Cloud.