Das weit verbreitete Kommunikationsprotokoll MQTT wird seit fünf Jahren von AnyViz unterstützt. Im Gegensatz zu den Feldbusprotokollen ermöglicht es eine direkte Kommunikation zwischen Endgerät und Cloud. In der zweiten Jahreshälfte haben wir die Implementierung auf den neusten Stand gebracht und Funktionalität ergänzt.
Welche Nutzlast
Die MQTT-Spezifikation definiert, wie Topics nach dem Publisher/Subscriber-Modell übertragen werden. Was sie jedoch komplett offen lässt, ist die Codierung der Nutzlast. AnyViz unterstütz die effiziente Übertragung im Binärformat, das Interpretieren von Strings, sowie die Deserialisierung von JSON-Objekten. Mit Sparkplug und OPC-UA gibt es nun zwei weitere Möglichkeiten, wie Datenpunkte über das MQTT-Protokoll übertragen werden können.
Sparkplug B
Sparkplug B ist ein offener Standard der Eclipse Foundation. Sie hat sich genau dem Problem gewidmet, dass die Nutzlast im MQTT-Protokoll nicht spezifiziert ist. Mit Sparkplug B können Sensoren und IIoT-Geräte ihre Messwerte effizient und standardisiert in der MQTT-Nutzlast übertragen. Die Messwerte werden dabei übersichtlich nach Gruppe, Knoten und Gerät aufgelistet und stehen ohne weitere Konfiguration zu Verfügung. Auch das Schreiben von Werten ist unkompliziert möglich. Derzeit gibt es zwei Codierungsschemata. AnyViz unterstützt das verbesserte Sparkblug B-Codierungsschemata.
OPC UA Pub/Sub
Da das OPC-UA-Protokoll ein klassisches Client/Server-Protokoll ist, eignet es sich nicht für die Kommunikation in die Cloud. Abhilfe schafft die Pub/Sub-Erweiterung, mit der Daten über das MQTT-Protokoll in die Cloud übertragen werden können. Hierzu müssen sogenannte DataSetWriter definiert werden. Alle Variablen des DataSets sind dann im Portal ersichtlich. AnyViz unterstützt dabei sowohl die JSON-Formatierung als auch die UADP-Formatierung.
Neues von MQTT 5
Im Zuge der neuen MQTT-Funktionen wurde auch die Version 5 der MQTT-Spezifikation umgesetzt. Sie bietet mehr Statusinformationen, einen geringeren Datenverbrauch durch die Verwendung von Topic Aliases und eine verbesserte Erweiterbarkeit. Alle Funktionen stehen nun mit der Protokoll-Version 3.1, 3.1.1 und 5.0 zur Verfügung, sodass maximale Kompatibilität ermöglicht wird.
Weitere Details zu MQTT sind in der Onlinehilfe dokumentiert.