Nodered tutoriel
Le projet à https://nodered.org/
Nodered est un service disponible via http.. ce serveur est un projet libre initié par IBM... via ses plugin, il apporte de nombreuses solutions en tant que "broker" !! Le langage de programmation est le javascript, et d'ailleurs ce serveur est basé sur un environnement nodejs
Cet intergiciel s'utilise facilement : il est basé sur la notion de flow de données (équivalent à LabView) et le travail consiste surtout à assembler et configurer. La totalité de la documentation est à https://nodered.org/docs/ et bien sur vous pouvez commencer par "getting started" et https://nodered.org/docs/user-guide/
au sujet des flows l'essentiel est disponible à https://flows.nodered.org/
1. Installation
pour une version portable (sans interaction avec l'OS Windows)
- création d'un dossier "nodered", puis charger la version zip de nodejs à https://nodejs.org/en/download/
- décompresser nodesj dans un dossier "nodejs" présent dans le dossier principal "nodered"
- ajouter la macro-commande windows "env.bat" dans le dossier "nodered", puis la modifier pour ajouter le code suivant
@echo off
set NodePath=%~dp0nodejs
set PATH=%NodePath%;%PATH%
echo %PATH%
- ouvrir une fenêtre de commande (pas avec powershell !), se déplacer dans le dossier "nodered" et executer la macro-commande "env.bat"
- Dans cette fenêtre, lancer l'installation (commandes suivantes), après avoir vérifier la présence de l'outil node et de son gestionnaire de paquets npm
node --version
npm --version
npm install -g --unsafe-perm node-red
- en cas d'usage de postes de travail au sein de l'UJM avec usage d'un proxy.. lancer dans la fenêtre DOS, les commandes suivantes, avant l'installation
npm config set proxy http://cache.univ-st-etienne.fr:3128/
npm config set https-proxy http://cache.univ-st-etienne.fr:3128/
- pour tester le serveur (optionnel): toujours dans la fenêtre de commande, executer l'instruction suivante, mais attention les configurations sont placées dans votre dossier personnel, voir l'étape suivante pour être vraiment indépendant et maitriser sa localisation
node-red
Une solution optimale consiste à créer une autre macro-commande qui ressemble à la première mais avec un ajustement (un double clic sur celle-ci.. dans le navigateur, permettra alors de lancer le serveur) les flows, et configurations seront sauvegardées dans le dossier créé... 2 étapes
- création d'un sous-dossier "perso" dans le dossier principal
- création d'une autre macro-commande "start.bat" qui contiendra les instructions suivantes
@echo off
set NodePath=%~dp0nodejs
set PATH=%NodePath%;%PATH%
echo %PATH%
set envPath=%~dp0perso
node-red -u %envPath%
L'arborescence des dossiers lorsque l'installation est terminée..

- double clic sur la macro "start.bat" pour lancer le serveur (surveiller la fenêtre DOS pour être sûr que le serveur a bien démarré) et pour profiter de cet outil ouvrir l'url suivante http://localhost:1880/
1.1 mises à jour
pour la mise à jour à la fois de nodered et de ses dépendances : utiliser simplement la commande
npm update -g --all
pour la mise à jour du gestionnaire de paquets lui-même lorsque cela est précisé
npm install -g npm
2. Ajout MQTT & Infludb
- installation du serveur MQTT mosquitto.. pour l'instant, il s'installe dans le dossier "program files".. faire un copier/coller du dossier "mosquitto" dans le dossier d'installation de nodered
- installation Influxdb2 avec quelques consignes à consignes InfluxDb2
- lancement de mosquitto (avec une fenetre de commande)
- lancement de Infludb2 (voir la page dédiée à influxdb2)
- lancement de la macro de lancement de nodered
La structure du dossier est alors la suivante
Autre possibilité : création d'une nouvelle macro "startComplet.bat" avec le code suivant
@echo off
set NodePath=%~dp0nodejs
set PATH=%NodePath%;%PATH%
start mosquitto\mosquitto.exe
start influxdb2\influxd.exe
echo %PATH%
set envPath=%~dp0perso
node-red -u %envPath%
Pour arrêter : simplement fermer la fenetre DOS de mosquitto et influxdb.. ensuite un Ctrl-C dans la fenêtre de nodered, et fermer cette dernière
3. Ajout de plugins
Ce travail consiste à ajouter d'autres outils, qui apparaitront dans la palette.. exemple pour l'ajout des outils utiles à influxdb. Les étapes suivantes
- ouvrir le menu "Manage palette" et dans cette fenêtre ouvrir l'onglet "install", ensuite entrer le terme "influxdb" dans le champ de recherche (icône loupe)
- choisir de préference les versions "contrib", et clic sur le bouton install, l'état bascule vers "installed" lorsque cela est fini, et les flows apparaissent dans la palette
