Was ist MQTT? Eine Einführung

MQTT ist ein leichtgewichtiges Publish-Subscribe Netzwerkprotokoll, das Nachrichten zwischen IOT und IIOT Geräten transportiert. Das MQTT Protokoll läuft normalerweise über TCP/IP. Es ist für Verbindungen mit entfernten Standorten konzipiert, bei denen ein „kleiner Code-Fußabdruck“ erforderlich ist oder die Netzwerkbandbreite begrenzt ist. Das Protokoll ist ein offener OASIS-Standard und eine ISO-Empfehlung (ISO/IEC 20922). Das MQTT-Protokoll ist eine ideale Wahl und wird häufig für IIOT Geräte, IOT, Smart Home Systeme und Hausautomatisierungssysteme eingesetzt.

Endknoten mit den Mikrocontrollern ESP8266, ESP32, Raspberry Pi und Arduino kommunizieren mit anderen MQTT Client der perfekte Anwendungsfall für Maker, Freelancer und Prototypen.

Wie spielt MQTT eine wichtige Rolle in IOT/IIOT/Smart Home Systemen/Heimautomatisierungssystemen?

Das MQTT Protokoll definiert zwei Arten von Netzwerkeinheiten: einen Nachrichten-Broker und eine Anzahl von Clients. Ein MQTT Broker ist ein Server, der alle Nachrichten von den Clients empfängt und dann die Nachrichten an die entsprechenden Zielclients weiterleitet.

Sogar ein Raspberry Pi, ESP8266, ESP32, Arduino und andere kleine Steuergeräte funktionieren als MQTT Client.

Ein MQTT Client ist ein beliebiges Gerät (von einem Mikrocontroller bis hin zu einem vollwertigen Server), auf dem eine MQTT-Bibliothek läuft und das sich über ein Netzwerk mit einem MQTT Broker verbindet.

Wenn ein Herausgeber neue Daten zu verteilen hat, sendet er eine Kontrollnachricht mit den Daten an den verbundenen Broker. Der MQTT Broker verteilt dann die Informationen an alle MQTT Clients, die sich für dieses Thema angemeldet haben.

Der Herausgeber muss keine Daten über die Anzahl oder den Standort der Abonnenten haben, und die Abonnenten müssen ihrerseits nicht mit Daten über die Herausgeber konfiguriert sein.

Wenn ein Broker eine Nachricht zu einem Topic empfängt, für das es keine aktuellen Abonnenten gibt, verwirft er die Nachricht, es sei denn, der Publisher der Nachricht hat die Nachricht als „retained message“ gekennzeichnet. Eine aufbewahrte Nachricht ist eine normale MQTT Nachricht, bei der das Flag „retained“ auf „true“ gesetzt ist. Der Broker speichert die letzte zurückgehaltene Nachricht und die entsprechende QoS für das ausgewählte Topic.

Jeder Client, der ein Topic-Muster abonniert, das mit dem Topic der zurückbehaltenen Nachricht übereinstimmt, erhält die zurückbehaltene Nachricht sofort nach dem Abonnieren. Der Broker speichert nur eine aufbewahrte Nachricht pro Thema. Dies ermöglicht es neuen Abonnenten eines Themas, den aktuellsten Wert zu erhalten, anstatt auf die nächste Aktualisierung durch einen Herausgeber zu warten.

Wenn ein Publishing-Client zum ersten Mal eine Verbindung zum Broker herstellt, kann er eine Standardnachricht einrichten, die an die Abonnenten gesendet wird, wenn der Broker feststellt, dass der Publishing Client unerwartet die Verbindung zum Broker unterbrochen hat.

Clients interagieren nur mit einem Broker, aber ein System kann mehrere Broker Server enthalten, die Daten auf der Grundlage der aktuellen Themen ihrer Abonnenten austauschen.

Eine minimale MQTT Kontrollnachricht kann bis zu zwei Byte an Daten umfassen.

Eine Kontrollnachricht kann bei Bedarf fast 256 Megabyte an Daten enthalten. Es gibt definierte Nachrichtentypen, die verwendet werden, um einen Client mit einem Broker zu verbinden und die Verbindung zu trennen, um Daten zu veröffentlichen, um den Empfang von Daten zu bestätigen und um die Verbindung zwischen Client und Server zu überwachen.

MQTT basiert auf dem TCP-Protokoll für die Datenübertragung. 

Standard-TCP-Protokoll : 1883 , Verschlüsselung : 8883

Besuchen Sie www.mqtt.org

für Informationen über das
MQTT Protokoll.