Eine kurze Analyse des Standardprotokolls MQTT für das Internet der Dinge

MQTT (Message Queuing Telemetry Transport) ist ein Client-Server-Protokoll für den Publish/Subscribe-Nachrichtenaustausch, das ressourcenschonend, offen, einfach, übersichtlich aufgebaut und leicht zu implementieren ist. Obwohl HTTP der etablierte Standard für Webseiten ist, ist das bisherige Anfrage-Antwort-Modell (Request/Response) für die Kommunikation in großem Maßstab zwischen Maschinen (Machine-to-Machine, M2M) nicht mehr geeignet und wird durch den Publish/Subscribe-Modus ersetzt. Daher ist MQTT bereits heute ein unverzichtbares Standardprotokoll für das Internet der Dinge.

DTU/Edge-Gateway/IoT-Plattform/Gateway-ModulDTU/Edge-Gateway/IoT-Plattform/Gateway-Modul

Aufgrund seiner Eigenschaften eignet sich MQTT ideal für den Einsatz in vielen Situationen, darunter auch in Umgebungen mit begrenzten Ressourcen wie Machine-to-Machine (M2M) und dem Internet der Dinge (IoT).

Das Protokoll läuft über TCP/IP oder andere Netzwerkprotokolle, die geordnete, verlustfreie und bidirektionale Verbindungen bereitstellen. Zu seinen Funktionen gehören:

– Nutzen Sie das Publish/Subscribe-Messaging-Modell, um eine „Eins-zu-Viele“-Nachrichtenverteilung und die Entkopplung von Anwendungen zu ermöglichen.

– Der Transport von Nachrichten ist unabhängig vom Inhalt der Nutzdaten.

– Drei Servicequalitäten für den Nachrichtenversand:

  • “Höchstens einmal” – Nachrichten werden je nach Betriebsumgebung nach bestem Bemühen zugestellt. Es kann zu Nachrichtenverlusten kommen. Diese Stufe könnte beispielsweise für Umgebungssensordaten verwendet werden, bei denen es keine Rolle spielt, wenn ein einzelner Messwert verloren geht, da der nächste Messwert bald übermittelt wird.
  • “Mindestens einmal” stellt sicher, dass die Nachricht ankommt, es kann jedoch zu Doppelübermittlungen kommen.
  • “Genau einmal” stellt sicher, dass die Nachricht genau einmal ankommt. Diese Stufe kann beispielsweise in einem Abrechnungssystem verwendet werden, in dem doppelte oder fehlende Nachrichten zu falschen Abrechnungen führen können.

– Minimierung des Übertragungsaufwands und der Protokollwechsel, wodurch der Netzwerkverkehr reduziert wird.

– Ein Mechanismus, der die betroffenen Parteien benachrichtigt, wenn es zu einer ungewöhnlichen Unterbrechung der Verbindung kommt.

Kunde:

Bei einem Programm oder Gerät, das MQTT nutzt, baut der Client stets eine Netzwerkverbindung zum Server auf, was dazu führen kann, dass

  • Veröffentlichen Sie Neuigkeiten zu Ihrer Bewerbung, die für andere Kunden von Interesse sein könnten.
  • Abonnieren Sie die Nachrichten der anfragenden Anwendung, an deren Empfang sie interessiert ist.
  • Melden Sie sich ab, um Anfragen nach Anwendungsnachrichten zu deaktivieren.
  • Trennen Sie die Verbindung zum Server.

Server:

Ein Programm oder Gerät, das als Vermittler zwischen Clients, die Anwendungsnachrichten veröffentlichen, und Clients, die diese abonniert haben, fungiert: ein Server

  • Netzwerkverbindungen von Clients akzeptieren.
  • Nimmt vom Client veröffentlichte Anwendungsnachrichten entgegen.
  • Bearbeitet Abonnement- und Abmeldeanfragen von Kunden.
  • Leite Anwendungsnachrichten weiter, die dem Abonnement des Clients entsprechen.

Anwendungsmeldung:

Das MQTT-Protokoll ermöglicht es Anwendungen, Daten über Netzwerke hinweg zu übertragen. Wenn MQTT Anwendungsnachrichten überträgt, sind diesen eine bestimmte Dienstgüte sowie Themennamen zugeordnet.

Abonnement:

Abonnements umfassen Themenfilter und eine maximale QoS. Abonnements sind einer einzelnen Sitzung zugeordnet. Eine Sitzung kann mehrere Abonnements enthalten. Jedes Abonnement in einer Sitzung verfügt über einen eigenen Themenfilter.

Sitzung:

Zustandsbehaftete Interaktion zwischen Client und Server. Manche Sitzungen dauern nur so lange wie die Netzwerkverbindung, andere können sich über mehrere aufeinanderfolgende Netzwerkverbindungen zwischen Client und Server erstrecken.

Themenbezeichnung:

Bezeichnung für Anwendungsnachrichten, die mit den dem Server bekannten Abonnements übereinstimmen. Der Server sendet eine Kopie der Anwendungsnachricht an jeden Client mit einem passenden Abonnement.

Themenfilterung:

Ein in einem Abonnement enthaltener Ausdruck, der das Interesse an einem oder mehreren Themen angibt. Themenfilter können Platzhalterzeichen enthalten.

MQTT-Steuerungspaket:

Ein über eine Netzwerkverbindung gesendetes Datenpaket. Die MQTT-Spezifikation definiert 14 verschiedene Arten von Steuerpaketen, von denen eines (das „Publish-Paket“) zur Übermittlung von Anwendungsnachrichten dient.

Über mich
e87d0ef219292bb40d6f120e7d321bcb?s=150&d=mp&r=g
Weitere Beiträge