树梅派3B红外、433&315全连接及家居智能控制(五)使用摇控器实现多设备控制

使用摇控器实现多设备控制

标题读着绕嘴,但就是这么回事,就是用第三方一个摇控器通过派再控制其他多个设备。

用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到后来,这样又把控制权交给摇控器了。

你可能感兴趣的:(树梅派3B红外、433&315全连接及家居智能控制(五)使用摇控器实现多设备控制)