MQTT Basics

Was ist MQTT?

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.

Wie funktioniert MQTT?

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

  • Ein Publisher ist ein Client, der Nachrichten (Daten) an den Broker sendet.
  • Ein Teilnehmer ist ein Client, der Nachrichten erhält, indem er bestimmte Themen angibt.

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.

How Mqtt Work

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.

Arten von MQTT-Nachrichten

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!

Types of MQTT Messages

Warum brauchen Sie MQTT?

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:


  • Es ist möglich, dass das Gerät eine Cloud-Kommunikation auf beiden Wegen durchführt. Diese Fähigkeit macht es einfach Rundfunksendungen zu großen Objektgruppen. Außerdem erleichtert sie den effizienten Datentransfer.
  • Da es die ISO-Norm für Nachrichten verwendet, kann es mit einer Vielzahl von IoT-Geräten verbinden.
  • Da Zuverlässigkeit wichtig ist, hat es drei EbenenQualität der Dienstleistungen (QoS)Einstellungen, die verwendet werden können, um die Lieferung zu gewährleisten.
  • Clients sind tragbar, verwenden Sie die geringste Menge an Hardware-Ressourcen und können auf winzigen Mikrocomputer.
  • Auch wenn der Client vom Netzwerk abschaltet, unterstützt er persistente Sitzungen. Es ist zu garantieren, dass der Client ist so schnell wie möglich zusammengefügt.
  • Mit integrierter Unterstützung für TLS (Transport Layer Security) sorgt MQTT-Protokoll für verschlüsselte Kommunikation, Schutz der Daten Integrität und Privatsphäre in IoT-Systemen.
  • Es kann nahtlos in andere Messaging-Protokolle integriert werden, sodass es für vielfältiges IoT anpassbar ist Ökosysteme.
  • Es unterstützt Echtzeit-Datenübertragung, die für zeitsensitive Anwendungen wie Remote von entscheidender Bedeutung ist Überwachung und Kontrolle.
  • Die einfache Nachrichtenstruktur des Protokolls senkt die Menge an Metadaten in Übertragungen, was es ideal macht für ressourcenschonende Umgebungen.

Vorteile von MQTT

Benefits of MQTT

Einige Vorteile von MQTT sind wie folgt:

  • Esnur minimale Bandbreiteund rechnerische Ressourcen. Das macht ideal für ressourcenbelastete Geräte mit eingeschränkter Verarbeitungsleistung & niedrige Bandbreitenverbindungen.
  • Das Modell veröffentlicht/bezeichnet Architektur ermöglichtUnternehmen Daten Verteilung.Es ermöglicht eine skalierbare sowie flexible Kommunikation zwischen Geräten.
  • Esdie Nutzung der Netzwerkbandbreitedurch Anwendung von Techniken. Die Techniken umfassen Nachrichtenkompression, kleine Paketgröße und binäre Nutzlast.
  • Sein Leichtbau und effiziente Kommunikationsmuster tragen zu einem geringen Stromverbrauch bei. Das ist wichtig für batteriebetriebene Geräte. Es ist, weil es hilft, die Lebensdauer der Batterie undenergieeffizientes IoT Bereitstellen.
  • Es stellt sicherDas ist nicht alles.durch den Bestätigungsmechanismus durch die QoS-Spiegel bereitgestellt. Diese Funktion ist entscheidend für Anwendungen, bei denen die Datenintegrität und Zuverlässigkeit sind paramount.
  • Es ermöglicht eine Nachrichtenlöschung, also wenn das Gerät offline geht, werden die Nachrichten gespeichert und geliefert sobald sie sich wieder verbinden, keineDaten sind verloren.
  • Geräte können Daten veröffentlichen, ohne die Details der Teilnehmer kennen zu müssen, so dass das Systemflexibler und einfacher skaliert werden.

Schlüsselmerkmale

MQTT TOPIC

MQTT TOPICS

Begriff zu adressieren, die erlaubt
Kunden, um Informationen zu teilen.

Persistent Session

Wir haben die Zeit
Angemeldet bleiben

Das ist eine gute Idee. Veröffentlichungen
zwischen der
In den Warenkorb und eins

mqtt message

News und News

Das „Letzte Gut“
Auf der Karte anzeigen Thema

Keep Alive & Client Take

Halten Sie Alive & Client über

Überprüfung Status der TCP/IP-Verbindung

mqtt scoket

MQTT über Websockets

Erlaubt Ihnen, Daten zu Gast direkt in einem Webbrowser

Gemeinsame Fragen zu MQTT

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:

  • Produktionsüberwachung in der Fertigungsindustrie
  • Automatisierte Dosierung in der Energieindustrie
  • Smart Home Automation Systeme wie Beleuchtung und Temperatursteuerung
  • Fahrzeugverfolgung und Flottenmanagement im Transport
  • Asset-Tracking und Inventarmanagement in der Logistik
  • Echtzeit-Benachrichtigungen und Überwachung von Feuer- oder Sicherheitssystemen
  • Wassermanagementsysteme für intelligente Bewässerung oder Leckageerkennung

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:

  • Extrem leichtes Overhead
  • Veröffentlichen / Abonnieren Modell
  • Bidirektionale Fähigkeiten
  • TCP-basierte Verbindung

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

MQTT Grundlagen: Glossar der Must-Know-Bedingungen

ANHANG MQT

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.

2. MQTT Nachricht

Die zwischen Geräten gesendeten tatsächlichen Daten, die ein Thema und eine Nutzlast enthalten, die den Nachrichteninhalt hält.

3. MQTT Broker

Der zentrale Server (middleware), der alle Nachrichten von Clients empfängt und zu den entsprechenden Teilnehmern führt.

4. MQTT Clients

Geräte oder Anwendungen, die mit dem Broker verbinden, um Nachrichten zu senden und empfangen.

5. Verlag

Ein Gerät oder eine Anwendung, die unter einem bestimmten Thema Nachrichten an den Broker sendet (veröffentlicht).

6. Abonnenten

Ein Gerät oder eine Anwendung, die Nachrichten aus dem Broker auf Basis bestimmter Themen empfängt (bezeichnet).

7. Client-ID

Eine eindeutige Kennung für jeden MQTT-Client, der vom Broker verwendet wird, um Sitzungen und Verbindungen zu verwalten.

8. MQTT hält Alive

Ein Zeitintervall, um zu überprüfen, ob ein Client noch angeschlossen ist. Wenn keine Daten gesendet werden, sendet der Client ein Ping.

ANHANG Letzter Will und Testament (LWT)

Eine Nachricht, die der Broker sendet, wenn ein Client unerwartet abschaltet und andere Clients seines Offline-Status alarmiert.

10. MQTT Packs

Die verschiedenen Arten von Kontrollpaketen, die in der MQTT-Kommunikation verwendet werden, wie CONNECT, PUBLISH und SUBSCRIBE.

11. MQTT Payload

Der eigentliche Inhalt oder die Daten innerhalb einer MQTT-Nachricht — wie Sensorwerte, Statusupdates oder Befehle.

12. Dauernde Sitzung

Speichert Abonnement-Info und unvergütete Nachrichten, so dass ein Client seine Sitzung nach dem Wiederanschließen wieder aufnehmen kann.

13. MQTT Servicequalität (QoS)

Definiert, wie zuverlässig Nachrichten geliefert werden: höchstens einmal (0), mindestens einmal (1), oder genau einmal (2).

14. Nachricht erhalten

Eine Nachricht, die vom Broker gespeichert und sofort an einen Client gesendet wird, der später sein Thema abonniert.

15. MQTT Server

Ein weiterer Begriff für den MQTT Broker — das zentrale System, das Nachrichten-Routing und Lieferung behandelt.

16. Sitzungsdauer

Kontrolliert, wie lange der Broker Sitzungsdaten nach Abschalten eines Clients behält – nützlich für temporäre Verbindungen.

17. MQTT Geteilte Abonnements

Ermöglicht es mehreren Clients, den Arbeitsaufwand von Handling-Nachrichten zu demselben Thema wie eine Nachrichtenwarte zu teilen.

18. MQTT Sparkplug

Eine MQTT-Erweiterung für industrielle Systeme, Hinzufügen von Standard-Datenmodellen und Gerätezustandsmanagement.

19. MQTT Themen

Labels verwendet, um Nachrichten zu organisieren, wie Ordner — Clients veröffentlichen oder abonnieren bestimmte Themen.

20. MQTT 5

Die neueste MQTT-Version bietet erweiterte Funktionen wie Grundcodes, gemeinsame Abonnements und Sitzungsablauf.

21. MQTT-SN

Eine leichte Version von MQTT für Sensornetzwerke, mit geringem Stromverbrauch und vereinfachter Kommunikation.