Utilisation de MQTT
Utilisation du broker MQTT interne
Cette page explique comment accéder à votre serveur MQTT, récupérer les paquets uplink et envoyer des paquets downlink. La dernière section de cette page décrit comment changer le mot de passe du broker MQTT intégré.
Les exemples sont basés sur Linux, vous pouvez faire de même sur Windows.
Uplink
-
Le sujet par défaut est
/uplink-topic
-
Sur le serveur MQTT, vous pouvez vous abonner au sujet "/uplink-topic", et vérifier que vous recevez vos paquets :
- Exemple sur le broker MQTT local :
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 et statut du Downlink
- Les sujets par défaut sont
/downlink-topic
et/downlink-status-topic
- Les différentes raisons d'échec de livraison des paquets Downlink sont décrites ici (recherchez DeliveryFailedCause dans le
DevEUI_downlink_Sent report
).
Paquets Downlink bruts encodés
-
Vous pouvez envoyer des paquets downlink bruts encodés en utilisant le sujet "downlink-topic" (en utilisant payload_hex).
-
Exemple sur le broker MQTT local :
mosquitto_pub -h <box ip> -u tao -P tao -t "/downlink-topic" -m '{"DevEUI_downlink":{"DevEUI":"20635F0106000324","FPort":"2","payload_hex": "0102"}}'
-
-
Ensuite, abonnez-vous au sujet "downlink-status-topic" pour récupérer le statut.
-
Exemple sur le broker MQTT local :
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"}}}
-
Paquets Downlink décodés
-
Au lieu d'envoyer des payloads bruts encodés, vous pouvez envoyer des paquets downlink décodés en utilisant le sujet "downlink-topic" (en utilisant payload) et vous appuyer sur les fonctions d'encodage de ThingPark Enterprise All-in-one. Cette option est uniquement disponible pour les capteurs de marque ayant des drivers intégrés pour le payload.
-
Exemple sur le broker MQTT local :
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"}}}}'
-
-
Ensuite, abonnez-vous au sujet "downlink-status-topic" pour récupérer le statut.
-
Exemple sur le broker MQTT local :
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"}}}}}
-
Changement du mot de passe du broker MQTT
Le broker MQTT intégré est accessible via l'utilisateur 'tao'. Le mot de passe par défaut est 'tao', vous pouvez le changer en utilisant une commande CLI ou en utilisant le nœud 'settings' :
-
Double-cliquez sur le nœud pour ouvrir le panneau de configuration, seul le mot de passe MQTT local est configurable pour le moment.
-
Changez le "Mot de passe MQTT local" et cliquez sur Terminé.
-
Déployer la configuration comme lorsque vous mettez à jour un flux normal.
-
Activez le changement de mot de passe, cliquez sur le nœud "settings" :
-
Votre mot de passe est maintenant changé et toutes vos connexions MQTT locales sont déconnectées : vous devez reconfigurer vos nœuds 'MQTT in' et 'MQTT out' pour utiliser le nouveau mot de passe.
Utilisation d'un broker MQTT externe
Cette tâche décrit comment modifier la configuration par défaut de MQTT pour définir un broker MQTT externe au lieu du broker interne pré-configuré.
-
Connectez-vous à l'éditeur Node-RED.
-
Pour modifier la configuration du broker MQTT, double-cliquez sur le nœud
MQTT /uplink-topic
du flux UPLINK/DOWNLINK, puis configurez le nœud MQTT :
Vous pouvez changer ici les paramètres standard MQTT :
- Topic : le sujet où vous recevrez les uplinks
- QoS, Retain : attributs standard MQTT
- Nom : le nom d'affichage du nœud.
- Cliquez sur l'icône "stylo" du serveur pour configurer le serveur MQTT : la configuration par défaut est le broker MQTT local, mais vous pouvez la changer pour configurer un broker MQTT externe :
Vous pouvez changer ici les principaux attributs du serveur : adresse du serveur, sécurité du serveur, connexion sécurisée du serveur...
-
N'oubliez pas d'appliquer votre configuration en cliquant sur
. Puis cliquez sur
pour enregistrer la configuration du nœud MQTT.
-
Répétez les mêmes étapes pour le nœud
MQTT /downlink-topic
, la configuration du serveur est globale aux deux nœuds. -
Après avoir terminé toute votre reconfiguration Node-RED, vous devez cliquer sur Déployer pour pousser votre nouveau flux sur le serveur.
-> Après quelques secondes, vous devriez voir que vos nœuds MQTT se connectent :