Theorie- Alternative Übertragungsprotolle für die Daten
Alternative Übertragungsprotokolle für die Daten:
Neben MQTT gibt es auch andere Übertragungsprotokolle, die für den Datenaustausch verwendet werden können. Einige davon sind:
HTTP (Hypertext Transfer Protocol): Das HTTP-Protokoll wird häufig für die Übertragung von Daten zwischen einem Client (z.B. Browser) und einem Server verwendet. Es ist weit verbreitet und unterstützt verschiedene Methoden wie GET und POST.
CoAP (Constrained Application Protocol): CoAP ist ein speziell für das Internet der Dinge (IoT) entwickeltes Protokoll. Es ist besonders für Ressourcenbeschränkte Geräte geeignet und arbeitet auf Basis des UDP-Protokolls.
AMQP (Advanced Message Queuing Protocol): AMQP ist ein Protokoll, das für die zuverlässige Übertragung von Nachrichten zwischen Anwendungen konzipiert ist. Es unterstützt verschiedene Nachrichtenmuster und bietet erweiterte Funktionen wie Nachrichtenwarteschlangen.
WebSocket: WebSocket ermöglicht eine bidirektionale Kommunikation zwischen einem Client und einem Server über eine einzige TCP-Verbindung. Es bietet eine kontinuierliche und effiziente Kommunikation für Echtzeit-Anwendungen.
Bei der Auswahl eines Übertragungsprotokolls sollten die Anforderungen des Projekts, wie Zuverlässigkeit, Effizienz und Ressourcenbeschränkungen, berücksichtigt werden.
Was ist LWT?
LWT (Last Will Testament):
Broker sendet bei Verbindungsverlust im Namen des Publishers eine Nachricht, um die Subscriber über den Verbindungsabbruch zu benachrichtigen. Das Last Will Testament wird verworfen, wenn der Client sich ordnungsgemäß mit einer DISCONNECT-Nachricht vom Broker abmeldet.
Was ist MQTT Topics?
MQTT-Topics:
Topics im MQTT-Protokoll ermöglichen das Filtern und Organisieren von Nachrichten. Sie bestehen aus Ebenen, die durch Schrägstriche (/) getrennt sind. Durch das Abonnieren spezifischer Topics oder die Verwendung von Platzhaltern können Nachrichten gezielt behandelt werden.
Worauf sollte noch geachtet werden bei Topics?
Bei der Erstellung von MQTT-Topics sollten folgende Regeln beachtet werden: Groß- und Kleinschreibung beachten, Leerzeichen vermeiden und keine Sonderzeichen verwenden.
Beispiel:
Gültiges Topic: "Wohnzimmer/Temperatur" Ungültiges Topic: "/Haus/ /Küche" (enthält Leerzeichen)
Es gibt auch Platzhalter, um mehrere Topics gleichzeitig abonnieren zu können. Der einstufige Platzhalter (+) ersetzt ein einzelnes Topic-Level.
Beispiel: Abonniertes Topic: "Büro/+/Temperatur" Übereinstimmende Topics: "Büro/Konferenzraum/Temperatur", "Büro/Besprechungsraum/Temperatur", "Büro/Bürochef/Temperatur"
Der mehrstufige Platzhalter (#) ersetzt alle nachfolgenden Topic-Level, unabhängig von ihrer Tiefe.
Beispiel: Abonniertes Topic: "Gebäude/#" Übereinstimmende Topics: "Gebäude/Büro/Etage1/Raum1/Temperatur", "Gebäude/Flur/Licht", "Gebäude/Küche/Tür/Status"
Topics, die mit einem Dollar-Zeichen ($) beginnen, sind für interne Server-Daten reserviert und sollten nicht für den Informationsaustausch zwischen Clients verwendet werden.
Beispiel: Ungültiges Topic: "$SYS/broker/uptime" (für interne Server-Statusinformationen reserviert)
Last changeda year ago