Python Script auf dem Raspberry Pi automatisch starten

Veröffenticht am 28.05.2017    von     in der Kategorie Raspberry Pi     bisher 9 Reaktionen


Dieser kurze Beitrag soll dir zeigen, wie du dein in Python geschriebenes Programm beim Start des Raspberry Pi automatisch starten und ausführen lässt. Im Gegensatz zu meinem Beitrag “Autostart eines Python Programms auf dem Raspberry Pi“, ist dieser Ansatz für den Betrieb des RasPi ohne Desktop-Modus möglich.

 

 

Erweiterung der Autostart – Datei

Zuerst öffnest du über dein Terminal-Programm die Datei rc.local. Das notwendige Verzeichnis für die Datei findest du im Pfad /etc/. Folgender Befehl ruft den Texteditor Nano zur Bearbeitung der notwendigen Datei auf.

 

Ergänzung der Autostart – Datei

Nun ergänzt du den Inhalt der Datei mit folgender Anweisung. Diese muss vor dem vorhandenen “exit 0” am Ende der Datei eingefügt werden und den Pfad zum existierenden Skript beinhalten.

Im obigen Beispiel wird die Datei test.py im Verzeichnis “home/pi” gestartet.

Hinweis zum Programmaufruf

Die Anweisung wird mit einem “&” Zeichen ergänzt, dies ist insoweit wichtig, denn sollte dein Programm nicht nur einmal durchlaufen, sondern in einer Schleife im Hintergrund laufen, würde der Raspberry Pi ohne “&” ggf. in einer Endlosschleife hängen bleiben und nicht vollständig booten.

 

Letzte Anmerkung

Bedenke bitte, jegliche Änderung am Programm-Code wird erst nach einem Neustart wirksam.



Servus, ich bin Wolfgang.

Blogger – Maker – web & mobile Developer – Dobermann Besitzer.

Mit meinem über die Jahre gesammelten Wissen als Webworker möchte ich dir Hilfestellungen und Anregungen zur Nutzung der sich aus dem digital Lifestyle ergebenden Möglichkeiten und Notwendigkeiten geben.

Einen aktuellen Schwerpunkt auf meinem Blog bildet das Thema IoT im Zusammenspiel mit dem Raspberry Pi.


Unterstützen

Dieser Beitrag hat dir gefallen und konnte dir bei deinem Projekt oder Problem behilflich sein? Dann würde ich mich sehr freuen, wenn du dich mit einer noch so kleinen Spende erkenntlich zeigen möchtest.


Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Notwendige Felder sind mit * markiert.

9 Reaktionen (8 Kommentare)

  • Mirko schrieb am 20. Januar 2019:

    Wie beende ich das geöffnete Programm wieder? Ich kann nichtmals mehr die Konsole öffnen.

    • Wolfgang schrieb am 20. Januar 2019:

      Hallo Mirko,
      hier helfen die normalen Linuxbefehle. Öffne das Terminal (STRG*ALT+T) und lasse Dir mit ps -ax alle Prozesse anzeigen. Über die Prozess-ID (PID) kannst Du mit dem Befehl kill (z.B. kill 1187) das Skript beenden.
      Viele Grüße
      Wolfgang

  • Raul Katos schrieb am 2. Januar 2019:

    Hi Wolfgang,
    eine Frage: muss das py-File mittels chmod +x ausführbar gemacht werden, oder ist das nicht notwendig?
    Danke und Gruß
    Raul

    • Wolfgang schrieb am 2. Januar 2019:

      Hallo Raul,
      wenn Du Dich als User “pi” anmeldest, ist dieser Schritt nicht unbedingt notwendig. Da ich Deinen Anwendungsfall nicht kenne, würde ich aus meiner Erfahrung heraus dies Ausführbarkeit der Datei empfehlen.
      Mit chmod +x machst Du das py-File für alle ausführbar. Ob dies gewünscht ist, kommt auf den Anwendungsfall.
      Viele Grüße
      Wolfgang

  • Marcel schrieb am 8. August 2018:

    Hallo Wolfgang,

    Danke für die Anleitung. Vom Prinzip funktioniert das bei mir auch bis auf eine Kleinigkeit. In meinem Python-Script frage ich die IP-Adresse des Raspberry-PI im Internet mit IPIFY (https://pypi.org/project/ipify) ab. Leider funktioniert das nicht mehr, wenn mein Script über die rc.local gestartet wird. Dann erhalte ich eine Exception von IPIFY vom Typ ConnectionError. Der Raspberry-PI ist aber nach dem Start über das Netzwerk erreichbar. Wenn ich das Script über die Konsole starte funktioniert es wunderbar. Haben sie eine Idee woran das liegt?

    MfG

    • Wolfgang schrieb am 8. August 2018:

      Hallo Marcel,
      für mich hört es sich so an, als wäre der Raspberry noch nicht komplett hochgefahren und hat noch keine Verbindung mit dem Router aufgebaut. An deiner Stelle würde ich in deinem Python-Skript entweder bei Programmstart eine Pause einfügen oder über eine Netzwerkabfrage abwarten, bis die Verbindung zum Router aufgebaut ist.
      Viele Grüße
      Wolfgang

  • Grassator schrieb am 8. September 2017:

    Hallo,

    Ich versuche das nun seit Stunden über Cronjob -e und andere sachen das Programm FreqShow auf einem Raspberry 3 mit einem kleinen 3.5″ Dsiplay automatisch zu starten.
    Nun es Funktioniert nichts, entweder der Raspi hängt sich beim start auf oder er geht nur normal in den Desktop.
    Habe jetzt Ihre Anleitung versucht und es geht immer noch nicht.
    Starten tut das Programm wenn ich am Raspi in der Konsole pi@Piscanner:~/FreqShow $ sudo python freqshow.py
    eingebe.
    Aufgrund der Mobilität sollte keine Tastatur dranhängen sondern das programm direkt starten nach dem reboot.
    Vielleicht wissen Sie ja noch eine Lösung?

    73
    MfG
    Grassator