Message Queuing Telemetry Transport (MQTT) ist ein beliebtes und leichtes Publish-Subscribe-Messaging-Protokoll, das sich ideal für die Verbindung von Internet of Things (IoT)- oder Machine-to-Machine (M2M)-Geräten und -Anwendungen über das Internet eignet. MQTT ist für den effizienten Betrieb in Umgebungen mit geringer Bandbreite oder geringem Stromverbrauch konzipiert und ist daher die ideale Wahl für Anwendungen mit einer großen Anzahl Remote-Clients. Es wird in zahlreichen Branchen eingesetzt, unter anderem in der Unterhaltungselektronik, der Automobilindustrie, im Transportwesen, in der Fertigung und im Gesundheitswesen.
Als Clients werden Geräte oder Anwendungen bezeichnet, die über MQTT angebunden sind. Diese Clients veröffentlichen und/oder abonnieren Nachrichten zu einem bestimmten Thema oder zu mehreren Themen . Abonnierte Clients erhalten alle zu diesem Thema veröffentlichten Nachrichten und ermöglichen so einen effizienten und fehlertoleranten Datenaustausch zwischen vielen Geräten und Diensten.
Das Herzstück einer MQTT-Architektur ist ein Broker . Der Broker ist ein Server, der für die Verfolgung der Clients (und aller Themen, die sie abonniert haben), die Verarbeitung von Nachrichten und die Weiterleitung dieser Nachrichten an die entsprechenden Systeme verantwortlich ist.
Mehrere wichtige Versionen des MQTT-Protokolls wurden als Standard übernommen. Die OASIS- Organisation verwaltet Revisionen des Protokolls und pflegt für jede Version eine vollständige Spezifikation . Jede Revision von MQTT hat den Funktionsumfang des Protokolls erweitert. Daher ist es wichtig zu wissen, welche Version von MQTT Ihre Geräte und Ihr Broker unterstützen.
Es gibt mehrere Arten von MQTT-Nachrichten und jeder Nachrichtentyp enthält ein bestimmtes Format, das konforme Geräte und Anwendungen einhalten müssen. Die Revisionen des MQTT-Protokolls unterscheiden sich in Format und Nachrichtentypen. Eine vollständige Liste der Nachrichtentypen finden Sie in jeder Spezifikation des MQTT-Protokolls.
Die drei häufigsten Nachrichtentypen sind CONNECT, PUBLISH und SUBSCRIBE. Jede MQTT-Nachricht enthält einen Header, Nutzdaten und optionale Flags. Die Nutzlast kann je nach Nachrichtentyp unterschiedlich lang sein. Beispielsweise enthält die Nutzlast in einer PUBLISH-Nachricht die Daten, die an alle abonnierenden Geräte gesendet werden sollen, und die Länge des Datenfelds hat einen direkten Einfluss auf die Größe der Nachricht. Standardmäßig stellen MQTT-Geräte eine ungesicherte Verbindung über Port 1883 oder über Port 8883 her, wenn die SSL/TLS-Verschlüsselung aktiviert wurde.
Intelligente Autos sind ein großartiges Beispiel für MQTT in Aktion. Da die Automobilhersteller neue Funktionen hinzufügen, um alles von der Ferndiagnose und dem Flottenmanagement bis hin zu Tankzahlungen und Unterhaltung zu unterstützen, hat sich MQTT zu einem gängigen Standard für vernetzte Autos entwickelt. Im Gegensatz zum Hypertext Transfer Protocol (HTTP)-Protokoll kann MQTT eine dauerhafte Sitzung aufrechterhalten, selbst wenn ein Auto in Funklöcher hinein- und wieder herausfährt oder seine Verbindung den Mobilfunkmast wechselt. MQTT unterstützt auch bidirektionale Kommunikation, wodurch das Auto und die Cloud-Anwendung einfacher Daten senden und empfangen können, ohne auf die Antwort des anderen warten zu müssen.
HTTP und MQTT sind beides Netzwerkprotokolle, die zur Datenübertragung über das Internet verwendet werden. Schauen wir uns die Unterschiede an.
Viele Funktionen von MQTT machen es zum idealen Protokoll für die Nachrichtenübermittlung zwischen IoT-Geräten (den „Dingen“ im IoT) und Backend-Systemen. Dabei konzentrieren wir uns auf vier Merkmale:
MQTT unterstützt Transmission Control Protocol/Internet Protocol (TCP/IP) als zugrunde liegendes Transportprotokoll. Dieses weit verbreitete Netzwerkprotokoll gewährleistet einen zuverlässigen Nachrichtenversand zwischen Clients und Brokern.
Es gibt mehrere Gründe, warum TCP/IP als zuverlässig und effizient gilt:
TCP/IP ist zwar die gebräuchlichste Methode, aber nicht die einzige Wahl für den Transport von MQTT-Nachrichten. Das MQTT-Protokoll funktioniert auch über User Datagram Protocol (UDP) und WebSockets.
Wir sind stolz, Ihnen die folgenden kostenlosen Ressourcen anbieten zu können, damit Sie weiter erforschen können, wie NGINX MQTT-basierte IoT-Systeme sichern, die Last ausgleichen und für hohe Verfügbarkeit sorgen kann.