Я пытаюсь написать кусок кода для Raspberry Pi в python 3.4.2, который использует обратные вызовы для запуска определенных событий.
В настоящее время я использую изящную команду GPIO (GPIO.add_event_detect) вместе с правилом try / исключением, которое заставляет скрипт останавливаться и ждать, пока что-то произойдет.
Я хочу сделать нечто подобное в то же время для нажатия кнопки клавиатуры (не беспокоит, какая именно сейчас), есть ли способ сделать это, похожий на GPIO.add_event_detect?
пример в коде:
import RPi.GPIO as GPIO
receiverPin = 14
quitButton = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(receiverPin, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
GPIO.setup(quitButton, GPIO.IN, pull_up_down=GPIO.PUD_UP)
#FUNCTION ACTIVATED BY DESIRED CODE#
def activate(channel):
#do stuff#
def direct_hit(channel):
#do stuff#
GPIO.add_event_detect(receiverPin, GPIO.BOTH, callback=direct_hit)
#DESIRED CODE BLOCK
keypress.add_event_detect(KEYPRESS_ENTER, callback=activate)
try:
GPIO.wait_for_edge(quitButton, GPIO.FALLING)
print("Exiting")
GPIO.cleanup()
quit()
except KeyboardInterrupt:
GPIO.cleanup()
GPIO.cleanup()
Есть ли способ сделать это? имейте в виду, я самоучка (плохо).
Заранее спасибо за любую помощь.