Ein und Ausschalter für Raspberry Pi

Leider kann Raspberry Pi nur mit Spannung gestartet werden, zum Ausschalten muss man „shutdown -h now“ im Terminal herunterfahren. Beim wieder Einschalten muss der Raspberry Pi von der Spannungsversorgung getrennt und wieder verbunden werden. Stecker ziehen verschleisst die micro-USB Buchse und diese sind bestimmt nicht für x mal ein-/ausstecken pro Tag ausgelegt. Ich habe hier eine einfache Schaltung für das Raspberry Pi Modell B Rev 2.0, die es ermöglicht per Tastendruck sauber Herunterzufahren und sich auf Kopfdruck wieder einschaltet.

Schaltplan

Schaltplan

Der erste Schalter ist für Hardreset bzw. zum Einschalten wenn der Rechner bereits aus ist. Schalter zwei ist zum Herunterfahren, hierfür ist mein Pythonscript notwendig. Die LED ist keine Power-LED! Die LED leuchtet nur wenn das Script läuft, beim Dücken der Herunterfahrtaste blinkt die LED zur Bestätigung. Der Hardreset sollte nur im Notfall verwendet werden, das kann das Dateisystem beschädigen. Reset ist nichts anderes, wie im laufenden Betrieb den Stecker ziehen!

Ich habe hier den P5 Header benutzt, damit der P1 frei für Module bleibt. Man kann aber auch P1 nutzen, dazu muss aber das Script angepasst werden! P6 muss aber nachgerüstet werden, ohne P6 ist das Einschalten nicht möglich.

Stückliste:
2 x Kurzhubtaster
1 x LED (3V)
1 x Lochrasterplatine
2 x 1 KOhm Widerstand
1 x 330 Ohm Widerstand
1 x 2-Pin Steckleiste (P6)
1 x 4-Pin Steckleiste (P5 Header)
6 x Jumperkabel

Schaltplan:

Tastendruck Herunterfahren / Reset

Tastendruck Herunterfahren / Reset

Raspberry Pi P6 und P5 header

Raspberry Pi P6 und P5 header

Software:

Dieses Python-Script runterladen und entpacken.

shutdown

Bei mir liegt die Datei im Verzeichniss /home/pi/Desktop/script/, dies kann aber von euch frei gewählt werden.
Die entpakte Datei muss nun für den Benutzer Root ausführbar gemacht werden.

chown root:root shutdown.py
chmod x shutdown.py

Damit das Script beim Neustart automatisch gestartet wird, muss die Datei rc.local angepasst werden.

vi /etc/rc.local

Die letzte Zeile sollte so aussehen:

exit 0

Vor dieser Zeile muss noch angegeben werden, wo das Script abgespeichert wurde.
Bei mir lautet die Zeile so:

python /home/pi/Desktop/script/shutdown.py &

Taster und LED fertig im Gehäuse

Taster und LED fertig im Gehäuse