Mit MQTT in die Cloud

MQTT ist das IoT-und IIoT-Protokoll der Wahl, wenn es um die leichtgewichtige und Bandbreiten-sparende Übertragung von Sensor-Daten geht. Viele Geräte und Sensoren sind heute schon von sich aus in der Lage ihre Daten per MQTT zu versenden. Die Struktur von MQTT entspricht dem Publisher-Subscriber Modell. Jeder Sender ist mit einem zentralen Broker verbunden und sendet Daten mit einem Topic versehen an den Broker. Andere verbundene Teilnehmer können sich für entsprechende Topics anmelden (subscriben) und bekommen dadurch die Nachrichten weitergeleitet. Oft befinden sich die Broker in der Cloud und die MQTT-Verbindungen sind der Kanal für die Daten in die Cloud-Plattformen.

150 Treiber als MQTT-Quelle nutzen und als JSON versenden

Für alle Geräte und Sensoren, die noch nicht Daten per MQTT senden können, ist der Kepware OPC Server das ideale MQTT-Gateway. Der Kepware OPC Server implementiert über 150 verschiedene Automatisierungsprotokolle und kann damit verschiedenste Datenquellen anbinden. Mit seinem IoT Gateway kann er die Datenpunkte dieser Treiber als MQTT Datenpakete verpacken und an einen angebundenen Broker senden. OPC UA Daten lassen sich somit per MQTT versenden. Dadurch kann dann eine Cloud-Plattform mit einer riesigen Menge an Daten aus der Automatisierungsebene versorgt werden. Die Daten werden in eine anpassbare JSON Struktur verpackt:

{
"timestamp": |SERVERTIMESTAMP|,
"values": [
|#each VALUES|
{"id": "|TAGNAME|", "v": |VALUE|, "q": |QUALITY|, "t": |TIMESTAMP| } |#unless @last|,|/unless|
|/each|
]
}

Über die verschieden positionierbaren Felder SERVERTIMESTAMP, TAGNAME, VALUE, QUALITY, TIMESTAMP können die Datenpunktwerte (VALUES) im JSON-Dokument platziert werden. Die Datenübertragung kann zyklisch erfolgen, sodass ein Daten-Stream entsteht oder bei Änderung der Daten.

MQTT Broker & Cloud Plattformen

Durch die Standardisierung von MQTT können verschiedene Broker oder Cloud-Plattformen verwendet werden. Zum Testen und für kleine Projekt eignet sich der Mosquitto Broker . Ein verbreiteter kommerzieller Broker ist z. B. HiveMQ.

Als Cloud-Plattformen sind folgende als bekannteste verfügbar: Amazon AWS, Microsoft Azure, IBM Watson, Google Cloud Platform, Alibaba Cloud u.v.a.m.

REST API

Neben MQTT kann der Kepware OPC Server mit dem IoT Gateway auch die REST Schnittstelle bedienen. Er kann dabei als REST Client und als REST Server arbeiten.

REST Client

Wenn das IoT Gateway als Client arbeitet, dann werden die Daten per HTTP POST oder PUT an einen Endpunkt übergeben. Datenformat ist hier, genau wie bei MQTT, ein konfigurierbares JSON Dokument.

REST Server

Im REST Server Modus stellt das IoT Gateway eine eigene REST API zur Verfügung. Über diese API können die Funktionen “browse”, “read” und “write” aufgerufen werden. Damit können die verfügbaren Datenpunkte ermittelt (browse), sowie gelesen und beschrieben werden (read/write). Der Datenaustausch erfolgt ebenfalls über JSON Dokumente.