Programm 24/7 laufen lassen

Python auf Einplatinencomputer wie Raspberry Pi, Banana Pi / Python für Micro-Controller
Antworten
unique24
User
Beiträge: 65
Registriert: Donnerstag 5. Juli 2018, 14:51

Guten Morgen,

ich würde auf dem Pi gerne ein Display mit Informationen beschreiben.

Über 5 GPIO´s habe ich Taster angeschlossen, die verschiedene Aktionen ausführen sollen. Gibts da einen Eventlistener oder muss ich die Eingänge ständig pollen?

Zusätzlich soll alle 10sek div. Funktionen aufgerufen und abgearbeitet werden.

Die Software soll aber nie beenden, außer man killt es in der Konsole.

Jede Funktion soll in einem Try/Catch laufen (wenn es das gibt) damit bei einem Fehler die Software neu startet oder sich neu initialisiert.

Hat jemand bitte eine Vorlage, wie die Basis aussehen muss, damit die Software "sicher" 24/7 läuft?

Danke!
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

unique24 hat geschrieben: Donnerstag 14. Mai 2020, 06:01 Gibts da einen Eventlistener oder muss ich die Eingänge ständig pollen?
Ja gibt es, einfach mal in der Dokumentation des Moduls nachlesen, das Du zum Abfragen der gpios benutzt.
Üblicherweise füllt man im Eventhandler nur eine Queue, die in der Hauptschleife angefragt wird und entsprechende Aktionen auslöst.
unique24 hat geschrieben: Donnerstag 14. Mai 2020, 06:01 Jede Funktion soll in einem Try/Catch laufen (wenn es das gibt) damit bei einem Fehler die Software neu startet oder sich neu initialisiert.
Heißt in Python try-except. Einfach mal in der Dokumentation von Python nachlesen.
Das sollte auch nichts neu gestartet werden, sondern der Fehler so behandelt werden, dass das Programm normal weiterlaufen kann.
Antworten