玩转GDK8之让遥控器动起来
欢迎进入GDK8的世界,这个小试验将和大家一起来安装和配置lirc (Linux Infrared Remote Control)软件(https://www.lirc.org/ ),让GDK8的遥控器动起来。
主要步骤
- 使用MobaXterm连接GDK8,如有困难,请参考上手教程。
- 在MobaXterm的终端窗口,输入如下命令来安装lirc (Linux Infrared Remote Control)
sudo apt install lirc
- 接下来先要配置lirc如何找到GDK8的红外接收硬件,请执行如下命令从lirc的模板复制出一个新的配置文件。
sudo cp /etc/lirc/lirc_options.conf.dist /etc/lirc/lirc_options.conf
- 然后执行如下命令开始编辑配置文件:
sudo vi /etc/lirc/lirc_options.conf
先按i进入INSERT状态,再移动光标到device行,将device行修改为:device = /dev/input/event0
修改成功后,先按ESC键推出INSERT状态,再按:wq保存文件和退出vi。 - 执行如下命令重启lirc的服务:
sudo systemctl restart lircd
- 执行如下命令测试遥控器:
irw
如果按下遥控器的“按键6”,irw有信息输出,那么则证明lirc可以接收到遥控器的按键数据了。
不然,可以执行如下命令来打开内核驱动的调试信息输出:root@gdk8:/etc/lirc# irw 000000008001006a 00 KEY_RIGHT devinput-32 000000008001006a 00 KEY_RIGHT devinput-32 000000008001006a 00 KEY_RIGHT devinput-32 000000008001006a 00 KEY_RIGHT devinput-32 000000008001006a 00 KEY_RIGHT devinput-32 000000008001006a 00 KEY_RIGHT devinput-32 000000008001006a 00 KEY_RIGHT devinput-32 000000008001006a 00 KEY_RIGHT devinput-32
按遥控器的按键6,再sudo su echo 1 > /sys/module/rockchip_pwm_remotectl/parameters/dbg_level echo 1 > /sys/module/rockchip_pwm_remotectl/parameters/code_print
dmesg
或者dmesg | grep RMC
root@gdk8:/etc/lirc# dmesg | grep RMC [ 5243.750246] RMC_GETDATA=ee [ 5244.066643] RMC_GETDATA=ee [ 5244.532814] RMC_GETDATA=ee
- 接下来再配置lirc的执行命令服务——irexec,这个服务可以根据遥控器按键来执行shell命令,比如关机。
先编辑irexec的配置文件sudo vi /etc/lirc/irexec.lircrc
在末尾找到KEY_RIGHT的配置,将其修改为:
再增加一个KEY_VOLUMEDOWN的动作:begin prog = irexec button = KEY_RIGHT config = echo "this file is generated by remote controller" > /tmp/a.txt #echo "KEY_RIGHT" end
注意:由于固件层的问题,遥控器上电源键被映射为KEY_VOLUMEDOWN,所以我们暂时先用KEY_VOLUMEDOWN来做试验begin prog = irexec button = KEY_VOLUMEDOWN config = logger -t "power off by remote controller" && shutdown end
再打开rc.localsudo vi /etc/rc.local
在exit 0前面,增加下面一行,目的是添加irexec服务/usr/bin/irexec -d /etc/lirc/irexec.lircrc
保存后,执行如下命令启动irexec服务:sudo systemctl start irexec
- 先执行ps -A | grep irexec确认irexec进程已经在运行:
root@gdk8:/etc/lirc# ps -A | grep irexec 3612 ? 00:00:00 irexec
- 再尝试按遥控器上的“6”,根据上面的定义应该产生一个临时文件
root@gdk8:/etc/lirc# cat /tmp/a.txt this file is generated by remote controller
- 接下来尝试按遥控器的红色电源按钮,如果顺利的话,可以看到如下消息:
- GDK8关机后,如果希望再开机,可以先拔下电源,过1-2秒钟后,再插上电源即可
作者:admin 创建时间:2021-11-12 10:00
最后编辑:admin 更新时间:2024-09-14 11:25
最后编辑:admin 更新时间:2024-09-14 11:25