Die vollständige Bezeichnung MQTT lautet Message Queuing Telemetry Transport.
MQTT ist das leichtgewichtige Netzwerkprotokoll für Geräte mit eingeschränkten Ressourcen. Ein kleiner 2-Byte-Header und eine Nachrichtengröße von 256 MB machen das MQTT-Protokoll zu einem perfekten Anwendungsfall für IoT/IIOT-Geräte. Das MQTT-Protokoll wird in Smart-Home-Systemen, intelligenten Städten, Industriemaschinen, Fahrzeugverfolgung und anderen Anwendungen eingesetzt. MQTT vs. HTTP in IOT ist wichtig zu verstehen, um IOT-Anwendungen zu implementieren.
MQTT arbeitet nach dem Veröffentlichungs-/Abonnement-Muster, es veröffentlicht ein Thema mit Nutzdaten an den MQTT-Broker und dann kann jeder der anderen MQTT-Clients das gleiche Thema abonnieren. Es ist also nicht von anderen Clients abhängig, wenn einer der Clients nicht mehr funktioniert.
Auch die Option LWT (Last will testament) würde eine Nachricht an alle abonnierten MQTT-Clients veröffentlichen, wenn ein MQTT-Client die Verbindung zum Netzwerk unterbricht.
Es gibt 3 Stufen der Dienstgüte (QoS) in MQTT
QoS 0 – höchstens einmal – gewährleistet die bestmögliche Zustellung ohne Quittierung.
QoS 1 – mindestens einmal – stellt sicher, dass die Nachricht mindestens einmal zugestellt werden muss, aber auch mehr als einmal zugestellt werden kann. Dies ist die bestmögliche Methode für die meisten Anwendungen, um die Netzwerklatenz und -auslastung zu reduzieren.
QoS 2 – nur einmal – stellt sicher, dass die Nachricht einen Abonnenten erreicht und die Bestätigung erhält, bis sie kontinuierlich veröffentlicht wird.
Retain-Nachrichten sind die andere Funktionalität von MQTT, bei der der MQTT-Broker die Nachricht mit dem Retain-Flag vom MQTT-Client aufbewahrt und solange aufbewahrt, bis sie mit dem Retain-Flag gelöscht wurde.
MQTT vs. HTTP in IOT ist wichtig zu verstehen, um IOT-Anwendungen zu implementieren.
Lesen Sie mehr über [Understanding retained messages] (https://www.ioctrl.com/post/mqtt-retained-messages) in unserem anderen Blog.
Die vollständige Form von HTTP ist Hypertext Transfer Protocol
HTTP ist ein universelles Webprotokoll, das zusammen mit HTML zur Kommunikation mit Webbrowsern verwendet wird. Es benötigt mehr RAM- und Energieressourcen.
Es wird in großem Umfang für verschiedene Anwendungen verwendet, die nach dem Muster Anfrage/Antwort arbeiten. Es arbeitet mit P2P-Technologie (Peer-to-Peer), d. h. mit dem Client/Server-Modell.
Die Header-Größe von HTTP ist groß und die Antwortzeit ist im Vergleich zum MQTT-Protokoll ebenfalls länger.
MQTT verwendet die Funktionen PUBLISH, SUBSCRIBE, CONNECT, DISCONNECT und UNSUBSCRIBE, aber HTTP verfügt über umfangreiche Bibliotheksfunktionen. MQTT sichert die Datenschicht mit TLS/SSL, während HTTP sie nur mit HTTPS sichert. MQTT verwendet Port 1883/8883, HTTP verwendet Port 80.
HTTP verwendet eine base64-Datenstruktur, HTTP überträgt die Daten über UDP im Vergleich zu MQTT, das TCP verwendet.
MQTT vs. HTTP in IOT ist wichtig zu verstehen, um IOT-Anwendungen zu implementieren.
MQTT vs HTTP -Schlussfolgerung
IoT/IIOT-Geräte kommunizieren mit der Cloud über MQTT/HTTP-Protokolle. Beide Protokolle eignen sich perfekt für IoT-Anwendungen, es kommt jedoch auf die Anwendungsfälle an.
Wenn Sie beispielsweise ressourcenbeschränkte Geräte mit der Cloud verbinden möchten, die weniger Batterieverbrauch und eine geringe Netzwerkbandbreite benötigen, ist MQTT im Vergleich zu HTTP besser geeignet. MQTT ist speziell für M2M– und IOT/IIOT-Anwendungen konzipiert.