Table of Contents

MQTT-Protokoll

Standardmäßig erfolgt die MQTT-Verbindung mit TLS gesichert auf den offiziellen OpenTrafficMap-MQTT-Server: mqtts://mqtt.opentrafficmap.org

Alle Topics haben als Präfix its/<nodeid>/, wobei <nodeid> durch die in der Config gesetzte Node-ID ersetzt wird, die pro Node eindeutig sein muss.

Vom Node gepublishte Topics:

Vom Node subscribete Topics:

Im Folgenden werden die Topics in alphabetischer Reihenfolge im Detail beschrieben.

command

Kann gepublisht werden, um einen Befehl auf dem Node auszuführen. Der Statuscode (Erfolg/Fehler) wird vom Node auf command_result gepublisht.

Beispiel:

config_set ledbrightness 128

command_result

Wird vom Node nach dem Ausführen eines Befehls mit command gepublisht. Wenn der Befehl erfolgreich ausgeführt wurde, wird 0 gepublisht, sonst eine andere Zahl.

Wenn vor dem Ausführen ein Fehler auftritt, wird eine Fehlermeldung gepublisht.

info

Direkt nachdem die MQTT-Verbindung aufgebaut ist, publisht der Node eine Nachricht mit grundlegenden Daten zum Node im JSON-Format.

Derzeit sind das:

Beispiel:

{"emac":"3e:dc:75:01:23:45","ver":"0.5.1","hwv":"i5r-r1"}

stats

Alle 60 Sekunden werden in dieses Topic sich ständig ändernde Betriebsdaten des Nodes im JSON-Format gepublisht. Aktuell sind das:

Beispiel:

{"temp":27.5,"rbt":224}

status

Dieses Topic wird für die “Will”-Nachricht verwendet. Wenn der Node online geht, publisht er selbst den Text online. Wenn der Node die Verbindung verliert, publisht der Server ohne Zutun des Nodes offline.

packet

Der Node publisht auf dieses Topic empfangene Frames als rohes 802.11 im Binärformat.

Achtung: Die derzeitige Implementation hängt wegen eines Bugs 8 Bytes Müll an jedes Frame an. In einer zukünftigen Version wird das behoben, und gleichzeitig ein neues Topic verwendet werden.