Stopknop voor Raspberry Pi

      Reacties uitgeschakeld voor Stopknop voor Raspberry Pi

Wat op de Pi ontbreekt, is een knop om het systeem netjes af te sluiten. Zo maak je die.
Je hebt natuurlijk een passende drukknop nodig die kort even verbinding maakt tussen twee polen. Wij bevestigen deze bij voorkeur op GPIO 21 en de GND daartegenover. Dat zijn de twee laatste pinnen. Dus die kun je blindelings vinden.

Maak een bash-script (bv. stopknop.sh) met de volgende inhoud:

# !/bin/env python
import RPi.GPIO as GPIO
import time
import os

# We gebruiken de Broadcom SOC pinnummers, 
# met interne pullup geactiveerd en pin in reading mode.
GPIO.setmode(GPIO.BCM)
GPIO.setup(21, GPIO.IN, pull_up_down=GPIO.PUD_UP)
# De shutdown-functie
def Shutdown(channel):
    os.system("sudo shutdown -h now")

# Code voor het uitvoeren van de functie als knop wordt ingedrukt.
GPIO.add_event_detect(21, GPIO.FALLING, callback=Shutdown, bouncetime=2000)
while 1:
    time.sleep(1)

Nu nog automatiseren

Tot slot moeten we zorgen dat bij het booten de stopknop automatisch op scherp gezet wordt. Voeg daarom de onderstaande regel toe aan crontab:

@reboot python /home/pi/stopknop.py &