Comment exécuter un programme au démarrage de la Raspberry Pi ?
On a parfois besoin d’exécuter un programme ou une ligne de commande au moment où notre Raspberry Pi démarre.
C’est notamment le cas quand on fabrique un objet pour de la domotique, et que l’on souhaiterai lancer automatiquement un programme au branchement de l’objet.
Dans ce tutoriel nous allons voir une façon très simple de lancer un programme au démarrage de la Raspberry.
Le matériel que nous allons utiliser.
Dans ce tutoriel nous avons besoin seulement de :
Si vous souhaitez réaliser ce tutoriel sans pouvoir accéder directement à la Raspberry Pi, vous devrez également disposer d’un PC en mesure de lire les cartes SD ou utiliser un adaptateur.
Lancer un programme au démarrage de la Raspberry Pi avec rc.local.
Pour Mac OS et Windows vous aurez besoin de pouvoir accéder à la partition rootfs si vous voulez faire cette opération depuis votre PC. Pour cela, consultez notre tutoriel pour lire une partition Linux depuis Mac et Windows.
Pour lancer un programme au démarrage de la Raspberry Pi le plus simple est d’utiliser le fichier /etc/rc.local
.
Ce fichier contient un ensemble de commandes qui seront exécutées juste avant que la Raspberry Pi n’ai fini de booter.
Pour lancer un programme au démarrage de la Raspberry Pi, il vous suffit donc de modifier le fichier /etc/rc.local
sur la carte SD (depuis la Pi, ou en modifiant le fichier /etc/rc.local
dans la partition rootfs
de la carte branchée à votre PC).
Pour que le programme soit lancé, il vous suffit de chercher la ligne :
exit 0
dans le fichier et d’ajouter la ligne de commande appelant votre programme avant la ligne exit
.
Par exemple, si je veux appeler un script Python 3 nommé example.py
et situé dans le dossier /home/pi
au démarrage, je vais remplacer la ligne exit 0 par :
/usr/bin/python3 /home/pi/example.py
Quelques points importants sont à noter.
Premier point, le programme sera exécuté par l’utilisateur root
et aura donc tous les droits. Attention à ce que vous faîtes !
Deuxième point, vous devriez toujours utiliser les chemins absolus et non relatifs, le comportement des chemins relatifs est imprévisible.
Troisième et dernier point, votre programme doit rendre la main au script ou la Raspberry Pi ne pourra jamais finir de booter. Si votre programme effectue une boucle infinie, vous devez le lancer en tâche de fond en ajoutant un &
après la commande. Dans notre cas cela donnerait :
/usr/bin/python3 /home/pi/example.py &
Votre programme sera désormais correctement lancé au démarrage de la Raspberry Pi !
Lire l'article complet : Comment exécuter un programme au démarrage de la Raspberry Pi ?