Was ist MQTT?

MQTT – Message Queuing Telemetry Transport

Message Queuing Telemetry Transport ist ein Nachrichtenprotokoll für eingeschränkte Netzwerke (geringe Bandbreite) und IoT-Geräten mit extrem hoher Latenzzeit. Da Message Queuing Telemetry Transport auf Umgebungen mit niedriger Bandbreite und hoher Latenz spezialisiert ist, ist es ein ideales Protokoll für die Machine-to-Machine-Kommunikation (M2M). Im IoT und IIoT wird MQTT bis hin zu Anbindung von Cloud Umgebungen eingesetzt.

MQTT Broker / MQTT Client Struktur

Was ist ein MQTT-Broker?

Der MQTT-Broker steht im Mittelpunkt jedes Publish / Subscribe-Protokolls. Abhängig von der Implementierung kann ein Broker bis zu Tausende gleichzeitig verbundene MQTT Client verwalten. Der Broker ist dafür verantwortlich, alle Nachrichten zu empfangen, die Nachrichten zu filtern, zu bestimmen, wer die einzelnen Nachrichten abonniert hat, und die Nachricht an diese abonnierten Clients zu senden. Der Broker hält auch die Sitzungen aller persistenten Clients ab, einschließlich Abonnements und entgangenen Nachrichten. Eine weitere Aufgabe des Brokers ist die Authentifizierung und Autorisierung von Clients. Normalerweise ist der Broker erweiterbar, was die benutzerdefinierte Authentifizierung, Autorisierung und Integration in Backend-Systeme erleichtert. Die Integration ist besonders wichtig, da der Broker häufig die direkt im Internet offengelegte Komponente ist, viele Clients bedient und Nachrichten an nachgelagerte Analyse- und Verarbeitungssysteme weiterleiten muss. Kurz gesagt, der Broker ist der zentrale Knotenpunkt, durch den jede Nachricht geleitet werden muss. Daher ist es wichtig, dass Ihr Broker hochgradig skalierbar, in Backend-Systeme integrierbar, einfach zu überwachen und natürlich ausfallsicher ist.

Wofür steht MQTT?

Es steht für MQ Telemetry Transport. Es ist ein extrem einfaches und leichtes Messaging-Protokoll (subscribe and publish), das für eingeschränkte Geräte und Netzwerke mit hoher Latenz, geringer Bandbreite oder unzuverlässigen Netzwerken entwickelt wurde. Die Konstruktionsprinzipien dienen dazu, die Anforderungen an die Netzwerkbandbreite und die Ressourcen von Geräten zu verringen und die Sicherheit der Versorgung gewährleisten zu können. Außerdem sind diese Prinzipien für M2M (Machine-to-Machine) oder IoT-Geräte von Vorteil, da die Akkuleistung und die Bandbreite sehr wichtig sind.

Wofür wird MQ Telemetry Transport im IoT (Internet of Things) verwendet?

Mit MQ Telemetry Transport können ressourcenbeschränkte IoT-Geräte Informationen zu einem bestimmten Topic (Thema) an einen Server senden oder veröffentlichen, der als MQTT-Nachrichtenbroker fungiert. Der Broker überträgt die Informationen dann an diejenigen Kunden, die das Topic des Kunden zuvor abonniert haben. Für einen Menschen sieht ein Thema wie ein hierarchischer Dateipfad aus. Kunden können eine bestimmte Hierarchieebene eines Topics abonnieren oder ein Platzhalterzeichen verwenden, um mehrere Stufen zu abonnieren.
Das MQTT-Protokoll ist eine gute Wahl für drahtlose Netzwerke, die aufgrund gelegentlicher Bandbreiteneinschränkungen oder unzuverlässiger Verbindungen unterschiedliche Latenzzeiten aufweisen. Sollte die Verbindung von einem abonnierenden Client zu einem Broker unterbrochen werden, puffert der Broker die Nachrichten und sendet sie an den Abonnenten, wenn dieser wieder online ist. Wenn die Verbindung vom Publishing-Client zum Broker ohne Benachrichtigung getrennt wird, kann der Broker die Verbindung trennen und den Abonnenten eine zwischengespeicherte Nachricht mit Anweisungen des Publishers senden.

Was ist ein MQTT-Topic?

Das Wort Topic (Thema) bezieht sich auf eine UTF-8-Zeichenfolge, die der Broker zum Filtern von Nachrichten für jeden verbundenen Client verwendet. Das Topic besteht aus einer oder mehreren Themenebenen. Jede Themenebene ist durch einen Schrägstrich (Themenebenen-Trennzeichen) getrennt. Im Vergleich zu einer Nachrichtenwarteschlange sind MQTT-Topics sehr einfach. Der Client muss das gewünschte Thema nicht erstellen, bevor er es veröffentlicht oder abonniert. Der Broker akzeptiert jedes gültige Topic ohne vorherige Initialisierung. Beachten Sie, dass jedes Topic mindestens ein Zeichen enthalten muss und dass die Themenzeichenfolge Leerzeichen zulässt. Bei den Themen wird zwischen Groß- und Kleinschreibung unterschieden. Beispielsweise sind _myhome / temperature und _MyHome / Temperature zwei verschiedene Themen. Außerdem ist der Schrägstrich allein ein gültiges Thema.
Im Allgemeinen können Sie Ihre MQTT-Topics nach Belieben benennen. Es gibt jedoch eine Ausnahme: __ Topics, die mit einem $ -Symbol beginnen, haben einen anderen Zweck. __ Diese Themen sind nicht Teil des Abonnements, wenn Sie den mehrstufigen Platzhalter als Topic (#) abonnieren. Die $ -Symbol-Themen sind für interne Statistiken des MQTT-Brokers reserviert. Kunden können keine Nachrichten zu diesen Themen veröffentlichen. Derzeit gibt es keine offizielle Standardisierung für solche Tpics. Normalerweise wird $ SYS / für alle folgenden Informationen verwendet, die Implementierung von Brokern variiert jedoch. Ein Vorschlag für $ SYS-Themen ist das MQTT-GitHub-Wiki.

Wann sollte man MQ Telemetry Transport nutzen, und wann nicht?

Mit Message Queuing Telemetry Transport werden Daten von einer großen Anzahl von Maschinen an ein einziges Ziel – die Cloud – gesendet, wo die Daten analysiert, interpretiert und weitergeleitet werden können.
Die Cloud beherbergt einen MQTT-Broker – einen Vermittler zwischen Maschinen und anderen Maschinen und / oder Menschen. Und dies ist eine wichtige Unterscheidung, da die Maschinen nicht direkt miteinander kommunizieren, sondern über den Broker.
MQTT verwendet das Konzept der „Themen“, um seine Daten zu organisieren, und ein Publish / Subscribe-Modell, um die Themen über die Cloud an andere Parteien zu kommunizieren.
Zum Beispiel: Ein Klimasystem-System sendet (oder veröffentlicht) Daten zum Thema „Gesundheitszustand“ seiner Kompressoren an die Cloud. Alle interessierten Parteien mit genehmigten Anmeldeinformationen – Maschine oder Mensch – können dieses Thema abonnieren, um die Informationen zu erhalten.
Abonnenten können Wartungstechniker (Menschen), Teilebeschaffungssysteme (Software/Maschine) oder Wartungsplanungssysteme (Software/Maschine) sein.
Plötzlich steht jeder Aspekt des Lebenszyklus einer Maschine zur Prüfung zur Verfügung, und dies stellt eine aufregende und tiefgreifende Gelegenheit dar, mit diesen Informationen in Verbindung zu treten, um Fehler zu finden, Kosten einzusparen, die Effizienz zu steigern und die Planung zu planen das Internet der Dinge.

Wie kann man einfach starten mit MQ Telemetry Transport ?

Für den einfachen Start eignet sich Mosquitto. Eclipse Mosquitto ist ein Open Source-Broker (EPL / EDL-lizenziert), der die MQTT-Protokollversionen 3.1 und 3.1.1 implementiert. Mosquitto ist leicht und eignet sich für alle Geräte, von Single-Board-Computern mit niedrigem Stromverbrauch bis zu vollständigen Servern.
Das MQTT-Protokoll bietet eine einfache Methode zur Durchführung von Messaging mithilfe eines Publish / Subscribe-Modells. Dadurch eignet es sich für das Internet of Things-Messaging, beispielsweise für Sensoren mit geringer Leistung oder für mobile Geräte wie Telefone, eingebettete Computer oder Mikrocontroller.
Mosquitto ist Teil der Eclipse Foundation und ist ein Projekt von iot.eclipse.org. Der Download für Mosquitto steht auf der Projektseite zur Verfügung. Mit Mosquitto lassen sich OPC Router Verbindungen einfach testen.

MQTT Client Verbindungen per Drag & Drop!

Mit dem OPC Router MQTT Plug-in verbinden Sie grafische Ihre Produktions-Systeme per MQTT.

Fordern Sie Ihren Download an und testen Sie die MQTT Anbindung!
2019-02-05T09:32:55+00:00