Gestion des flux de données¶
Dans un terminal, lancer Node-RED avec la commande suivante :
node-red
Dans un navigateur, entrer l'adresse http://127.0.0.1:1880
pour vous connecter à l'instance locale de Node-RED.
Node-RED : application web open source pour gérer les flux de données. Pipelines graphiques pour gérer nos données, filtrer, afficher, bancariser. Peut nécessiter quelques lignes de javascript (possible aussi en python, mais c'est moins ergonomique).
Palette (menu de droite)¶
Dans Commun
, on peut glisser déposer les éléments, et les connecter. Puis en haut à droite, Déployer
. Par défaut, le noeud inject
ajoute un horodatage.
On peut aller voir le debug
(insecte en haut à droite), puis on clique sur la coche à côté de l'horodatage.
On peut modifier le format de l'horodatage en double cliquant dessus, puis en sélectionnant YYYY-MM-DD... dans msg.payload
. On déploie à nouveau, et on voit que le message d'horodatage est modifié.
Propagation de bloc en bloc des messages (msg). Dans la payload, on a les éléments d'intérêt du msg. On peut modifier la payload en cliquant sur la petite horloge dans l'onglet de modification du noeud. On peut décocher le débug si on ne veut pas des messages dans tous les sens.
Test MQTT en local¶
Dans Réseau
, on prend les blocs mqtt in
et mqtt out
. On connecte le message d'inject
au mqtt out
, et le mqtt in
au débug
.
On configure un broker local avec l'adresse localhost. Il faut un sujet/topic dans le mqtt out
, et on s'abonne avec le mqtt_in
à ce topic (attention à bien copier-coller les topics). On envoie un message avec mqtt_out
, et on le reçoit avec mqtt_in
. Il faut cliquer sur la coche bleue à côté du inject pour envoyer le message.
Test MQTT sur le serveur toulousain¶
Connexion
Sécurité
Sujet
Puis Déployer
!
On peut ajouter un débug pour voir les trames qu'on réceptionne du MQTT toulousain. On veut isoler les trames envoyées par certains noeuds. On peut filtrer sur la devadress
ou le devEUI
, ou appargs
Ajouter un noeud fonction
et modifier le message reçu.
On peut décoder la chaine de caractère avec un noeud json.
Récupération des données en CSV¶
Noeud stockage qu'on connect au json. On insère un noeud csv entre les 2 pour formatter les données.
Affichage¶
Pas de noeud par défaut pour le faire, mais on peut enrichir la palette dans le menu en haut à droite => gérer la palette
, puis dans Installer
, chercher node-red-contrib-ui_j
et l'installer. Ça va ajouter des noeuds dans la palette.
On met une fonction en sortie du json pour avoir un seul logger, et une seule valeur. On envoie ça vers un noeud gauge
ou chart
. Dans ces noeuds, il faut créer un noeud de configuration (on peut tout garder par défaut au départ).