现在没有必要使用 lirc,因为 IR 事件是通过内核处理的。
在我的情况下,我在 GPIO 引脚上设置了一个 IR 接收器/boot/config.txt
dtoverlay=gpio-ir,gpio_pin=16
然后安装了evdev
pip install evdev
重新启动,以下工作(您的输入设备路径不同)
from evdev import InputDevice, categorize, ecodes
dev = InputDevice('/dev/input/event0')
for event in dev.read_loop():
print(event)
当按下遥控器上的一些按钮时,我得到:
$> sudo python3 irtest.py
device /dev/input/event0, name "gpio_ir_recv", phys "gpio_ir_recv/input0"
event at 1639133806.295636, code 04, type 04, val 64
event at 1639133806.295636, code 00, type 00, val 00
event at 1639133806.405607, code 04, type 04, val 64
event at 1639133806.405607, code 00, type 00, val 00
event at 1639133808.745610, code 04, type 04, val 16
...