Dans les précédents tutoriels nous avons vu comment installer Node-RED sur Windows, macOS et Raspbian (Raspberry PI). Dans ce tutoriel nous allons installer Node-RED sur Ubuntu 16.04 LTS (Long Term Support) sur un mini PC à base d’Atom. Nous allons installer Node.js, npm (le gestionnaire de paquet de Node.js) et Node-RED.
Installer Node.js et npm
L’installation de Node.js est très simple sur Ubuntu 16.04 LTS car il est inclus dans les dépôts par défaut. Dans un Terminal, exécutez la commande suivante :
sudo apt-get install nodejs-legacy
Cette commande installe Node.js version v4.2.x LTS ce qui signifie que cette version sera maintenue encore 30 mois à partir de la date de publication (release date), c’est à dire le 12 octobre 2015.
Après l’installation, vérifiez la version installée.
node -v
v4.2.6
Node.js utilise un gestionnaire de paquet appelé npm (Node Package Manager). Il permet d’installer et de gérer les packages. Comme Node-RED est une “sur-couche graphique” de Node.js, il est donc nécessaire de l’installer.
sudo apt-get install npm
Une fois l’installation terminée, vérifiez la version. Si la version est retournée sans erreur, vous pouvez poursuivre l’installation de Node-RED.
npm -v
3.5.2
Installer Node-RED sur Ubuntu (16.04 LTS+)
Node-RED s’installe à l’aide du gestionnaire de paquets npm. Nous allons en profiter pour installer le module node-red-admin qui ajoute quelques outils d’administration pour Node-RED.
sudo npm install -g --unsafe-perm node-red node-red-admin
Par défaut, npm installe les paquets dans le répertoire courant. L’option -g permet d’installer les paquets de manière globale, c’est à dire qu’il seront disponibles pour tous les projets Node.js. Dans ce as, ils sont installés dans le répertoire /usr/local/bin
. L’option --unsafe-perm
permet de passer outre les erreurs qui peuvent se produire durant l’installation. Par exemple lorsque certains modules doivent être compilés au moment de l’installation.
Node-RED utilise le port 1880 par défaut. Il faut donc l’autoriser
sudo ufw allow 1880
Et voilà, on peut maintenant démarrer Node-RED en démarrant avec la commande node-red.
Pour y accéder, ouvrez un navigateur internet et saisissez l’URL suivante dans la barre d’adresse http://localhost:1880.
Lancer Node-RED automatiquement au démarrage
Pour pouvoir démarrer automatiquement Node-RED au démarrage d’Ubuntu, nous allons créer un script qui sera lancé par systemd.
Ouvrez un fichier vide nommé node-red.service
sudo nano /etc/systemd/system/node-red.service
Collez le contenu de ce script puis remplacez la clé UTILISATEUR par votre nom d’utilisateur. Enregistrez le fichier avec CTRL+X puis O.
[Unit]
Description=Node-RED
After=syslog.target network.target
[Service]
ExecStart=/usr/local/bin/node-red-pi --max-old-space-size=128 -v
Restart=on-failure
KillSignal=SIGINT
# log output to syslog as 'node-red'
SyslogIdentifier=node-red
StandardOutput=syslog
# non-root user to run as
WorkingDirectory=/home/UTILISATEUR/
User=UTILISATEUR
Group=UTILISATEUR
[Install]
WantedBy=multi-user.target
Quelques explications sur la configuration :
- La première section (Unit) indique que le service doit démarrer une fois que le réseau et le service syslog sont opérationnels.
- La section [service]. ExecStart indique le programme a démarré ainsi que les ressources allouées à son fonctionnement. Restart=on-failure permet de relancer Node-RED en cas de crash
- Les événements seront identifiées dans le journal système (StandardOutput=syslog) avec l’identifiant node-red.
Maintenant que le fichier de configuration est prêt, on indique à systemd qu’il doit l’exécuter au démarrage.
sudo systemctl enable node-red
Démarrons-le manuellement (N’oubliez pas d’arrêter Node-RED si une autre instance est déjà en cours de fonctionnement).
sudo systemctl start node-red
Maintenant que Node-RED fonctionne comme un service, il faut passer par systemd pour l’arrêter manuellement.
sudo systemctl stop node-red
- Node-RED. Ajouter un widget météo au Dashboard connecté à OpenWeatherMap avec du code HTML / Angular
- Node-RED. Créer un dashboard pour objet connecté. Bouton, liste, interrupteur, slider, formulaire (Partie 1)
- Node-RED. Dashboard pour objet connecté. Jauges, graphiques, notifications, template HTML (Partie 2)
- Intégrer un module ESP32-CAM à un Dashboard Node-RED (firmware modifié)
- Node-RED. Sauvegarde automatique des flows par email, FTP, copie locale