La version Lite de Raspbian est très bien adaptée aux ressources (plus) limitées du Raspberry Pi Zero WH. Node-RED est pré-installé sur la version Desktop intégrant le bureau graphique Pixel mais ce n’est pas le cas pour la version Lite. Heureusement, il y a un maintenant un script d’installation qui s’occupe de tout !
Exécuter le script d’installation
Tout est expliqué en détail ici. Connectez-vous en SSH au Raspberry Pi Zero W et exécutez la commande suivante
bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered)
Cette commande lance le script d’installation qui s’occupe de tout !
Running for user pi at /home/pi This can take 20-30 minutes on a Pi 1 - please wait. Stop Node-RED ✔ Remove old version of Node-RED ✔ Remove old version of node.js ✔ Install node.js for Armv6 ✔ Node v6.11.0 Npm 3.10.10 Clean npm cache ✔ Install Node-RED core ✔ 0.16.2 Install extra nodes ✔ Install serialport node ✔ Npm rebuild existing nodes ✔ Add menu shortcut ✔ Update systemd script ✔ Update update script ✔ Any errors will be logged to /var/log/nodered-install.log All done. You can now start Node-RED with the command node-red-start or using the icon under Menu / Programming / Node-RED Then point your browser to localhost:1880 or http://{your_pi_ip-address}:1880 Started Thu 22 Jun 14:42:28 UTC 2017 - Finished Thu 22 Jun 15:00:14 UTC 2017
Le script réalise les opérations suivantes
- Il arrête et désinstalle la version actuelle de Node-RED et Node.js. Cette étape n’est pas anodine si vous avez d’autres projets basés sur Node.js
- Il installe ensuite Node.js pour les OSC Arm V6
- Installe Node-RED et les scripts systemd qui permettent de lancer automatiquement Node-RED au démarrage de Raspbian
Le script d’installation dure environ une trentaine de minutes sur un Raspberry Pi Zero W. Toutes les ressources sont compilées directement après le téléchargement. Pour suivre le déroulement de l’installation, ouvrez une seconde connexion SSH et exécutez la commande suivante.
tail -f /var/log/nodered-install.log
Pour interrompre la commande, utilisez la combinaison de touches CTRL+C.
Quelques commandes utiles
Après l’installation, il est nécessaire d’activer manuellement le démarrage automatique de Node-RED au lancement de Raspbian Jessie. Pour cela, exécutez la commande
sudo systemctl enable nodered.service
Au contraire, pour arrêter le service (vous n’avez plus besoin de Node-RED et vous souhaiter récupérer un peu de ressources), exécutez la commande
sudo systemctl disable nodered.service
Pour lancer manuellement Node-RED
node-red-start
Une fois lancé, vous pouvez accéder à Node-RED depuis n’importe quel poste sur le réseau local (y compris une tablette ou un smartphone) en saisissant l’adresse suivante
IP_NODERED:1880
Quelques répertoires à connaître
Fichier ou répertoire | Localisation |
---|---|
Répertoire utilisateur | /home/pi/.node-red |
Fichier de configuration | /home/pi/.node-red/settings.js |
Flows (fichier) | /home/pi/.node-red/flows_raspberrypi.json |
Démarrer automatiquement Node-Red au lancement du Raspberry Pi
C’est rapidement pénible de devoir démarrer manuellement NodeRED. Heureusement, il existe Votre programme est prêt et vous voudriez qu’il se lance automatiquement au démarrage de votre Raspberry Pi. C’est tout à fait possible, saisissez la commande suivante dans le Terminal.
sudo systemctrl enable nodred.service
Maintenant, NR devient un simple service (deamon linux) qui est démarré à l’allumage de Raspbian.
Pour interrompre le démarrage automatique, saisissez la commande suivante
sudo systemctrl disable nodred.service
Démarrer automatiquement avec PM2 (déconseillé)
Plutôt que de démarrer Node-RED à l’aide d’un service Linux, il est plus facile d’installer le gestionnaire de processus PM2 pour Nodejs. PM2 offre d’autres outils permettant de gérer plus facilement le démarrage, l’arrêt, l’ouverture du journal d’exécution, etc. C’est bien plus souple que d’utiliser les services Linux et systemd.
Commencez par installer PM2 avec cette commande :
sudo npm install -g pm2
Si vous ne connaissez pas chemin de Node-RED, exécutez cette commande
which node-red
Sur Linux / Raspbian, il est devrait se trouver dans /usr/bin/node-red.
Pour lancer NodeRED, exécutez cette commande PM2
pm2 start /usr/bin/node-red -- -v
Pour finir, on enregistre la configuration et on active le démarrage automatique. C’est tout.
pm2 save pm2 startup
Après l’exécution de la commande mp2 startup, il pourrait être nécessaire de modifier le fichier de configuration de systemd. Dans ce cas, vous aurez le message suivant
pi@raspberry:~ $ pm2 startup [PM2] Init System found: systemd [PM2] To setup the Startup Script, copy/paste the following command: sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u pi --hp /home/pi
Collez et exécutez la commande indiquée.
Pour aller plus loi avec 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
- Débuter avec l’Arduino et Node-RED. Enregistrer et afficher des mesures en JSON depuis le port série
- Routeur MQTT Node-RED vers cloudMQTT, accéder à vos modules Sonoff Tasmota
- Test du détecteur de fumée Xiaomi Mijia Honeywell avec Domoticz, notification d’urgence avec PushOver
- Installer Grafana sur macOS et Raspbian pour Raspberry Pi. Exemple de dashboard pour objet connecté MySensors avec Node-RED et InfluxDB
- Plugin HomeKit pour Node-RED, plus facile à utiliser que Homebridge
La version de node installee est assez ancienne (la 12). La version 14 est disponible sur arm7. Y-a-t-il un moyen de la mettre a jour?