Verwendung von MQTT
Den internen MQTT broker verwenden
Auf dieser Seite wird erläutert, wie Sie auf Ihren MQTT-Server zugreifen, uplink-Pakete abrufen und downlink-Pakete senden können. Im letzten Abschnitt dieser Seite wird beschrieben, wie Sie das Passwort des integrierten MQTT broker ändern.
Die Beispiele basieren auf Linux, dasselbe können Sie auch unter Windows tun.
Uplink
-
Standard-Thema ist
/uplink-topic -
Auf dem MQTT-Server können Sie das Thema "/uplink-topic" abonnieren und überprüfen, ob Sie Ihre Pakete erhalten:
- Beispiel auf dem lokalen MQTT broker:
mosquitto_sub -t /uplink-topic -h <box ip> -u tao -P tao
{"DevEUI_uplink":{"Time":"2022-03-01T16:02:56.438+00:00","DevEUI":"20635F0106000324","FPort":17,"FCntUp":14,"ADRbit":1,"MType":2,"FCntDn":2,"payload_hex":"09a0708e0000","mic_hex":"82d06336","Lrcid":"0000000F","LrrRSSI":-93,"LrrSNR":8.75,"LrrESP":-93.543648,"SpFact":7,"SubBand":"G2","Channel":"LC5","DevLrrCnt":1,"Lrrid":"FFFFFFFF","Late":0,"LrrLAT":0,"LrrLON":0,"Lrrs":{"Lrr":[{"Lrrid":"FFFFFFFF","Chain":0,"LrrRSSI":-93,"LrrSNR":8.75,"LrrESP":-93.543648}]},"CustomerID":"tao","ModelCfg":"0","DriverCfg":{"mod":{"pId":"abeeway","mId":"micro-tracker","ver":"3"},"app":{"pId":"abeeway","mId":"asset-tracker","ver":"2"}},"InstantPER":0,"MeanPER":0,"DevAddr":"03AD689F","TxPower":16,"NbTrans":1,"Frequency":867.3,"DynamicClass":"A"},"payload":{"messageType":"SHUTDOWN","trackingMode":"OFF","batteryVoltage":3.41,"ackToken":0,"periodicPosition":false,"temperatureMeasure":27.8,"sosFlag":0,"appState":0,"dynamicMotionState":"STATIC","onDemand":false,"shutdownCause":"USER_ACTION","payload":"09a0708e0000","deviceConfiguration":{"mode":"OFF"}}}
...
Downlink und Downlink-Status
- Die Standard-Topics sind
/downlink-topicund/downlink-status-topic - Die verschiedenen downlink-Übermittlungsfehlerursachen sind hier beschrieben (suchen Sie nach DeliveryFailedCause im
DevEUI_downlink_Sent report).
downlink-Roh-kodierte Pakete
-
Sie können downlink-Roh-kodierte Pakete über das "downlink-topic"-Thema senden (unter Verwendung von payload_hex).
-
Beispiel auf dem lokalen MQTT broker:
mosquitto_pub -h <box ip> -u tao -P tao -t "/downlink-topic" -m '{"DevEUI_downlink":{"DevEUI":"20635F0106000324","FPort":"2","payload_hex": "0102"}}'
-
-
Abonnieren Sie dann das "downlink-status-topic"-Thema, um den Status abzurufen.
-
Beispiel auf dem lokalen MQTT broker:
mosquitto_sub -t /downlink-status-topic -h <box ip> -u tao -P tao
{"response":"queued","payload":{"DevEUI_downlink":{"DevEUI":"20635F0106000324","FPort":"2","payload_hex":"0102"}}}
-
downlink-dekodierte Pakete
-
Anstatt Roh-kodierte payloads zu senden, können Sie dekodierte downlink-Pakete über das "downlink-topic"-Thema senden (unter Verwendung von payload) und sich auf die ThingPark Enterprise All-in-one-Kodierungsfunktionen stützen. Diese Option ist nur für gebrandete Geräte mit integrierten payload-Treibern verfügbar.
-
Beispiel auf dem lokalen MQTT broker:
mosquitto_pub -h <box ip> -u tao -P tao -t "/downlink-topic" -m '{"DevEUI_downlink":{"DevEUI":"20635F0106000324","FPort":"2","payload":{"downMessageType":"REQUEST_CONFIG","ackToken":1},"Confirmed":"1","FlushDownlinkQueue":"1","DriverCfg":{"app":{"pId":"abeeway","mId":"asset-tracker","ver":"2"}}}}'
-
-
Abonnieren Sie dann das "downlink-status-topic"-Thema, um den Status abzurufen.
-
Beispiel auf dem lokalen MQTT broker:
mosquitto_sub -t /downlink-status-topic -h <box ip> -u tao -P tao
{"response":"queued","payload":{"DevEUI_downlink":{"DevEUI":"20635F0106000324","FPort":"2","payload":{"downMessageType":"REQUEST_CONFIG","ackToken":1},"Confirmed":"1","FlushDownlinkQueue":"1","DriverCfg":{"app":{"pId":"abeeway","mId":"asset-tracker","ver":"2"}}}}}
-
Ändern des MQTT broker-Passworts
Der integrierte MQTT broker ist über den Benutzer 'tao' zugänglich. Das Standardpasswort ist 'tao'. Sie können es mit einem CLI-Befehl oder über den 'settings'-Knoten ändern:

-
Doppelklicken Sie auf den Knoten, um das Konfigurationsfenster zu öffnen; derzeit ist nur das lokale MQTT-Passwort konfigurierbar.

-
Ändern Sie das "Local MQTT Password" und klicken Sie auf Done.
-
Deploy der Konfiguration, wie wenn Sie einen normalen Flow aktualisieren.
-
Aktivieren Sie die Passwortänderung, indem Sie auf den "settings"-Knoten klicken:

-
Ihr Passwort ist nun geändert und alle Ihre lokalen MQTT konnektoren werden getrennt: Sie müssen Ihre 'MQTT in'- und 'MQTT out'-Knoten so neu konfigurieren, dass sie das neue Passwort verwenden.
Verwendung eines externen MQTT broker
In dieser Aufgabe wird beschrieben, wie Sie die Standard-MQTT-Konfiguration ändern, um einen externen MQTT broker anstelle des vorkonfigurierten internen broker festzulegen.
-
Stellen Sie eine Verbindung mit dem Node-RED-Editor her.
-
Um die MQTT broker-Konfiguration zu ändern, doppelklicken Sie auf den
MQTT /uplink-topic-Knoten des UPLINK/DOWNLINK-Flows und konfigurieren Sie dann den MQTT-Knoten:
Hier können Sie die Standard-MQTT-Einstellungen ändern:
- Thema: das Thema, unter dem Sie die uplink empfangen
- QoS, Retain: Standard-MQTT-Attribute
- Name: der Anzeigename des Knotens.
-
Klicken Sie auf das Server-"Stift"-Symbol, um den MQTT-Server zu konfigurieren: Die Standardkonfiguration ist der lokale MQTT broker, Sie können dies jedoch ändern, um einen externen MQTT broker zu konfigurieren:

Hier können Sie die wichtigsten Serverattribute ändern: Serveradresse, Serversicherheit, serverkonnektoren...
-
Vergessen Sie nicht, Ihre Konfiguration anzuwenden, indem Sie auf
klicken. Klicken Sie anschließend auf
, um die MQTT-Knoten-Konfiguration zu speichern.
-
Wiederholen Sie die gleichen Schritte für den
MQTT /downlink-topic-Knoten; die Serverkonfiguration gilt global für beide Knoten. -
Nachdem Sie Ihre gesamte Node-RED-Rekonfiguration abgeschlossen haben, müssen Sie auf Deploy klicken, um Ihren neuen Flow auf den Server zu übertragen.

-> Nach einigen Sekunden sollten Sie sehen, dass Ihre MQTT-Knoten verbunden werden:
