- Offizieller Beitrag
Hallo!
In letzter Zeit hatte ich öfter das Problem, daß sich bei meinem headless RaspiRadio der MPC nach dem Einschalten in den "Pause Modus" gegangen ist.
Das Radio hat 5 Taster (shut down, Sender <, Sender >, Volume -, Volume +) und eine LED. Der 6. Taster (Pause/Play) war erst eingeplant, aber dann dummerweise von mir verworfen.
Hier der Code:
Python
#! /usr/bin/env python
import RPi.GPIO as GPIO
import os
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(5, GPIO.IN, pull_up_down=GPIO.PUD_UP) # pin 5 (GPIO3) als input - Pullup
GPIO.setup(11, GPIO.IN, pull_up_down=GPIO.PUD_UP) # pin 11 (GPIO17) als input - Pullup
GPIO.setup(13, GPIO.IN, pull_up_down=GPIO.PUD_UP) # pin 13 (GPIO27) als input - Pullup
GPIO.setup(15, GPIO.IN, pull_up_down=GPIO.PUD_UP) # pin 15 (GPIO22) als input - Pullup
GPIO.setup(16, GPIO.IN, pull_up_down=GPIO.PUD_UP) # pin 16 (GPIO23) als input - Pullup
# GPIO.setup(18, GPIO.IN, pull_up_down=GPIO.PUD_UP) # pin 18 (GPIO24) als input - Pullup
GPIO.setup(7, GPIO.OUT) # pin 7 (GPIO04) als output
GPIO.output(7, True) # LED anschalten
def blinken():
GPIO.output(7, False)
time.sleep(.1)
GPIO.output(7, True)
def VolumeMinus(channel):
os.system("mpc volume -3") # Volume -
blinken()
def VolumePlus(channel):
os.system("mpc volume +3") # Volume +
blinken()
def SenderZurueck(channel):
os.system("mpc prev") # Sender <
blinken()
def SenderVor(channel):
os.system("mpc next") # Sender >
blinken()
# def Pause_Play(channel):
# os.system("mpc toggle") # ||/Play
# blinken()
def Ausschalten(channel):
count = 0
while (count < 5):
blinken()
time.sleep(.1)
count = count + 1
os.system("sudo shutdown -hP now") # shut down
try:
GPIO.add_event_detect(11, GPIO.FALLING, callback=VolumeMinus, bouncetime=200) # Volume -
GPIO.add_event_detect(13, GPIO.FALLING, callback=VolumePlus, bouncetime=200) # Volume +
GPIO.add_event_detect(15, GPIO.FALLING, callback=SenderZurueck, bouncetime=200) # Sender <
GPIO.add_event_detect(16, GPIO.FALLING, callback=SenderVor, bouncetime=200) # Sender >
# GPIO.add_event_detect(18, GPIO.FALLING, callback=Pause_Play, bouncetime=200) # ||/Play
GPIO.add_event_detect(5, GPIO.FALLING, callback=Ausschalten, bouncetime=200) # Ausschalten
while True:
time.sleep(.1)
except KeyboardInterrupt:
GPIO.cleanup()
GPIO.cleanup()
Alles anzeigen
Wie bekomme ich bei gleichzeitigem drücken von Lauter+Leiser ein callback=Pause_Play hin? Habe bis jetzt nichts dazu gefunden, oder die falschen Suchbegriffe.
Vielen Dank schonmal!