Ausschaltknopf
Trotz der Stärken des Raspberry Pi fehlt etwas, das bei vielen anderen elektronischen Geräten Standard ist: ein Ein- und Ausschaltknopf.
Schritt 1: Bringe den Knopf an
Bring den Drucktaster auf der Steckplatine an.
Hat dein Knopf vier Anschlüsse, musst du zwei davon benutzen, die verbunden werden, wenn der Knopf gedrückt wird. Verbinde ihn über Verbindungsdrähte mit den Anschlüssen wie gezeigt.
Schritt 2: Wähle einen GPIO-Pin
Als nächstes suchst du einen GPIO aus. Wir wollen hier einen Pin nutzen, um zu detektieren, ob ein Knopf gedrückt wird: Der Knopf wird zwischen GPIO-Pin und GND-Pin angeschlossen: Drückt man den Knopf, fällt daher die Spannung auf null.
Für dieses Projekt nimm GPIO 21 an einem Ende der Stiftleiste, gleich neben dem GND-Pin (du kannst jeden anderen unbenutzten GPIO nehmen).
Schließe den Schaltkreis mit den Verbindungsdrähten wie gezeigt.
Schritt 3: Programmiere deinen Pi
Fahre den Pi hoch und öffne ein Terminal-Fenster.
Tippe leafpad shutdown.py, um ein neues Leafpad-Editor-Fenster zu öffnen. Tippe den folgenden Code ein, dann speichere und schließe das Terminal-Fenster.
# !/bin/python
# Einfaches Skript zum Ausschalten vom Raspberry Pi auf Knopfdruck.
# von Inderpreet Singh
import RPi.GPIO as GPIO
import time
import os
# Legt Nutzung der Broadcom SOC Pin-Anschlussnummern fest
# Setzt den Pin mit eingeschalteten internen Pullup-Widerständen und im Nur-Lesen-Modus
GPIO.setmode(GPIO.BCM)
GPIO.setup(21, GPIO.IN, pull_up_down=GPIO.PUD_UP)
# Unsere Funktion dafür, was passieren soll, wenn man den Button drückt
def Shutdown(channel):
print("Shutting Down")
time.sleep(5)
os.system("sudo shutdown -h now")
# Fügt ein, dass unsere Funktion ausgeführt wird, wenn der Knopfdruck stattfindet
GPIO.add_event_detect(21, GPIO.FALLING, callback=Shutdown, bouncetime=2000)
# Warte jetzt!
while 1:
time.sleep(1)
Schritt 4: Teste dein Script
Teste dein Script, indem du das Terminal öffnest und sudo python3 shutdown.py eingibst.
Drücke den Ausschaltknopf.
Die Nachricht „shutting down“ sollte auf dem Bildschirm erscheinen, und nach fünf Sekunden Verzögerung schaltet sich dein Raspberry Pi ab. Wenn du vor Ende dieser fünf Sekunden Strg+C drückst, stoppt das Script, und der Abschalt-Prozess bricht ab.
Schritt 5: Aktivierung beim Start
Damit der Ausschaltknopf beim Starten des Raspberry Pi „aktiv“ wird, musst du ihn in ein rc-local Script einfügen.
Öffne ein neues Terminal und tippe sudo leafpad /etc/rc.local
Damit öffnet sich der Leafpad-Editor und die rc.local Datei ist geladen. Am Ende der Datei (vor exit 0 im Code) gib Folgendes ein:
sudo python3 /home/shutdown.py &
Sichere die Datei und schließe Leafpad
Schritt 6: Erfolg!
Starte den Pi neu, und dein Ausschaltknopf sollte funktionieren.
Glückwunsch!
Du hast deinem Raspberry Pi einen einfachen, zuverlässigen und nützlichen Ein- und Ausschaltknopf verpasst.