Programmieren für Ingenieure

Auführung von Python Programmen 5: Raspberry Pi Ausführung

In dieser Lektion möchte ich dir zeigen wie du die Ausführung deiner Programme automatisieren kannst.

In der letzten Lektion hast du gelernt wie du einen Headless Raspberry Pi aufsetzen und dich über SSH und VNC mit ihm verbinden kannst.
In dieser Lektion schauen wir uns nun das letzte Puzzlestück an – wie kannst du dein Programm automatisch starten und immer wieder ausführen lassen?

6) Programmausführung Automatisieren
Dafür musst du zuerst dein Programm von deinem Rechner auf den Raspberry Pi kopieren.
Das geht relative einfach indem du die File Transfer Funktion des VNC Viewer nutzt.

Um die kopierte .py Datei deines Programmes ausführen zu können, solltest du daran denken die Zugriffsrechte anzupassen, sodass sie auch ausgeführt werden kann.
Das kannst du entweder über Rechtsklick – Eigenschaften – Rechte – Ausführung machen, oder du nutzt den folgenden Terminal Befehl:

chmod 755 StartAtPiStartup.sh

Nachdem du auch sichergestellt hast, dass alle benötigten Module installiert sind, solltest du dein .py Programm durch einen einfachen Doppelklick ausführen können.

Um das Programm automatisch zu starten nutze ich meistens eine .sh Datei (auch Shell Skript genannt).
Diese kannst du dir vorstellen wie das Linux Äquivalent zu den bereits kennengelernten Windows .bat Dateien.
Das hat den Vorteil, dass wir einstellen können, dass diese Datei nach dem Start automatisch ausgeführt werden soll und wir zum Beispiel auch gleich das starten des VNC Servers mit einbauen können.
Wenn du möchtest kannst du einfach das folgende StartAtPiStartup.sh Skript kopieren und als Vorlage nutzen:

#!/bin/sh

# 180 Sekunden Verzögerung
sleep 180

# VNC Server starten
vncserver :1 -geometry 1920×1080

# Zum Speicherort deines Programmes wechseln
cd /home/pi/ORDNER_NAME

# Programm einmal pro Stunde ausführen
while true
do
    python3 NAME_DEINES_PROGRAMMES.py
    sleep 3600
done

Auch bei dieser Datei musst du wieder daran denken die Zugriffsrechte anzupassen.

Zuletzt muss nun nur noch eingestellt werden, dass das Skript nach dem Starten automatisch ausgeführt wird, wofür wir Crontab (ähnlich wie der Task Scheduler in Windows) nutzen.
Öffne dazu einfach ein neues Terminal und führe den folgenden Befehl aus:

crontab -e

Daraufhin öffnet sich ein Textdokument (falls du gefragt wirst, womit du es öffnen möchtest, dann wähle einfach den nano Texteditor aus).
Am Ende des Dokumentes kannst du nun die folgende Zeile ergänzen:

@reboot /home/pi/ORDNER_NAME/StartAtPiStartup.sh

Nach dem Speichern der Datei wird nun nach jedem Start automatisch das StartAtPiStartup.sh Skript ausgeführt, welches wiederum den VNC Server startet und anschließend ein Mal pro Stunde dein Programm ausführt.

Falls du Fragen hast oder dir noch etwas unklar ist, dann lass es mich bitte unbedingt wissen!
Vielen Dank fürs Mitmachen, und ich freue mich schon sehr darauf dich gleich in der nächsten Lektion wiederzusehen =)

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.