raspberry pi zero w without keyboard screen

La version Lite de Raspbian Jessie est très bien adaptée aux ressources (plus) limitées du Raspberry Pi Zero W. Node-RED est pré-installé sur la version 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 !

Installer Node-RED sur Raspbian Stretch Lite

Tout est expliqué en détail ici. Connectez-vous en SSH (lisez cet article pour apprendre comment faire) à votre Raspberry Pi Zero W et exécuter cette commande

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).

 

node-red start demarrage naviguateur

Démarrer automatique Node-RED au démarrage du Raspberry Pi

Plusieurs scripts très utiles sont installés en même temps que Node-RED :

  • node-red-stop, pour arrêter manuellement NodeRED
  • node-red-start, pour démarrer manuellement
  • node-red-log permet de visualiser le journal d’exécution. C’est pratique en cas d’erreur d’installation d’un plugin
  • sudo systemctl enable nodered.service, permet d’activer le démarrage automatique (autostart) de Node-RED au démarrage du système Raspbian
  • sudo systemctl disable nodered.service, permet de désactiver le démarrage automatique

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 avec PM2 (déconseillé)

Après plusieurs mois d’utilisation, j’ai rencontré de nombreux problèmes de démarrage automatique à l’allumage du Raspberry PI. Je vous conseille plutôt de démarrer Node-RED à l’aide du script Systemd officiel.

Plutôt que de démarrer Node-RED à l’aide d’un service Linux, il est également possible 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 que le chemin vers Node-RED soit sauvegardé pour le prochain redémarrage de Raspbian.

node-red pm2 save path

 

Pour en savoir plus sur Node-RED, consultez la catégorie dédiée.

Tous les tutoriels sur Node-RED

Pour aller plus loin, voici les derniers tutoriels publiés sur Node-RED

 

Mises à jour

[06/06/2018] scripts de démarrage automatique

 

Print Friendly, PDF & Email

Inscrivez-vous à la newsletter hebdomadaire

Aucun spam et aucun autre usage ne sera fait de votre email. Vous pouvez vous désinscrire à tout moment.

Comparateur de prix

Bons plans

Les offres suivantes se terminent bientôt. Utilisez le coupon indiqué pour profiter du prix promo

Domotique et objets connectés à faire soi-même