MQTT Protokoll: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Zeile 1: | Zeile 1: | ||
=Grunsätzliches= | =Grunsätzliches= | ||
− | + | ;Entwicklung und Zweck: | |
− | + | * MQTT wurde von IBM als "Message Queueing Telemetry Transport" entwickelt und ist besonders für das IoT geeignet. | |
− | + | ;Protokollart: | |
− | + | * MQTT ist ein Publish/Subscribe-Protokoll, bei dem sich Clients mit einem Broker verbinden, um Nachrichten zu senden oder zu empfangen. | |
− | + | ;Ports und Kommunikation: | |
− | + | * Nutzt TCP-Port 1883 und TLS-TCP-Port 8883, reduziert die Notwendigkeit von Polling, was Bandbreite spart und die Latenz minimiert. | |
− | + | ;Client und Broker Beziehung: | |
− | + | * Die Inhalt der Nachrichten ist dem Broker unbekannt; seine Aufgabe endet mit der Zustellung der Nachricht. | |
− | + | ;Topics und Nachrichtenhandling: | |
− | + | * Nachrichten sind mit Topics verbunden, die wie hierarchische Pfade strukturiert sind und Wildcards für flexible Abonnements unterstützen. | |
− | + | ;Payloads und Daten: | |
+ | * Unterstützt bis zu 256 MByte große Payloads, häufig verwendet für einfache Datenstrings oder JSON-verpackte Daten. | ||
+ | ;Letzter Wille und Retained-Flag: | ||
+ | * Ermöglicht das Setzen von Nachrichten, die gespeichert und bei Bedarf an Subscriber gesendet werden. | ||
+ | =Weiter= | ||
+ | ;Entwicklung und Zweck: | ||
+ | * MQTT, entwickelt von IBM, dient als effizientes Kommunikationsprotokoll, besonders für IoT-Anwendungen. | ||
+ | ;LWT (Last Will and Testament): | ||
+ | * Ermöglicht Clients, Nachrichten für den Fall eines unerwarteten Ausfalls zu hinterlegen, die dann vom Broker veröffentlicht werden. | ||
+ | ;Retained-Flag: | ||
+ | * Wird genutzt, um den Zustand eines Clients dauerhaft zu speichern und zu kommunizieren, ob ein Client online oder offline ist. | ||
+ | ;Qualitätskontrolle: | ||
+ | * MQTT bietet drei Servicequalitätsstufen (QoS), die von keiner Zusicherung bis zur garantierten einmaligen Zustellung reichen. | ||
+ | ;Broker: | ||
+ | * MQTT-Broker wie Mosquitto und Hivemq bieten erweiterte Funktionen wie Clustering und unterstützen Websockets für flexible Netzwerkanwendungen. | ||
+ | ;Praktische Anwendung: | ||
+ | * Ein Beispiel ist ein Temperatursensor, der Temperaturen in Fahrenheit misst und nach Konvertierung in Celsius wieder publiziert. |
Version vom 14. April 2024, 08:17 Uhr
Grunsätzliches
- Entwicklung und Zweck
- MQTT wurde von IBM als "Message Queueing Telemetry Transport" entwickelt und ist besonders für das IoT geeignet.
- Protokollart
- MQTT ist ein Publish/Subscribe-Protokoll, bei dem sich Clients mit einem Broker verbinden, um Nachrichten zu senden oder zu empfangen.
- Ports und Kommunikation
- Nutzt TCP-Port 1883 und TLS-TCP-Port 8883, reduziert die Notwendigkeit von Polling, was Bandbreite spart und die Latenz minimiert.
- Client und Broker Beziehung
- Die Inhalt der Nachrichten ist dem Broker unbekannt; seine Aufgabe endet mit der Zustellung der Nachricht.
- Topics und Nachrichtenhandling
- Nachrichten sind mit Topics verbunden, die wie hierarchische Pfade strukturiert sind und Wildcards für flexible Abonnements unterstützen.
- Payloads und Daten
- Unterstützt bis zu 256 MByte große Payloads, häufig verwendet für einfache Datenstrings oder JSON-verpackte Daten.
- Letzter Wille und Retained-Flag
- Ermöglicht das Setzen von Nachrichten, die gespeichert und bei Bedarf an Subscriber gesendet werden.
Weiter
- Entwicklung und Zweck
- MQTT, entwickelt von IBM, dient als effizientes Kommunikationsprotokoll, besonders für IoT-Anwendungen.
- LWT (Last Will and Testament)
- Ermöglicht Clients, Nachrichten für den Fall eines unerwarteten Ausfalls zu hinterlegen, die dann vom Broker veröffentlicht werden.
- Retained-Flag
- Wird genutzt, um den Zustand eines Clients dauerhaft zu speichern und zu kommunizieren, ob ein Client online oder offline ist.
- Qualitätskontrolle
- MQTT bietet drei Servicequalitätsstufen (QoS), die von keiner Zusicherung bis zur garantierten einmaligen Zustellung reichen.
- Broker
- MQTT-Broker wie Mosquitto und Hivemq bieten erweiterte Funktionen wie Clustering und unterstützen Websockets für flexible Netzwerkanwendungen.
- Praktische Anwendung
- Ein Beispiel ist ein Temperatursensor, der Temperaturen in Fahrenheit misst und nach Konvertierung in Celsius wieder publiziert.