Moin Moin,
Ich habe hier dieses Script bei "ct" gefunden
(link):https://www.heise.de/ct/hotline/Ein…ro-3892620.html
mit dem man den Pi mit nur einem Taster zum Einschalten, Reboot oder auch zum Ausschalten bringt.
Ich möchte aber dazu zusätzlich 2 LED´s betreiben, die mir das auch optisch bestätigen, da diese sowieso zur Temparaturanzeige vorhanden sind.
Dazu soll eine grüne LED, angeschlossen an GPIO 7 (Board PIN 26) und eine rote LED an GPIO 8 (Board Pin 24) 3 mal blinken.
Reboot -> 3 x Grün und Shutdown -> 3 x Rot.
Python
#!/usr/bin/python
# shutdown/reboot(/power on) Raspberry Pi with pushbutton
import RPi.GPIO as GPIO
from subprocess import call
from datetime import datetime
import time
# pushbutton connected to this GPIO pin, using pin 5 also has the benefit of
# waking / powering up Raspberry Pi when button is pressed
shutdownPin = 5
# if button pressed for at least this long then shut down. if less then reboot.
shutdownMinSeconds = 3
# button debounce time in seconds
debounceSeconds = 0.01
GPIO.setmode(GPIO.BOARD)
GPIO.setup(shutdownPin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
buttonPressedTime = None
def buttonStateChanged(pin):
global buttonPressedTime
if not (GPIO.input(pin)):
# button is down
if buttonPressedTime is None:
buttonPressedTime = datetime.now()
else:
# button is up
if buttonPressedTime is not None:
elapsed = (datetime.now() - buttonPressedTime).total_seconds()
buttonPressedTime = None
if elapsed >= shutdownMinSeconds:
# button pressed for more than specified time, shutdown
call(['shutdown', '-h', 'now'], shell=False)
elif elapsed >= debounceSeconds:
# button pressed for a shorter time, reboot
call(['shutdown', '-r', 'now'], shell=False)
# subscribe to button presses
GPIO.add_event_detect(shutdownPin, GPIO.BOTH, callback=buttonStateChanged)
while True:
# sleep to reduce unnecessary CPU usage
time.sleep(5)
Alles anzeigen
Meine Kenntnisse in Python sind für solche "Kombinationen" einfach zu gering.
Evtl. kann man mir bei meinem Vorhaben ja helfen.
Das "ct"-Script funktioniert prima auch auf dem "3B+" aber die "Boardeigene" LED blinkt NICHT!!!