IoT-protocol

Industrieel MQTT: het berichtenprotocol voor het IoT

MQTT voor het industriële IoT: werking, QoS-niveaus, MQTT-broker, TLS-beveiliging, Sparkplug B en vergelijking met HTTP/AMQP.

In het kort
MQTT (Message Queuing Telemetry Transport) is het standaardberichtenprotocol voor het industriële IoT. Het is ontworpen voor verbindingen met lage bandbreedte en hoge latentie en is gebaseerd op een model publiceren/abonneren : de gateways publiceren de gegevens op topics, en het cloudplatform abonneert zich op deze topics om ze in realtime te ontvangen. Het is ultralicht (header van 2 bytes), ondersteunt drie niveaus van Quality of Service (QoS 0, 1, 2) en TLS-versleuteling.

Waarom MQTT zich heeft doorgezet in het industriële IoT

Het industriële IoT genereert dagelijks miljoenen meetwaarden: sensoren die elke minuut gegevens doorgeven, PLC’s die elke seconde statusmeldingen versturen, meters die elk uur hun stand doorgeven. Deze gegevensstromen moeten op een betrouwbare, efficiënte en veilige manier worden verzonden.

MQTT voldoet precies aan deze behoeften:

  • Ultralicht — headers van 2 tot 5 bytes. HTTP/REST genereert honderden bytes aan headers voor een payload van slechts enkele bytes.
  • Permanente verbinding — de gateway maakt één keer verbinding met de broker en houdt de verbinding in stand. Geen TCP-handshake bij elk bericht.
  • Publish/Subscribe — meerdere abonnees (cloudmonitoring, ERP, BI) kunnen dezelfde gegevens ontvangen zonder dat de gateway hiervan op de hoogte is.
  • Configureerbare QoS — afhankelijk van de kriticiteit van de gegevens.
  • Veerkracht — berichten worden opgeslagen als de client tijdelijk is losgekoppeld (retain, persistent session).

Industriële MQTT-architectuur

MQTT-onderwerpen: structuur en beste praktijken

Een MQTT-topic is een hiërarchische reeks die wordt gescheiden door /:

eziwan/{site_id}/{apparatuur}/{variabele}

Exemples :
eziwan/pompstation-01/besturingskast/persdruk
eziwan/site-pompage-01/compteur/energie_kwh
eziwan/batiment-paris/cvc/temperature_zone_a

Aanbevolen werkwijzen voor naamgeving:

  • Vermeld altijd de site-ID om op site te kunnen filteren.
  • Splits de gegevenstypen (meting, status, alarm, commando) op in afzonderlijke topics.
  • Gebruik leesbare namen, geen onduidelijke codes.
  • Vermijd te brede topics (eziwan/#) voor abonnementen in productie.

QoS-niveaus: welke keuze voor de industrie?

QoSGarantieOverheadAanbevolen gebruik
0Maximaal één keer (best-effort)MinimaalFrequente metingen (1/s), verlies toegestaan
1Minstens één keer (met bevestiging)LaagStandaardmonitoring, waarschuwingen
2Precies één keer (4 uitwisselingen)GemiddeldCommando’s, kritieke gegevens

Voor typische industriële IoT-monitoring (metingen om de 5 tot 60 seconden) is QoS 1 het juiste compromis: voldoende betrouwbaarheid, aanvaardbare overhead.

MQTT versus HTTP voor het IoT: een vergelijking

CriteriumMQTTHTTP/REST
ModelPublish/SubscribeVerzoek/Antwoord
Overheadgrootte2–5 bytes200–400 bytes
VerbindingPersistentPer verzoek (of keep-alive)
GegevenspushNative (subscribe)Polling of WebSocket
Latentie< 50 ms100–500 ms
Meerdere abonneesNativeWebhooks/externe wachtrijen
Geschikt voor IoT met lage bandbreedte★★★★★★★

De Eziwan-aanpak

De Eziwan Gateway implementeert een MQTT-client die de verzamelde Modbus/OPC UA-gegevens publiceert naar de MQTT-broker van de Eziwan Cloud. De topics worden automatisch gegenereerd op basis van de configuratie van elk apparaat. De gegevensoverdracht is beveiligd met TLS en authenticatie via een clientcertificaat — er worden nooit onbeveiligde MQTT-verbindingen gebruikt.

Meer informatie: Modbus Cloud, industriële IoT-gateway en monitoring van externe locaties.

Veelgestelde vragen

Zie ook