Drei unterschiedliche Qualitätsstufen
Bei Stufe 1 würde die Gegenstelle nach einer PUBLISH-Nachricht mit einer PUBACK-Nachricht antworten. Ohne eine solche Nachricht wird bei Stufe 1 der Sendevorgang so lange wiederholt, bis er von der Gegenseite bestätigt wurde. Deshalb ist nicht sichergestellt, dass die Nachricht nur einmal ankommt.
Wenn dies nicht gewünscht ist, kann stattdessen die QoS-Stufe 2 genutzt werden. Hier wird in der PUBLISH-Nachricht vom Sender eine ID mitgegeben. Nach dem Empfang wird die Nachricht gespeichert, aber noch nicht verarbeitet. Der Empfänger sendet eine PUBREC-Nachricht mit der ID an den Sender.
Erhält der Sender diese Nachricht, sendet er eine Release-Nachricht (PUBREL), an den Empfänger. Als letzte Aktion sendet der Empfänger eine PUBCOMP-Nachricht an den Sender und verarbeitet anschließend die Nachricht. Der Sender löscht beim Empfang der PUBCOMP-Nachricht die Nachricht.
Hintergrund für die unterschiedlichen Qualitätsstufen ist der Ressourcenverbrauch; je niedriger die QoS-Stufe, desto weniger Ressourcen wie Zeit, Speicher und CPU werden benötigt, um die Nachricht zu verarbeiten.
An Brokern und Client-Bibliotheken mangelt es MQTT nicht. Zu den bekanntesten Brokern gehören Mosquitto, HiveMQ und VerneMQ.
Im Produktivbetrieb muss auf eine Absicherung der Topics geachtet werden. So ist es je nach Broker möglich, dass diese eine Authentifizierung der Clients verlangen und erst dann den Zugriff auf die Topics erlauben. Client-Bibliotheken für MQTT gibt es wie Sand am Meer, für unterschiedlichste Systeme wie Arduino, C, Java, .NET, Go und viele weitere Sprachen und Frameworks.
Daneben existieren grafische Clients, welche die Nachrichten auf dem Broker anzeigen und die Interaktion mit einem Broker ermöglichen. Zu diesen Clients gehören unter anderem MQTT.fx, mqtt-spy und MQTTBox.
Florian Bottke ist Software-Entwickler und beschäftigt sich seit vielen Jahren mit Technik, IT und weiteren Themen aus diesem Dunstkreis. Sein Blog ist unter https://seeseekey.net/ zu finden, er hat auch einen Podcast.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Wenn die Verbindung plötzlich abbricht |
So schlimm würde ich das jetzt nicht bezeichnen. Ich bin schon ein großer Freund von...
Vielen Dank für diese Liste! Einen SMA Wechselrichter und einen Node Red Pi habe ich...
Vielen Dank! :)
Wie der Artikel schon richtig beginnt, gibt es Protokolle wie Sand am Meer. Und hier wird...