Wie können wir helfen?

Print

Leitfaden für Einsteiger in das MQTT-Protokoll

 

Was ist MQTT?

MQTT ist ein Machine-to-Machine (M2M) Datenübertragungsprotokoll, das SCADA-Systemen den Zugriff auf IIoT-Daten ermöglicht. Es gilt als eines der führenden Messaging-Protokolle für das industrielle Internet der Dinge (IIoT).

MQTT ist ein Messaging-Protokoll, d. h. es wurde für die Übertragung von Nachrichten entwickelt und verwendet ein Publish-and-Subscribe-Modell.

Wie funktioniert MQTT?

MQTT ist ein Publish/Subscribe-Protokoll, das es Edge-of-Network-Geräten ermöglicht, Nachrichten an einen Broker zu senden. Clients stellen eine Verbindung zu diesem Broker her, der dann die Kommunikation zwischen den beiden Geräten vermittelt. … Wenn ein anderer Client eine Nachricht zu einem abonnierten Thema veröffentlicht, leitet der Broker die Nachricht an jeden Client weiter, der sie abonniert hat.

Begriff Erläuterung
Schaubild
Klient Ein Programm oder Gerät, das MQTT verwendet. Klient:

  • öffnet die Netzwerkverbindung zum Server
  • veröffentlicht Anwendungsnachrichten, die andere Clients
  • abonniert, um Anwendungsnachrichten anzufordern
  • meldet sich ab, um eine Anforderung von Anwendungsnachrichten zu entfernen
  • schließt die Netzwerkverbindung zum Server
Server (Vermittler) Ein Programm oder Gerät, das als Vermittler zwischen Clients, die Anwendungsnachrichten veröffentlichen, und Clients, die Abonnements abgeschlossen haben, fungiert. Server:

  • nimmt Netzwerk-Verbindungen von Clients an
  • nimmt von Clients veröffentlichte Anwendungsnachrichten entgegen
  • verarbeitet Abonnement- und Abbestellungsanfragen von Clients
  • leitet Anwendungsnachrichten weiter, die mit Client-Abonnements übereinstimmen
  • schließt die Netzwerkverbindung vom Client
Verbindung Verbindet den Client mit dem Server. Bietet die Möglichkeit, einen geordneten, verlustfreien Strom von Bytes in beide Richtungen zu senden.
Sitzung Eine zustandsabhängige Interaktion zwischen einem Client und einem Server.
Einige Sitzungen dauern nur so lange wie die Netzwerkverbindung, andere können mehrere aufeinanderfolgende Netzwerkverbindungen zwischen einem Client und einem Server umfassen.
Abonnement Eine Subskription umfasst einen Themenfilter und eine maximale QoS. Eine Subscription ist mit einer einzigen Session verbunden. Eine Sitzung kann mehr als eine Subscription enthalten. Jede Subscription innerhalb einer Session hat einen anderen Topic Filter.
Themenfilter Ein Ausdruck, der in einer Subscription enthalten ist, um ein Interesse an einem oder mehreren Themen anzugeben. Ein Themenfilter kann Platzhalterzeichen enthalten.
Themenname Die einer Anwendungsnachricht beigefügte Bezeichnung, die mit den dem Server bekannten Abonnements abgeglichen wird.
Anwendungsnachricht Die Daten, die vom MQTT-Protokoll über das Netzwerk für die Anwendung übertragen werden.
Wenn eine Anwendungsnachricht durch MQTT transportiert wird, enthält sie:

  • nutzdaten,
  • eine Dienstgüte (QoS),
  • eine Sammlung von Eigenschaften,
  • einen Themennamen.
Will-Nachricht Eine Anwendungsnachricht, die vom Server veröffentlicht wird, nachdem die Netzwerkverbindung unterbrochen wurde.
QoS 0 Höchstens einmalige Zustellung
Die Nachricht wird entsprechend den Möglichkeiten des zugrunde liegenden Netzes zugestellt. Der Server sendet keine Antwort und der Client versucht es nicht erneut. Die Nachricht kommt beim Server entweder einmal oder gar nicht an.
QoS 1 Mindestens einmal devilery
Ein vom Client gesendetes QoS 1 PUBLISH-Paket wird durch ein vom Server gesendetes PUBACK-Paket quittiert. Die Nachricht kommt beim Server einmal oder mehrmals an.
QoS 2 Exakt einmalige Zustellung
Das PUBLISH-Paket des Servers quittiert den Empfang mit einem zweistufigen Bestätigungsverfahren. Wird verwendet, wenn weder Verlust noch Duplizierung von Nachrichten akzeptabel sind. Mit QoS 2 ist ein erhöhter Overhead verbunden.