Raspberry Pi: Herunterfahren per Taster (mit Python und GPIO Zero)

Wie schaltest Du einen Raspberry Pi richtig aus? Genau, Du fährst ihn softwareseitig herunter, auch Shutdown genannt. Wie jeden anderen Computer auch. Dafür gibt es in der Regel im Betriebssystem eine Menü-Funktion.
Durch das softwareseitige Herunterfahren wird sichergestellt, dass alle Speicherinhalte auf den Massenspeicher geschrieben und alle Prozesse kontrolliert beendet werden. Auf diese Weise vermeidest Du Datenverlust und Inkonsistenzen im Speicher, die einen erneuten, erfolgreichen Bootvorgang verhindern würden.

Den Wunsch nach einem „Shutdown“ per Taster oder Schalter hört man öfter. Die meisten Raspberry Pis haben das nicht vorgesehen. Aber Du kannst diese Funktion selber nachrüsten. Dafür brauchst Du nur einen Taster und ein Programm, dass das Drücken des Tasters auswertet und den „Shutdown“ durchführt.

Aufbau und Bauteile

Raspberry Pi: Herunterfahren per Taster (mit Python und GPIO Zero)

  • Verbinde die eine Seite des Tasters mit Ground (GND).
  • Verbinde die andere Seite des Tasters mit einem GPIO-Pin.

Programmcode

Im folgenden Programm wird die Auswertung des Tasters im Programmablauf global definiert. Dabei reicht es nicht, den Taster einfach nur zu drücken. Der Taster muss 2 Sekunden gedrückt gehalten werden, damit eine Funktion ausgeführt wird. In diesem Fall wird der Raspberry Pi heruntergefahren.
Das Programm wird nicht automatisch beendet.

# Bibliotheken laden
from gpiozero import Button
from subprocess import check_call
from signal import pause

# Funktion definieren
def shutdown():
    # Shutdown
    check_call(['sudo', 'poweroff'])

# Initialisierung von GPIO27 als Button (Eingang)
shutdown_btn = Button(27, hold_time=2)

# Funktion aufrufen, wenn Taster gehalten wurde
shutdown_btn.when_held = shutdown

# Warten
pause()

Darf es ein bisschen mehr sein?

Das ist natürlich voll aufregend. Versuchen wir doch einmal etwas anderes sinnvolles mit Tastern und LEDs zu machen. Lust auf ein kleines Spiel? Das wichtigste ist, dass Du zu Zweit bist, sonst macht es keinen Spaß.

Highlights: Elektronik mit dem Raspberry Pi

Alternative: Elektronik mit dem Raspberry Pi Pico

Raspberry Pi Pico ist ein Mikrocontroller. Er ermöglicht Dank vieler analoger und digitaler Eingänge und Ausgänge vielfältige Anwendung im Bereich der Steuerung von elektronischen Bauteilen, Sensorik, Robotik und Automation.

Weitere verwandte Themen:

Hardware-nahes Programmieren mit dem Raspberry Pi, Python und GPIO Zero

Elektronik-Set Raspberry Pi Edition

Das "Elektronik-Set Raspberry Pi Edition" ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit Python und GPIO Zero.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Verschiedene Zustände auswerten und anzeigen lassen
  • LED mit Taster einschalten und ausschalten
  • Relais-Board steuern
  • LED, Relais-Board und Motor über ULN2003A steuern
  • Ampel- und Lauflicht-Steuerung
  • Herunterfahren per Taster
  • Reaktionsspiel mit Tastern und LEDs
  • Eigene Steuerungen programmieren

Mehr Informationen Elektronik-Set jetzt bestellen

Teilen:

Elektronik-Set Raspberry Pi Edition
Elektronik-Set Raspberry Pi Edition

Elektronik erleben mit dem Raspberry Pi mit Python und GPIO Zero

  • leichter Einstieg ins Hardware-nahe Programmieren mit Python und GPIO Zero
  • Experimentieren und Programmieren ohne Vorkenntnisse
  • sofort Loslegen mit All-in-one-Set

Mehr Informationen Elektronik-Set jetzt bestellen

Programmieren mit dem Raspberry Pi Pico
Online-Workshop

Programmieren mit dem Raspberry Pi Pico

Online-Workshop mit einer Einführung ins Physical Computing mit Leuchtdioden, Taster und Temperatursensor.

  • Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython ohne Vorkenntnisse
  • Optimaler Einstieg, um eigene Ideen zu verwirklichen und Steuerungen zu programmieren
  • Inklusive Elektronik-Set mit einem Raspberry Pi Pico, Zubehör und elektronischen Bauteilen

Mehr Informationen Am Online-Workshop teilnehmen