Python Script auf dem Raspberry Pi automatisch starten

Veröffenticht am 28.05.2017    von     in der Kategorie Raspberry Pi     bisher 13 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.

13 Reaktionen (12 Kommentare)

  • Anonym schrieb am 8. Februar 2019:

    Hallo,
    Ich möchte ein Programm für eine Kamera starten lassen.
    Dafür habe ich alle oben genannten Schritte soweit gemacht.

    In diesem Programm wird ein Fenster geöffnet, um das Bild der Kamera anzuzeigen.
    Allerdings funktioniert dies nicht. Ich habe bereits auch schon andere Wege getestet, bis jetzt wurde allerdings höchstens die Kamera ein paar Sekunden gestartet und dann wieder beendet. Wenn ich das Programm so starte funktioniert es ohne Probleme.

    Ich hoffe mir kann schnell jemand helfen.

    • Wolfgang schrieb am 8. Februar 2019:

      Hallo,
      der Beitrag beschreibt den Autostart eines Skriptes für den Betrieb des RasPi ohne Desktop-Modus. Da du ein Fenster mit dem Kamerabild öffnest, gehe ich allerdings von einem Betrieb im Desktop-Modus aus. Vielleicht hilft dir mein Beitrag “Autostart eines Python Programm auf dem Raspberry Pi“.
      Viele Grüße
      Wolfgang

  • Anfänger schrieb am 27. Januar 2019:

    Wenn ich das alles so mache wird die Datei dann ausgeführt als wenn ich in SSH “python test.py” eingebe?
    Ich muss meine Datei normalerweise mit “sudo python3 test.py” starten. Funktioniert das auch mit diese Methode?

    • Wolfgang schrieb am 28. Januar 2019:

      Hallo,
      Deine Vermutung ist richtig. Der Aufruf gleicht der Terminal- bzw. SSH-Eingabe. Wenn Du ein Python 3 Skript verwendest, muss Dein Aufruf entsprechen mit “python3” erfolgen.

      Viele Grüße
      Wolfgang

  • 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