Modifications

Sauter à la navigation Sauter à la recherche
6 218 octets ajoutés ,  2 avril 2017 à 14:37
Ligne 1 : Ligne 1 :  
{{Rasp-Node-Red-NAV}}
 
{{Rasp-Node-Red-NAV}}
   −
Voir le point [http://nodered.org/docs/hardware/raspberrypi "Adding Autostart capability using SystemD" sur cette page]  
+
== Raspbian Whezzy et SystemV ==
 +
Node-Red est vraiment au top dès son installation mais il nécessite encore un opération manuelle pour le démarrer (''start''), l'arrêter (''stop'') et démarrer au boot.
 +
 
 +
La section suivante décrit comment mettre en oeuvre un "init script" qui effectue le travail pour vous. System V est une collection de script qui supervise le démarrage et l'arrêt des systèmes type Unix. Il était encore utilisé '''jusqu'à Raspbian Whezzy'''. Depuis Raspbian Jessie c'est SystemD qui est utilisé (cfr section suivante).
 +
 
 +
Pour commencer, nous allons créer un nouveau fichier {{fname|init.d}} qui est principalement un script qui démarre, arrête et redémarre les services sous Linux.
 +
 
 +
<syntaxhighlight lang="bash">
 +
sudo nano /etc/init.d/node_red
 +
</syntaxhighlight>
 +
 
 +
Ensuite, copiez/collez le code suivant dans le fichier. Pour faire cela avec Nano, copiez le texte suivant dans le presse papier puis faites un clique droit dans la fenêtre de Nano... vous verrez le texte apparaître.
 +
 
 +
La seule chose que vous pourriez avoir besoin de changer avant de sauver le fichier c'est le répertoire d'installation Node-Red sur votre ordinateur. Si vous avez attentivement suivit les instructions alors vous ne devriez pas avoir besoin de changer le contenu du fichier.
 +
 
 +
Pour ceux qui on installé Node-Red dans un emplacement différent changer simplement la ligne “cd /home/pi/node-red” pour refléter l'installation actuelle de votre Pi.
 +
 
 +
<syntaxhighlight lang="bash">
 +
#! /bin/sh
 +
# Starts and stops Node-RED
 +
# /etc/init.d/node_red
 +
### BEGIN INIT INFO
 +
# Provides:    node_red
 +
# Required-Start:      $syslog
 +
# Required-Stop:        $syslog
 +
# Default-Start:        2 3 4 5
 +
# Default-Stop:        0 1 6
 +
# Short-Description:    Node-RED initialisation
 +
### END INIT INFO
 +
# Note: this runs as the user called pi
 +
 +
PIDFILE=/var/run/nodered.pid
 +
 +
#Load up node red when called
 +
case "$1" in
 +
 +
start)
 +
        echo "Starting Node-Red.."
 +
        su -l pi -c "cd node-red; screen -dmS red node --max-old-space-size=64 red.js
 +
        echo `screen -ls red | sed -n '2p' | cut -f1 -d.` > $PIDFILE
 +
# or
 +
        #nohup node --max-old-space-size=128 red.js > /var/log/node-red.log &
 +
        #echo $! > $PIDFILE
 +
;;
 +
 +
stop)
 +
        echo "Stopping Node-Red.."
 +
        su -l pi -c "screen -S red -X quit"
 +
# or
 +
        #kill `cat $PIDFILE`
 +
        rm -f $PIDFILE
 +
;;
 +
 +
restart)
 +
        echo "Restarting Node-Red.."
 +
        $0 stop
 +
        $0 start
 +
;;
 +
*)
 +
        echo "Usage: $0 {start|stop|restart}"
 +
        exit 1
 +
esac
 +
</syntaxhighlight>
 +
 
 +
Une fois que vous avez collé (et mis à jour) le script ci-dessus PRESSEZ CTRL+X puis Y pour sauver les changements. Ensuite nous allons le rendre exécutable de sorte que nous pourrons l'exécuter.
 +
 
 +
<syntaxhighlight lang="bash">
 +
sudo chmod +x /etc/init.d/node_red
 +
</syntaxhighlight>
 +
 
 +
Pour finir, pour s'assurer que le script démarrera au démarrage du Pi (boot) et arrêté durant sa mise à l'arrêt, il faudra faire une mise-à-jour du fichier {{fname|rc.d}} .
 +
 
 +
<syntaxhighlight lang="bash">
 +
sudo update-rc.d node_red defaults
 +
</syntaxhighlight>
 +
 
 +
Voilà! Simple et efficace. Les commandes suivantes permettent de vérifier le bon fonctionnement du service:
 +
 
 +
<syntaxhighlight lang="bash">
 +
sudo service node_red start
 +
sudo service node_red stop
 +
sudo service node_red restart
 +
</syntaxhighlight>
 +
 
 +
== Raspbian Jessie et SystemD ==
 +
Depuis Raspbian Jessie, System 5 (mode de démarrage du système) à été remplacé par SystemD. Vous trouverez ci-dessous des informations traduites depuis le lien [http://nodered.org/docs/hardware/raspberrypi "Adding Autostart capability using SystemD"] (''nodered.org, anglais'')
 +
 
 +
Vous pouvez démarrer automatiquement Node-RED sur un Pi en utilisant SystemD. Il est possible de démarrer et arrêter le service en utilisant le fichier {{fname|nodered.service}} et les scripts de démarrage et arrêt (''start'' et ''stop''):
 +
 
 +
<syntaxhighlight lang="bash">
 +
sudo wget https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/nodered.service -O /lib/systemd/system/nodered.service
 +
sudo wget https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/node-red-start -O /usr/bin/node-red-start
 +
sudo wget https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/node-red-stop -O /usr/bin/node-red-stop
 +
sudo chmod +x /usr/bin/node-red-st*
 +
sudo systemctl daemon-reload
 +
</syntaxhighlight>
 +
 
 +
Info: ces commandes sont exécutées en "root" à l'aide de {{fname|sudo}} permettent de télécharger les 3 fichiers requis en les plaçant au bon endroit, rendre les scripts exécutables et recharger le deamon de systemd.
 +
 
 +
Node-RED peut alors être démarré et arrêté en utilisant les commandes {{fname|node-red-start}} et {{fname|node-red-stop}} (voyez le point précédent pour plus d'informations)
 +
 
 +
Ensuite, pour activer le démarrage automatique de Node-RED à chaque démarrage de votre Pi (ou crash)
 +
 
 +
<syntaxhighlight lang="bash">
 +
sudo systemctl enable nodered.service
 +
</syntaxhighlight>
 +
 
 +
Et vous pouvez désactiver la fonctionnalité en utilisant
 +
 
 +
<syntaxhighlight lang="bash">
 +
sudo systemctl disable nodered.service
 +
</syntaxhighlight>
 +
 
 +
Systemd utilise le fichier {{fname|/var/log/system.log}} pour logging. Vous pouvez utiliser la commande suivante '''pour filtrer les entrées''' du log:
 +
 
 +
<syntaxhighlight lang="bash">
 +
sudo journalctl -f -u nodered -o cat
 +
</syntaxhighlight>
 +
 
 +
Il est également possible de modifier l'environnement de SystemD et utiliser un proxy. Voyez ce [http://nodered.org/docs/hardware/raspberrypi lien dans la documentation de nodered.org].
 +
 
 +
== Mise-à-jour de Node-Red ==
 +
Un dernier point concernant la gestion de Node-Red: il faut le garder à jour. Etant donné que nous avons cloner le dépôt Node-Red original, nous pouvons rapatrier facilement la dernière version depuis le dépôt GitHub.
 +
 
 +
Pour faire cela, il suffit de vous rendre dans le répertoire d'installation de Node-Red:
 +
 
 +
<syntaxhighlight lang="bash">
 +
cd ~/node-red/
 +
</syntaxhighlight>
 +
 
 +
Et d'exécuter la commande {{fname|git pull}} :
 +
 
 +
<syntaxhighlight lang="bash">
 +
sudo git pull
 +
</syntaxhighlight>
 +
 
 +
S'il y a le moindre changement, il sera téléchargé et inclus dans les sources de votre clone. Vous pouvez alors redémarrer Node-Red en utilisant le script de service (écrit ci-avant) .
    
{{Rasp-Node-Red-TRAILER}}
 
{{Rasp-Node-Red-TRAILER}}
29 917

modifications

Menu de navigation