Hoe kunnen we helpen?

Print

Beginnersgids voor het MQTT-protocol


Wat is MQTT?

MQTT is een Machine-to-Machine (M2M) gegevensoverdrachtprotocol waarmee SCADA-systemen toegang hebben tot IIoT-gegevens. Het wordt beschouwd als een van de toonaangevende berichtenprotocollen voor het Industrial Internet of Things (IIoT).

MQTT is een berichtenprotocol, d.w.z. het is ontworpen voor de overdracht van berichten en gebruikt een publish and subscribe model.

Hoe werkt MQTT?

MQTT is een publish/subscribe protocol waarmee randapparaten kunnen publiceren naar een broker. Klanten maken verbinding met deze broker, die vervolgens de communicatie tussen de twee apparaten verzorgt. … Wanneer een andere client een bericht publiceert op een onderwerp waarop hij zich heeft geabonneerd, stuurt de broker het bericht door naar elke client die zich heeft geabonneerd.

Term Uitleg
Diagram
Client Een programma of apparaat dat MQTT gebruikt. Client:

  • opent de netwerkverbinding met de server
  • publiceert applicatieberichten die andere clients
  • zich abonneert om toepassingsberichten op te vragen
  • zich afmeldt om een verzoek voor toepassingsberichten te verwijderen
  • sluit de netwerkverbinding met de server
Server (Broker) Een programma of apparaat dat optreedt als tussenpersoon tussen Clients die Applicatieberichten publiceren en Clients die Abonnementen hebben gemaakt. Server:

  • accepteert netwerkverbindingen van clients
  • accepteert door Clients gepubliceerde Applicatieberichten
  • verwerkt Abonnements- en Afmeldingsverzoeken van Clients
  • stuurt applicatieberichten door die overeenkomen met abonnementen van cliënten
  • sluit de netwerkverbinding van de client
Verbinding Verbindt de client met de server. Biedt de mogelijkheid om een geordende, verliesvrije stroom bytes in beide richtingen te versturen.
Sessie Een statische interactie tussen een client en een server.
Sommige sessies duren net zo lang als de netwerkverbinding, andere kunnen meerdere opeenvolgende netwerkverbindingen tussen een client en een server omvatten.
Abonnement Subscription bestaat uit een Topic Filter en een maximale QoS. Een abonnement is gekoppeld aan een enkele sessie. Een Sessie kan meer dan één Subscription bevatten. Elk abonnement binnen een sessie heeft een ander onderwerpfilter.
Onderwerpfilter Een uitdrukking in een Abonnement om een interesse in een of meer onderwerpen aan te geven. Een onderwerpfilter kan jokertekens bevatten.
Onderwerpnaam Het label dat aan een Application Message is gekoppeld en dat wordt vergeleken met de Subscriptions die bij de Server bekend zijn.
Toepassingsbericht De gegevens die door het MQTT-protocol over het netwerk worden getransporteerd voor de applicatie.
Wanneer een Application Message door MQTT wordt getransporteerd, bevat het:

  • payloadgegevens,
  • een Quality of Service (QoS),
  • een verzameling eigenschappen,
  • een topicnaam.
Will-bericht Een applicatiebericht dat door de server wordt gepubliceerd nadat de netwerkverbinding is verbroken.
QoS 0 Hooguit één keer afleveren
Het bericht wordt afgeleverd volgens de mogelijkheden van het onderliggende netwerk. Er wordt geen antwoord verstuurd door Sever en er wordt geen retry uitgevoerd door de Client. Het bericht komt één keer of helemaal niet aan bij de server.
QoS 1 Ten minste één keer toegewijd
Een QoS 1 PUBLISH pakket verzonden door de client wordt bevestigd door een PUBACK pakket verzonden door de server. Het bericht komt één of meerdere keren aan bij de server.
QoS 2 Precies één keer levering
Het PUBLISH pakket van de server bevestigt de ontvangst met een tweestaps bevestigingsproces. Voor gebruik wanneer noch verlies noch duplicatie van berichten acceptabel zijn. Er is een verhoogde overhead geassocieerd met QoS 2.