Ausschaltknopf

 

Shutdown Button Main Image

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

Shutdown Button Step One

Simple Shutdown Step One Detail

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

Shutdown Button Step 3

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

Shutdown Button Step 4

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

Shutdown Button Step 5

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!

Shutdown Button Step Six

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.