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:
infostatusstatspacketcommand_resultVom Node subscribete Topics:
commandIm Folgenden werden die Topics in alphabetischer Reihenfolge im Detail beschrieben.
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
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.
Direkt nachdem die MQTT-Verbindung aufgebaut ist, publisht der Node eine Nachricht mit grundlegenden Daten zum Node im JSON-Format.
Derzeit sind das:
emac: Die Ethernet-MAC-Adresse des Nodesver: Die Version der aktuell laufenden Firmwarehwv: Die Hardware-Variante des NodesBeispiel:
{"emac":"3e:dc:75:01:23:45","ver":"0.5.1","hwv":"i5r-r1"}
Alle 60 Sekunden werden in dieses Topic sich ständig ändernde Betriebsdaten des Nodes im JSON-Format gepublisht. Aktuell sind das:
temp: Die Temperatur vom LM75B-Temperatursensorrbt: Zeit in Sekunden seit dem letzten Neustart des NodesBeispiel:
{"temp":27.5,"rbt":224}
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.
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.