Raspberry PI automatisch hoch und runterfahren

Hab einen meiner PIs auf meiner Photovoltaik Inselanlage laufen. Der benötigt zwar nur etwa 2 Watt, allerdings ist mir sogar das für den Winterbetrieb zuviel. Hauptsächlich erfasst der ja nur den Ladestrom von der PV Anlage. (Macht auch noch ein paar andere Dinge, aber die müssen in der Nacht nicht unbedingt laufen.)

Darum wär es ja toll, den PI einfach vom permanent versorgten PI hoch- und runterfahren zu lassen. Im Prinzip ginge das ja recht einfach. Z.B. via Relais einfach den Strom einschalten, und – wenn es abend wird – ein „shutdown“ schicken, und z.B. nach 1 Minute den Strom wieder ausschalten.

Leider kann es in der Praxis allerdings vorkommen, dass das Runterfahren einmal länger, einmal kürzer dauern kann. -> Eine Fixe Zeit ist deshalb natürlich eher ein Glücksspiel; irgendwann muss der PI noch Swap leeren, was auf seine SD Karte, oder auf den Netzwerkspeicher schreiben. -> Dann kommts früher oder später zu einem Datenverlust…

Zum Glück gibts für so ein Problem schon eine (relativ schlecht dokumentierte) Anleitung, bzw. sogar einen Bausatz im Internet. Ist allerdings mit programmierbarer Echtzeituhr und allem möglichen anderen Glim Bim doch recht aufwändig. Drum hab ich mir eine – stark vereinfachte – Schaltung selber aufgebaut :

Das hat auch gleich den Vorteil, dass der Step-Down-Converter im ausgeschalteten Zustand dann nicht mehr läuft.

Die beiden Pins (links unten) werden an den permanent laufenden PI angeschlossen, und schalten den PI ein.

Damit das Ausschalten korrekt funktioniert, muss noch ein Kernelmodul geladen werden. Eigentlich sollte dass via /boot/config.txt gehen. Das hat bei mir allerdings nicht funktioniert.

-> In die rc.local (vor dem exit 0) muss folgendes rein :

dtoverlay gpio-poweroff gpiopin=4 active_low