使用摇控器实现多设备控制
标题读着绕嘴,但就是这么回事,就是用第三方一个摇控器通过派再控制其他多个设备。
用irexec命令进行红外中转控制。
将摇控器的conf文件替换tv.conf文件(我用的是一个小音箱的摇控器),这个文件的name不用改。
cp ~/yinxiang.com /etc/lirc/remotes/tv.conf #替换tv.conf文件
killall -9 lircd #杀掉所有lircd进程(多次运行lirc后,后台会有很多lircd进程,杀掉好些。)
systemctl restart lirc #重启服务
lircd –d /dev/lirc0 #使新的tv.conf(实际内容是yinxiang.conf文件的)文件生效。
irexec&将该程序放到后台执行。
vim .lircrc文件,(.lircrc文件在~目录且不可见)加入如下代码:
begin
prog = irexec
button = KEY_power
config = sh/etc/lirc/remotes/yinxiang.conf.ctrl/shtv.sh
end
begin和end之间为一个代码区,只响应一个按键。
prog为响应红外按键的程序。
button 为按键名。
config为要执行的代码,只可以执行一行代码。所以这里执行一个脚本,就可以执行多个指令了。
其他按键再增加一段begin和end及中间内容就行。
此时按摇控器的开机键就可以执行一个脚本文件,我这个脚本内容是打开三个设备。这样我也可以用红外摇控器摇控RF灯了,只不过效果不如菜单好。但做了这些以后,毕竟不用开电脑接ssh连接树莓派来控制了,方便了很多。也学习了很多。
注意:irexec也是lirc的一个子程序,它跟irsend等命令一样,所以它们不能同时使用,因为irexec&已经在后台运行,再运行其他跟红外有关的命令都会出错,所以在运行前一定要将后台的irexec杀掉,切记!!!我在shtv.sh中是先杀掉这个进程,运行irsend等命令,就没有问题,运行完所有代码后再改conf文件为音箱的,并重启irexec到后来,这样又把控制权交给摇控器了。