MQTT is een steeds populairder wordend protocol, met name om data van fysieke devices naar de cloud te transporteren.

Want ondanks dat dit protocol al meer dan 20 jaar bestaat blijkt het bijzonder geschikt om het Internet of Things dat de laatste jaren zo sterk in opkomst is mede vorm te geven. In dit stukje gaan we in op de achterliggende redenen daarvoor en hoe u zelf aan de slag kunt met MQTT.

Kenmerken van MQTT

De voornaamste reden voor zijn populariteit heeft het MQTT protocol te danken aan zijn eenvoud. Het is een lichtgewicht protocol dat op een efficiënte manier gebruik kan maken van de beschikbare bandbreedte. Daarnaast is het protocol zeer flexibel in te richten op het gebied van Quality of Service en maakt het gebruik van het publish/subscribe principe in plaats van het traditionele client/server.

MQTT Broker

In een publish/subscribe communicatie model zit een grote mate van onafhankelijkheid. De clients publiceren namelijk zelf data wanneer zij dat willen en zij kunnen zich ook abonneren op data in welke mate ze dat willen. Een centrale rol is hier weggelegd voor de zogenaamde “broker”, de spil in het web die de communicatie tussen publishers en subscribers in goede banen leidt. Zodra de broker een bericht van een publisher binnenkrijgt, stuurt hij dat door naar alle clients die op dat bericht geabonneerd zijn. Er zijn verschillende soorten MQTT brokers op de markt, van commerciële (meest bekende is HiveMQ) tot open source (meest bekende is Mosquito).

Topics en Payload

Naast de flexibele opzet in communicatie architectuur is ook de inhoud van de berichten naar eigen inzicht in te vullen. Berichten kunnen gestructureerd worden aan de hand van zogenaamde Topics: een hiërarchische verwijzing naar een bepaald onderwerp vergelijkbaar met een URL. Op die locatie kunnen dan verschillende berichten geplaatst worden met vrij in te vullen inhoud, oftewel de payload. Vaak wordt hiervoor het JSON-format voor gebruikt, wat een voor mensen makkelijk leesbare en interpreteerbare tekst oplevert.

Wat is Sparkplug B

Om toch enig houvast te bieden aan clients en brokers over de structuur van de data wordt Sparkplug B vaak als standaard gebruikt. Sparkplug B voegt metadata toe aan de inhoud zodat subscribers zelf kunnen interpreteren welke en wat voor soort data ze binnen krijgen. MQTT clients die Sparkplug B ondersteunen kunnen op deze manier makkelijker met elkaar communiceren.

MQTT in Industriële Automatisering

Zoals gezegd neemt het gebruik van MQTT steeds grotere vormen aan, ook in de industriële automatisering. Grote cloudproviders als Microsoft, Google en Amazon prefereren dit protocol om data op te nemen en bieden dan ook MQTT entrypoints aan zoals Azure IoT Hub. Aan de andere kant is het vanwege de eenvoud van het protocol mogelijk om een MQTT client te embedden op allerlei soorten devices: van complete Windows systemen tot kleine Raspberry Pi’s en Arduino boards. Er zijn tegenwoordig zelfs al sensoren die hun data rechtstreeks in MQTT kunnen publiceren.

Producten met MQTT Support

Daarnaast bieden veel data-ontsluiting en opslag producten vandaag de dag standaard een MQTT connector. Hierbij een kort overzicht met links naar verdere detail informatie.
- Kepware IoT Gateway
- OPC Router MQTT Client Plugin
- Proficy Historian MQTT Data Collector
- Proficy Historian Server to Azure IoT Hub
- Cogent Datahub IoT Gateway
- HighByte Intelligence Hub

Mocht u meer willen weten hoe u zelf MQTT in uw eigen omgeving kunt toepassen, neem dan contact op met een van onze product specialisten.