我正在尝试在python 3.4.2中为Raspberry Pi写一段代码,该代码使用回调来触发某些事件。
目前,我正在使用一个漂亮的GPIO命令(GPIO.add_event_detect)以及一个try / except规则,该规则使脚本暂停并等待直到发生某些事情。
我想在同一时间对键盘按钮进行操作(现在不打扰哪一个),有没有一种方法可以类似于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()
有没有办法做到这一点?请记住,我是自学的(很差)。
在此先感谢您的帮助。
答案 0 :(得分:0)
我为您做了一些研究,发现了这个库:https://github.com/boppreh/keyboard#keyboard.on_press,它具有事件方法on_press
只需添加:
import keyboard
keyboard.on_press = yourCallback
希望它会对您有所帮助。