Facebook Twitter Instagram
    Raspberry Pi France
    • Accueil
    • Formation
    • Tutoriels
    • Projets
    • Boutique
      • Acheter un Raspberry Pi
        • Raspberry Pi 2
        • Raspberry Pi 3 A+
        • Raspberry Pi 3 B+
        • Raspberry Pi 4
        • Raspberry Pi Zero W
        • Raspberry Pi Zero WH
        • Kits Raspberry Pi
      • Accessoires
        • Boîtier
        • Cartes SD
        • Alimentation
        • Carte d’extension
      • Autres
        • Périphériques
        • Ecran tactile
        • Câbles
        • Composants
    • Gaming
    Raspberry Pi France
    Home»Tutoriels»Lancer un script Python au démarrage du Raspberry Pi
    Tutoriels

    Lancer un script Python au démarrage du Raspberry Pi

    Raspberry Pi FranceBy Raspberry Pi France22 août 202017 commentaires3 Mins Read
    Facebook Twitter Pinterest LinkedIn Tumblr Email
    Share
    Facebook Twitter LinkedIn Pinterest Email

    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.

    Sommaire

    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 🙂

    4.1/5 - (10 votes)
    100%
    100%
    Cet article vous a été utile ?
    • User Ratings (23 Votes)
      7.4
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Raspberry Pi France

    Related Posts

    Comment brancher un Raspberry pi ?

    5 janvier 2023

    Raspberry pi 3 ou tablette Android ?

    5 janvier 2023

    Quelle carte SD pour Raspberry pi 2 ?

    5 janvier 2023

    17 commentaires

    1. Benoît on 12 octobre 2020 13 h 37 min

      Bonjour,

      Merci pour ce petit tuto qui m’a facilité la vie.
      Pas de rc.local, de init.d, etc….

      J’avais juste besoin de lancer 2 scripts qui lançaient 2 executables java pour récuperer les valeurs de deux centrales d’acquisitions.

      En revanche, tout ceci s’éxecute maintenant en arrière plan, il faut que je trouve comment afficher la fenetre…

      Merci!

      Reply
      • Matthieu on 14 février 2021 22 h 05 min

        Bonjour,
        malheureusement pour moi, ce tutoriel ne fonctionne pas.
        Lorsque je lance la commande sh lancement.sh, mon programme se lance correctement mais malgré avoir bien suivi les étapes 3 et 4, et plusieurs tentatives mon programme ne se lance pas au démarrage…
        Cela ne vient surement pas de ce tutoriel qui est bien expliqué et bien clair.
        Cela ne fonctionne pas non plus avec :
        rc.local,
        ni avec: /etc/xdg/lxsession/LXDE-pi/autostart et n’oubliant pas de rendre mon programme executable avec sudo chmod 755 /home/pi/mon_programme.py ou sudo chmod 755 /home/pi/mon_programme.py.
        Bref, je galère mais merci pour ce tutoriel.

        Reply
      • Eratz on 28 décembre 2022 14 h 49 min

        fait un truc qui le marque dans un fichier .txt comme ca t’a juste a ouvrir le fichier pour avoir les infos 😉

        Reply
    2. jean-marc on 3 novembre 2020 23 h 53 min

      cela va me servir à lancer open.cpn dès le demarage de mon Pi4 sous rasbian open-ploteur. merci

      Reply
    3. AurelP on 20 janvier 2021 10 h 23 min

      Merci pour ce tuto, cela m’aide vraiment pour mon projet 😉

      Reply
    4. SGT tabasco on 17 mars 2021 21 h 45 min

      moi pour lancer mon serveur Minecraft donc merci

      Reply
    5. Baptiste on 29 mars 2021 18 h 19 min

      Merci beaucoup !

      Info pour les suivants : j’ai un peu galéré parce que le script lancement.sh n’a fonctionné que quand j’y ai écrit
      cd /home/pi
      sans la fin que tu as donné

      Personnellement, ce tuto m’as servi pour un TIPE de concours d’école d’ingé !

      Reply
    6. Gaubertier Jean-Claude on 28 avril 2021 16 h 53 min

      bonsoir,
      j’ai suivi le tuto , apparemment le réseau ne démarre pas assez vite j’ai des erreurs
      “OSError: [Errno 101] Network is unreachable” peut être faudrait il temporiser le demarrage?

      Reply
    7. Jolan on 5 mai 2021 16 h 56 min

      Merci beaucoup pour ce tuto !

      Pour info, avec un petit sleep 90s en début de script on peut temporiser, dans le cas d’une attende de connexion internet pour lancer le script par exemple.

      Reply
    8. Noham C. on 14 juin 2021 14 h 43 min

      Merci, moi ca me lance mon script pour mon bar automatique 🙂

      Reply
    9. Zak on 4 août 2021 9 h 26 min

      Bonjour, très novice dans le code. Dois-je mettre #!/bin/bash au debut du fichier shell? Merci par avance.

      Reply
    10. Olivier on 11 octobre 2021 20 h 03 min

      Je dois gérer des machines a laver d’une copropriété où les machines sont communes. Chacun a donc un badge RFID pour allumer l’une ou l’autre machine. J’ai donc développé un p’tit soft qui permet de gérer tout ca. Une lecture du badge en Python qui ensuite envoie des requêtes PHP avec une Maria DB (MySQL) Il me fallait donc la possibilité de lancer le soft automatiquement au démarrage en cas de panne ou de maintenance. Merci
      Seul petit bémol, pas d’explication concernant le :”2>&1″.
      Perso, j’ai ce que je cherchais donc j’ai pas investigué, mais en tous cas, chez moi ca ne marche pas et je n’ai pas besoin de loguer.

      Reply
    11. Côme on 22 janvier 2022 9 h 51 min

      Cela va me permettre de lancer un script pour contrôler le ventilateur. Merci pour ce tuto

      Reply
    12. Pascal on 11 février 2022 19 h 12 min

      Parfait !

      Reply
    13. Pondicq on 6 avril 2022 10 h 34 min

      Bonjour et merci pour ce tuto. Mais, si dans ce programme de démarrage j’introduis une prise de vue avec une caméra, elle n’apparaît pas mais fonctionne en arrière-plan!!! y a-t-il une solution? Merci pour vos réponses.

      Reply
    14. Pondicq on 11 avril 2022 18 h 00 min

      Je bataille depuis plusieurs jours, mais je vais y arriver

      Reply
      • HELP!!!! on 18 décembre 2022 22 h 27 min

        Bonjours,
        je suis débutant en Rasberrypi et j’essaye d’apprendre.
        J’ai suivis ton tuto et je comprend pas j’ai plein de message d’erreur et j’arrive pas a reboot le système car ca me marque failed.

        Reply

    Leave A Reply Cancel Reply

    Cliquer ici pour recevoir le guide
    Le Raspberry Pi
    Raspberry Pi 4 Raspberry Pi 4 - 4 Go - Officiel Cliquez ici pour plus d'informations
    Raspberry Pi 4 kit Kit conseillé : Raspberry Pi 4 Cliquez ici pour plus d'informations
    Maîtriser son Raspberry Pi
    Livre Raspberry Pi Livre conseillé aux débutants Cliquez ici pour plus d'informations
    Le kit Media Center

     

    Kit Raspberry Pi Media Center
    Kit Media Center : Raspberry Pi 3 B+
    Cliquez ici pour plus d’informations

     

    Cliquer ici pour recevoir le guide
    Facebook Twitter Instagram Pinterest
    © 2023 ThemeSphere. Designed by ThemeSphere.

    Type above and press Enter to search. Press Esc to cancel.