Nombreux sont mes projets où, pour fonctionner, il fallait lancer un script Python. Par exemple pour une station de contrôle, un Jukebox avec puce RFID, ou encore un système d’alarme de sécurité.

Le problème est qu’il est assez embêtant de devoir le lancer à la main à chaque démarrage du Raspberry Pi… Car cela implique d’avoir toujours un clavier, une souris et un écran de branché, ou de se connecter en SSH pour le lancer.

La solution est de démarrer le script Python dès que le Raspberry Pi démarre, et nous allons voir comment faire dans cet article.

1. Créer un script shell à exécuter

Dans mon dossier d’utilisateur, je vais créer un fichier shell qui contiendra les commandes à exécuter pour lancer le script Python.

cd /home/pi
nano lancement.sh

La première ligne “cd /home/pi” permet de se déplacer dans votre répertoire utilisateur.

La commande “nano lancement.sh” va créer le fichier “lancement.sh” et ouvrira l’éditeur de texte nano pour que l’on puisse écrire dans le fichier.

Dans le fichier, écrire les commandes pour exécuter votre script Python :

cd /home/pi/mon-programme
python3 mon-programme.py

Sauvegardez avec le raccourci Control + X, confirmez en appuyant sur “O” et validez en appuyant sur Entrée.

2. Rendre le fichier exécutable

Avant de pouvoir utiliser ce fichier shell, il faut le rendre exécutable :

chmod 755 lancement.sh

Testez votre fichier et vérifiez que votre script python se lance avec la commande :

sh lancement.sh

Si tout fonctionne, vous pouvez passer à l’étape suivante.

3. Créer un fichier de logs

Dans votre répertoire utilisateur, créez un dossier “logs” qui contiendra les différents fichiers logs de vos programmes. Ils serviront à avoir une trace écrite en cas d’erreur de votre programme.

mkdir /home/pi/logs

4. Ajouter dans le crontab

crontab est un processus qui permet d’exécuter des scripts en tâche de fond. Il va exécuter des scripts et commandes à des heures précises ou lors d’évènements précis.

Pour ajouter une nouvelle commande dans crontab :

sudo crontab -e

En bas du fichier, ajoutez la ligne :

@reboot sh /home/pi/lancement.sh > /home/pi/logs/log.txt 2>&1

Cette ligne va permettre d’effectuer la commande “sh /home/pi/lancement.sh” lors du démarrage du Raspberry Pi, et enregistrera les messages d’erreur et logs dans le fichier “/home/pi/logs/log.txt”.

Sauvegardez avec le raccourci Control + X.

5. Vérifiez que tout fonctionne

Redémarrez votre Raspberry Pi

reboot

Si votre programme ne s’est pas lancé ou qu’il y a un problème, regardez alors dans le fichier de logs les erreurs qui sont survenues.

J’espère que ça a pu vous aider ! Ecrivez-moi en commentaire à quoi va vous servir ce script 🙂

100%
100%
Cet article vous a été utile ?
  • Note des lecteurs (2 Votes)
    9.7
Partager

A propos de l'auteur

Raspberry Pi France

Laissez-nous un commentaire !

Masterclass : Maîtriser son Raspberry Pi

Ouverture des portes de la formation complète.