如何将 LIRC 添加到 ir-keytable 协议中?

如何将 LIRC 添加到 ir-keytable 协议中?

我试图在按下红外遥控按钮时发出 bash 命令。 IR 接收器设备是 Anysee e30 Combo plus DVB-T 调谐器中包含的 USB 设备,否则工作正常。

ir-keytable 输出的输出:

Found /sys/class/rc/rc0/ (/dev/input/event0) with:
Driver dvb_usb_anysee, table rc-anysee
Supported protocols: NEC 
Enabled protocols: 
Name: Anysee
bus: 3, vendor/product: 1c73:861f, version: 0x0100
Repeat delay = 500 ms, repeat period = 125 ms

当我运行ir-keytable -t测试是否收到按钮按下时,这有效,我看到扫描代码和按钮标签(KEY_UP 等)出现。要让按钮按下触发 bash 命令,我认为我唯一的选择是使用 LIRC 的 irexec 命令。安装lirc并配置它,然后运行irwlirc的测试命令。没有任何输出。我检查了 lircd 正在运行并且 irw 可以连接到守护进程。

请注意,LIRC 不受 ir-keytable 命令支持的协议的影响。这是否意味着我不能将硬件用于此目的?

root@raspberrypi:/home/pi# modprobe ir-lirc-codec
root@raspberrypi:/home/pi# ir-keytable -c -p NEC,LIRC
Old keytable cleared
/sys/class/rc/rc0//protocols: Invalid argument
Couldn't change the IR protocols

我在一些网站上看到人们这样做是为了将 lirc 添加为协议。不过,我对此失败并不感到惊讶,如果您可以通过简单地将其名称回显到文件来添加不受支持的协议,那就很奇怪了。

root@raspberrypi:/home/pi# echo lirc > /sys/class/rc/rc0/protocols
bash: echo: write error: Invalid argument

我使用 Raspberry Pi v2 作为系统 (Debian Wheezy)

答案1

要启用协议,您必须在协议前加上“+”前缀,因此您的语句应该是

echo +lirc > /sys/class/rc/rc0/protocols

https://www.lirc.org/html/default.html

相关内容