Nachrichten Queuing Telemetry Transport (MQTT)ist ein leichtes, einfaches und open-source Messaging Protokoll. Es ist das am weitesten verbreitete Protokoll zur Kommunikation im Internet der Dinge (IoT) oder Maschinen (M2M) Umgebungen. Das Hauptziel von MQTT ist,den Mess- und Datenaustausch zwischen IoT und Industrielle IoT-Geräte (IIoT),wie Sensoren, die eine begrenzte Bandbreite aufweisen. IoT-Geräte mit dieMQT Das ist alles.auf einem Publikationsmodell arbeiten, wo ein Gerät (Client) Nachrichten oder Daten zu bestimmten Themen veröffentlichen kann, während es sich auch um die Anmeldung zum Empfang Daten von anderen Geräten. Es funktioniert über TCP/IP.
DieMQToperiert auf einem Veröffentlichungsmodell, so dass Geräte/Kunden zur Kommunikation. Die Kommunikation zwischen Kunden erfolgt jedoch nicht direkt; anstatt, es wird durch eineMQTT-Broker.Der Broker handelt als Middleware, empfangen und Daten zwischen Clients verteilen. Dieses Publikationsmodell dreht sich um zwei Schlüsselrollen: Verleger und Teilnehmer
Clients können sowohl Verlage als auch Teilnehmer gleichzeitig handeln. Im MQTT ist der Nachrichtenaustausch organisiert von Themen(MQTT-Themen)die wie Kanäle funktionieren. Wenn ein Verleger eine Nachricht senden möchte, veröffentlicht er die Nachricht an eine ein bestimmtes Thema wie Sensor/Temperatur. An diesem Thema interessierte Geräte abonnieren es und erhalten die Daten effizient. Der gesamte Prozess wird vom Broker verwaltet, der Daten des Verleger-Clients und übermittelt diese an die Kunden, die dieses Thema abonniert haben.
Bei Netzproblemen oder unerwarteten Verbindungsausfällen kann der Publisher-Client einen"Last Will Message"eine Nachricht mit Anweisungen für die Anmeldung von Kunden. Wenn eine Trennung zwischen dem Broker und dem Teilnehmer besteht, der Broker speichert die Nachrichten und liefert sie an den Teilnehmer, sobald die Verbindung wieder hergestellt wird.
MQ Telemetry Transport (MQTT) definiert mehrere Nachrichtentypen, die die Kommunikation zwischenMQTT Kundenund der MQTT-Broker im IoT Systeme. Jeder Typ dient einer einzigartigen Rolle im Kommunikationsprozess. Unter den verschiedenen MQTT Nachrichtentypen, die Folgende vier sind entscheidend:
In den Warenkorb– Die CONNECT-Nachricht wird von einem Client gesendet, um eine Verbindung einzuleiten mit dem MQTT-Broker. Diese Nachricht hilft dem Broker, den Client zu identifizieren und die Verbindung herstellen. Die CONNECT-Nachricht enthält Details wie die ID des Clients, die Verbindung Optionen und Anmeldeinformationen.
2. DISCONNECT– Die DISCONNECT-Nachricht wird von einem Client verwendet, um seine Verbindung mit dem MQTT zu schließen Broker. Durch das Senden dieser Nachricht informiert der Client den Broker, dass es nicht mehr möchte kommunizieren. Dies stellt sicher, dass der Broker bewusst ist, dass der Client offline geht richtig, anstatt eine unerwartete Trennung zu erleben.
3. VERÖFFENTLICHUNGEN– Die PUBLISH-Nachricht wird verwendet, um Daten an ein bestimmtes Thema zu senden. Es enthält die Nutzlast, die tatsächlichen Daten sind, zusammen mit Metadaten wie dem Thema Name, Quality of Service (QoS) Levels, und ob die Nachricht vom Broker gespeichert werden sollte. Die PUBLISH-Nachricht erlaubt Daten von einem Client an den Broker, wo es dann an andere Kunden verteilt werden kann, die dieses Thema abonniert.
4. SUBSCRIBE– Die SUBSCRIBE-Nachricht wird gesendet, wenn ein Client oder Gerät will Informationen zu einem bestimmten Thema erhalten von einem anderen Client. Mit der Anmeldung sagt der Kunde dem Broker, an welchem Thema er sich interessiert. Einmal abonniert, der Client startet den Empfang aller Nachrichten veröffentlicht zu diesem Thema. So benachrichtigen die Geräte den Broker, dass sie bestimmte Typen erhalten möchten Daten.
Schauen Sie sich die folgende Tabelle an für mehr MQTT-Nachrichtentypen und Beschreibungen!
Es ist für die M2M-Kommunikation geeignet, da sie den Bedarf an Netzwerkbandbreite verringert. Auch, es bietet Platz instabile Netze und erfordert weniger Entwicklungsaufwand. Das Protokoll dient zum Austausch von Daten zwischen gesteuerten Geräten und Serveranwendungen. Ein System, das verwendet das Internet der Dinge (IoT) ist eine Sammlung von miteinander verbundenen Objekte, die miteinander kommunizieren können. Für dieses Konzept, Nachrichten Queuing Telemetry Transportarbeiten Gut. Einige Begründungen sind wie folgt:
Einige Vorteile von MQTT sind wie folgt:
Begriff zu adressieren, die erlaubt
Kunden, um Informationen zu teilen.
Das ist eine gute Idee. Veröffentlichungen
zwischen der
In den Warenkorb
und eins
Das „Letzte Gut“
Auf der Karte anzeigen
Thema
Überprüfung Status der TCP/IP-Verbindung
Erlaubt Ihnen, Daten zu Gast direkt in einem Webbrowser
MQTT steht für Message Queuing Telemetry Transport. Es ist ein leichtes, einfaches Messaging-Protokoll, das hilft den intelligenten Geräten (Geräte, die über das Internet miteinander verbunden sind) nahtlose Kommunikation durch Senden und Empfangen von Daten, insbesondere in Situationen, in denen das Netzwerk oder Energieressourcen sind begrenzt
MQTT ist das am weitesten verbreitete Protokoll im IoT. Es ist wegen seiner Fähigkeit, einen zuverlässigen Weg für Geräte zur Kommunikation auch in Umgebungen mit niedrigen Bandbreite oder instabile Bedingungen. Das Veröffentlichungs-/Abmeldungsmodell erlaubt es den Geräten, Daten nur zu senden, wenn es ist notwendig, so macht es effizient für große Netzwerk von angeschlossenen Geräten in Smart Homes, Fabriken und so weiter.
Nachfolgend einige praktische Anwendungsfälle des MQTT:
MQTT ist ein auf der Oberseite desTCP-Protokollzur Datenübertragung, Gewährleistung zuverlässige und geordnete Lieferung von Nachrichten. TCP (Transmission Control Protocol) bietet eine stabile Verbindung zwischen Geräten, so dass es ideal für Anwendungen, bei denen die Datenintegrität lebenswichtig ist. Es gibt eine Variante namensMQTT-SN(MQTT for Sensor Networks), die ausschließlich für Kantensensornetzwerke, über UDP gebaut (User Datagram Protocol)
MQTT ist einfach zu bedienen und ist für Situationen, in denen Ansprechzeit, Durchsatz, niedrigere Batterie und Bandbreitennutzung sind entscheidend. Im Vergleich zu anderen IoT-Kommunikation Protokolle wie HTTP und CoAP, MQTT ist aufgrund seines leichten Designs besser, was schneller und effizientere Datenübertragung. Auch veröffentlicht/bezeichnet Modell vereinfacht die Kommunikation zwischen Geräten und reduziert so den Bedarf an konstanten Verbindungen. Alle Dies macht MQTT zu einem besseren Kommunikationsprotokoll als andere Protokolle.
Ja, MQTT ist entworfen, um eine sehr sichere Kommunikation zu unterstützen. MQTT unterstützt Authentifizierungsmethoden sicherstellen, dass nur autorisierte Geräte Informationen verbinden und austauschen können. Darüber hinaus bietet es auch verschiedene Sicherheitsmaßnahmen wie Verschlüsselung durch SSL/TLS, die schützt Daten, wie es zwischen Geräten läuft. So diese Eigenschaften macht Nachrichten Queuing Telemetry Transport Protokoll eine sichere Wahl für die Übertragung sensible Daten in IoT-Anwendungen.
Ja, MQTT ist ein Open-Source-Protokoll, das von Organisationen wie OASIS und ISO standardisiert wird. Das bedeutet, dass es für jeden zur Verfügung steht, oder ohne Einschränkungen ändern. Da es sich nicht um ein bestimmtes Unternehmen handelt, kann MQTT angenommen werden weit über verschiedene Plattformen und Anwendungen
Nein, MQTT ist nicht RESTful. Während sowohl MQTT als auch REST für die Kommunikation zwischen Geräten verwendet werden, haben sie
verschiedene Architektur und verschiedene Zwecke zu dienen.
MQTT basiert auf dem Modell veröffentlichen/subscribe, das es ermöglicht, Nachrichten/Daten zu senden und zu empfangen
Echtzeit.
Auf der anderen Seite setzt REST auf Anfrage/Response-Modell, mit dem Kunden Daten von der
Server.
Um mehr zu erfahren, lesen Sie unsereMQTT vs RESTBlog!
1883 ist der Standardport von MQTT. Dies ist der Standardport, der für unsichere Verbindungen verwendet wird, die Geräte einfach miteinander kommunizieren können. Wenn TLS für eine sichere Verbindung aktiviert ist, MQTT verwendet in der Regel den Port 8883 als zusätzliche Sicherheitsschicht für die Datenübertragung
Ja, natürlich. Sie brauchen einen Broker, um MQTT zu verwenden. Es ist der Broker, der als zentrales Zentrum fungiert, das verwaltet alle Kommunikation zwischen den Geräten (Clients). Die Rolle derMQTT Brokerdie Nachrichten/Daten von den Geräten, die als Verleger fungieren und diese Nachrichten an die Geräte verteilen, die als Teilnehmer fungieren. Ohne den Broker wäre das MQTT-System nicht in der Lage, Nachrichten effizient zu leiten oder zu verwalten
MQTT eignet sich aufgrund der folgenden Eigenschaften hervorragend für IIoT-Anwendungen:
Diese Faktoren machen es zum bevorzugten Messaging-Protokoll für die Industrie Anwendungen, die einen zuverlässigen und effizienten Datenaustausch erfordern.
Ja, MQTT unterstützt QoS, was hilft, zuverlässige Nachrichtenlieferung zu gewährleisten. QoS erlaubt dem Absender die Angabe wie zuverlässig Nachrichten geliefert werden sollen und Optionen für unterschiedliche Kommunikationsanforderungen bieten. Diese Funktion macht MQTT flexibel für verschiedene IoT-Anwendungen, von unkritischen Daten bis zu zeitsensitiven Informationen
MQT QoS besteht aus 3 Ebenen, die nach zunehmender Oberleitungsordnung klassifiziert wurden
QoS 0 – höchstens einmal
QoS 1 – Mindestens einmal
QoS 2 – Genau einmal
Um mehr über QoS zu erfahren, navigieren SieMQT QoS-Artikel
EineMQT Themaist ein String oder ein Muster, das das Ziel oder Subjekt einer Nachricht definiert. Es dient kategorisieren und Routennachrichten innerhalb des Publikations-Teilnehmer-Modells, die Möglichkeit, bestimmte Themen von Interesse zu abonnieren. Themen können eine hierarchische Struktur haben, mit Slashes (/) verschiedene Ebenen zu trennen, die eine organisierte und effiziente Nachrichtenfilterung ermöglicht. Dieses System ermöglicht mehrere Geräte, um relevante Nachrichten ohne unnötigen Datenverkehr zu empfangen, die Kommunikation mehr effektiv.
Ein Beitrag zum Themaeine Funktion in MQTT, die es erlaubt, eine Nachricht, die zu einem Thema veröffentlicht wird, vom Broker zu speichern. Das bedeutet, wenn ein neuer Teilnehmer mit diesem Thema verbunden ist, sie erhalten sofort die letzte gespeicherte Nachricht, um sicherzustellen, dass sie die neuesten Daten ohne auf neue Updates warten müssen. Diese Funktion ist besonders nützlich für Bereitstellung kritischer Informationen, wie z.B. Gerätestatus oder Konfigurationseinstellungen, an neue Abonnenten rechts weg.
Die maximale Nachrichtengröße in MQTT wird durch den Broker definiert und kann variieren, ist aber im Allgemeinen bis zu 256 MB. Es wird jedoch empfohlen, Nachrichten zu halten klein, um die Leistung zu optimieren und die Latenz zu reduzieren, insbesondere in eingeschränkten Umgebungen
MQTT sorgt für die Nachrichtenbestellung durch die Bereitstellung von Nachrichten in der Reihenfolge, die sie bei der Verwendung von QoS 1 veröffentlicht werden oder QoS 2. Dies bedeutet, dass Teilnehmer Nachrichten in der gleichen Reihenfolge erhalten, die sie gesendet wurden, die für Anwendungen, bei denen die Reihenfolge der Daten wichtig ist, von entscheidender Bedeutung ist
DieLetzter Wille und Testament(LWT) Funktion ermöglicht es einem Client, eine Nachricht anzugeben, die sein wird von der Broker, wenn der Client unerwartet abschaltet. Diese Funktion ist nützlich, um andere Geräte über den Status des Clients zu informieren und zu erhalten Bewusstsein im Netzwerk
Ja, MQTT ist aufgrund seiner Leichtigkeit und geringen Bandbreite für mobile Netzwerke gut geeignet Verbrauch. Dies macht es ideal für Anwendungen, bei denen Geräte intermittierende Konnektivität haben können, wie mobile Sensoren oder IoT-Geräte, die sich auf zellulare Netzwerke verlassen
Ja, MQTT eignet sich wegen seiner geringen Latenz und seiner effizienten Echtzeit-Anwendungen sehr gut. Nachrichtenlieferung. Das Veröffentlichungs-/Abonnentenmodell ermöglicht sofortige Benachrichtigungen, ideal für Anwendungsfälle wie Live-Datenfeeds, Remote Monitoring und Instant Messaging
Ein leichtes, einfaches, Open-Source-Messaging-Protokoll für Geräte mit begrenzten Ressourcen. Häufig im IoT für schnelle, zuverlässige Kommunikation eingesetzt.
Die zwischen Geräten gesendeten tatsächlichen Daten, die ein Thema und eine Nutzlast enthalten, die den Nachrichteninhalt hält.
Der zentrale Server (middleware), der alle Nachrichten von Clients empfängt und zu den entsprechenden Teilnehmern führt.
Geräte oder Anwendungen, die mit dem Broker verbinden, um Nachrichten zu senden und empfangen.
Ein Gerät oder eine Anwendung, die unter einem bestimmten Thema Nachrichten an den Broker sendet (veröffentlicht).
Ein Gerät oder eine Anwendung, die Nachrichten aus dem Broker auf Basis bestimmter Themen empfängt (bezeichnet).
Eine eindeutige Kennung für jeden MQTT-Client, der vom Broker verwendet wird, um Sitzungen und Verbindungen zu verwalten.
Ein Zeitintervall, um zu überprüfen, ob ein Client noch angeschlossen ist. Wenn keine Daten gesendet werden, sendet der Client ein Ping.
Eine Nachricht, die der Broker sendet, wenn ein Client unerwartet abschaltet und andere Clients seines Offline-Status alarmiert.
Die verschiedenen Arten von Kontrollpaketen, die in der MQTT-Kommunikation verwendet werden, wie CONNECT, PUBLISH und SUBSCRIBE.
Der eigentliche Inhalt oder die Daten innerhalb einer MQTT-Nachricht — wie Sensorwerte, Statusupdates oder Befehle.
Speichert Abonnement-Info und unvergütete Nachrichten, so dass ein Client seine Sitzung nach dem Wiederanschließen wieder aufnehmen kann.
Definiert, wie zuverlässig Nachrichten geliefert werden: höchstens einmal (0), mindestens einmal (1), oder genau einmal (2).
Eine Nachricht, die vom Broker gespeichert und sofort an einen Client gesendet wird, der später sein Thema abonniert.
Ein weiterer Begriff für den MQTT Broker — das zentrale System, das Nachrichten-Routing und Lieferung behandelt.
Kontrolliert, wie lange der Broker Sitzungsdaten nach Abschalten eines Clients behält – nützlich für temporäre Verbindungen.
Ermöglicht es mehreren Clients, den Arbeitsaufwand von Handling-Nachrichten zu demselben Thema wie eine Nachrichtenwarte zu teilen.
Eine MQTT-Erweiterung für industrielle Systeme, Hinzufügen von Standard-Datenmodellen und Gerätezustandsmanagement.
Labels verwendet, um Nachrichten zu organisieren, wie Ordner — Clients veröffentlichen oder abonnieren bestimmte Themen.
Die neueste MQTT-Version bietet erweiterte Funktionen wie Grundcodes, gemeinsame Abonnements und Sitzungsablauf.
Eine leichte Version von MQTT für Sensornetzwerke, mit geringem Stromverbrauch und vereinfachter Kommunikation.