Was MQTT ist und warum es für das Internet of Things wichtig ist

MQTT

Was ist MQTT?

Das erste, was Sie über MQTT wissen müssen, ist, dass es für Message Queuing Telemetry Transport steht. Dabei handelt es sich um ein Standard-Nachrichtenprotokoll, das speziell für den Einsatz in IoT-Anwendungen entwickelt wurde.

MQTT wurde von Andy Stanford-Clark und Arlen Nipper entwickelt, die im Softwarelabor von IBM in Cambridge arbeiteten. Das Protokoll ist im Internet of Things sehr populär geworden, da es ein Publish-and-Subscribe-Modell bietet, mit dem sich leicht Verbindungen zwischen verschiedenen Geräten oder Sensoren herstellen lassen.

Das MQTT-Protokoll basiert auf TCP/IP unter dem OASIS-Standard.

Wie funktioniert MQTT?

Wie bereits erwähnt, folgt das MQTT-Protokoll einem Publish-and-Subscribe-Modell. Das Publish-and-Subscribe-Modell ist so konzipiert, dass Nachrichten in beide Richtungen zwischen Client und Server gesendet werden können. Dies ermöglicht es IoT-Geräten, unabhängig von ihrem geografischen Standort eine Verbindung zueinander herzustellen. Das MQTT-Protokoll garantiert, dass Nachrichten auch dann zugestellt werden, wenn die Netzwerke unzuverlässig sind oder nicht reagieren. Es verwendet ein Bestätigungssystem, das beide Seiten wissen lässt, ob die Daten korrekt empfangen wurden oder nicht.

Werfen wir einen genaueren Blick auf das Publish-and-Subscribe-Modell.

Das Veröffentlichungs- und Abo-Modell

Bei diesem Modell sendet ein Gerät, der so genannte Publisher, Nachrichten an jedes andere Gerät, das daran interessiert ist, sie zu empfangen (Subscriber) – dies kann ein einzelner Sensor oder eine andere Art von mit dem Internet verbundener Maschine wie ein Server sein.

Die Geräte, die Daten vom Publisher empfangen möchten, werden als Subscriber bezeichnet und senden eine Bestätigung zurück, wenn sie die Nachricht korrekt empfangen haben.

Die Publisher und Subscriber des Systems interagieren nicht direkt miteinander. Stattdessen kümmert sich ein Broker um die Verbindung zwischen den beiden Einheiten, indem er alle eingehenden Nachrichten filtert und sie an die richtigen Subscriber verteilt.

Das MQTT-Protokoll stellt diese Konzepte mit dem MQTT-Broker, den MQTT-Clients und den MQTT-Topics dar, wie nachfolgend beschrieben.

MQTT-Broker

Der Broker ist das Herzstück des Systems. Er ist dafür verantwortlich, alle Nachrichten zu empfangen, sie zu filtern und sie an die Subscriber, also die MQTT-Clients, zu senden. Ein MQTT-Broker kann potenziell Millionen von verbundenen MQTT-Clients verwalten.

MQTT-Client

Ein Client ist im Grunde ein Gerät, das mit dem Broker interagieren kann, um Nachrichten zu senden und zu empfangen. Ein Client kann ein winziger IoT-Sensor sein, der in regelmäßigen Abständen Daten liefert, oder eine intelligente Anwendung auf einem Computer mit einer grafischen Darstellung der IoT-Daten.

Ein Client kann ein bestimmtes Thema im Broker abonnieren, um die entsprechenden Nachrichten zu diesem Thema zu erhalten. Ebenso kann ein Client Nachrichten unter einem bestimmten Thema veröffentlichen, die vom Broker an die Subscriber dieses Themas weitergeleitet werden.

MQTT-Topics

Topics werden verwendet, um das Interesse an einem bestimmten eingehenden Nachrichtentyp zu registrieren und umgekehrt anzugeben, wo ausgehende Nachrichten veröffentlicht werden sollen.

Ein MQTT-Topic kann mehrere Topic-Ebenen enthalten, die durch einen Schrägstrich getrennt sind.

Hier sind einige Beispiele für Topics:

mycompany/meetingroom/temperature

mycompany/meetingroom/lamp

Hier sind einige Beispiele für Topics

Das obige Diagramm zeigt eine mögliche Implementierung der zuvor beschriebenen MQTT-Topics. Hier dient die akenza-Plattform als MQTT-Broker im System.

Warum MQTT für das IoT wichtig ist

In den letzten Jahren hat sich MQTT zu einem der wichtigsten Protokolle für IoT-Lösungen entwickelt. Dies ist auf mehrere Faktoren zurückzuführen.

Erstens ist es eines der leichtesten Protokolle, die derzeit im IoT verwendet werden. Es ist ein offener Standard, der auf jeder Hardware oder Software implementiert werden kann. Client-Bibliotheken sind für alle wichtigen Programmiersprachen verfügbar, so dass es einfach ist, IoT-Anwendungen mit MQTT zu entwickeln.

Dank des Publish-and-Subscribe-Modells ermöglicht die Flexibilität, die MQTT bietet, die Unterstützung verschiedener Arten von Anwendungsfällen und IoT-Projektarchitekturen. Beachten Sie, dass Publisher und Subscriber des Systems nicht einmal von der Existenz des jeweils anderen wissen müssen, da der Broker alle Verbindungen abwickelt.

Das Protokoll ermöglicht die Implementierung hoch skalierbarer Projekte, die möglicherweise Millionen von IoT-Geräten in einem System verbinden. Die bidirektionale Kommunikation von MQTT ermöglicht das Versenden von Nachrichten an große Gruppen von Geräten.

Schließlich unterstützt MQTT zahlreiche Authentifizierungs- und Datensicherheitsmechanismen wie die TLS-Verschlüsselung.

Wie man ein Arduino-Gerät über MQTT in akenza integriert

Die akenza IoT-Plattform unterstützt die Anbindung von IP-fähigen Geräten über MQTT (zusätzlich zu HTTP, CoAP und LoRaWAN) und fungiert als MQTT-Broker im System.

Um Ihnen den Einstieg in MQTT auf akenza zu erleichtern, haben wir ein kurzes Tutorial vorbereitet, das Sie in wenigen einfachen Schritten durch die Integration eines Arduino-Geräts über MQTT führt:

Wie man ein Arduino-Gerät über MQTT in akenza integriert

Wie man ein Arduino-Gerät über MQTT in akenza integriert

You May Also Like

About the Author: John Taylor

Leave a Reply

Your email address will not be published. Required fields are marked *