Update shutdown.py

Ab jetzt wird geprüft, wielange der Button gedrückt wird. Wird der Button kurz gedrückt ca. 3 – 5 Sek, wird nun ein Software-Neustart ausgelöst. Drückt man länger, wird der Rechner heruntergefahren und bleibt aus.

Hier gehts zum Schaltplan (Raspberry Pi Auschalter/Neustart)

# import required modules
import RPi.GPIO as GPIO
import time
import subprocess

SleepTime = 1
press = 0

# set GPIO pin
PWpinNum = 31 # PW Power switch
LEDpinNum = 29 # LED

GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM) # BCM (P5 Header)
GPIO.setup(PWpinNum, GPIO.IN, pull_up_down = GPIO.PUD_UP)
GPIO.setup(LEDpinNum, GPIO.OUT)

print „\n“

def blink(step):
for i in range(0,25):
GPIO.output(LEDpinNum, False)
time.sleep(step)
GPIO.output(LEDpinNum, True)
time.sleep(step)

def shutdown():
print „shutdown\n“
blink(0.20)
GPIO.output(LEDpinNum, False)
subprocess.call([„shutdown“, „-h“, „now“])

def reboot():
print „reboot\n“
blink(0.1)
GPIO.output(LEDpinNum, False)
subprocess.call([„shutdown“, „-r“, „now“])

try:
GPIO.output(LEDpinNum, False)
while True:
if GPIO.input(PWpinNum):
if press == 0:
time.sleep(SleepTime)
elif press < 8:
reboot()
break
else:
shutdown()
break
else:
press +=1
print press
time.sleep(0.5)

except KeyboardInterrupt:
GPIO.output(LEDpinNum, True)
GPIO.cleanup()