树梅派3B红外、433&315全连接及家居智能控制(三)菜单控制基础脚本篇

  

使用代码控制红外或RF设备还是比较麻烦的,所以后来我想到了用ssh连接树莓派并用菜单控制,效果好多了,在做菜单之前我做了一些脚本,这样对控制方便管理,写菜单代码的时候也方便一些。

我的设备有,电视、天威机顶盒、乐视盒子、功放、志高空调、RF灯两个。

红外设备的conf文件分别如下:

电视: tv1.conf  天威机顶盒:tianwei1.conf 乐视盒子:leshi.conf  功放:malanshi.conf 空调:zhigao.conf这些文件名有利于对代码的理解。

例:

我要看乐视盒子,我要功放开机、乐视盒子开机、电视开机并设备成HDMI2输入。

1 #!/bin/bash
  2 rm /var/run/lirc/*
  3 #删除路径下的文件,否则执行lircd -d /dev/lirc0可能会出错,详见笔记。
  4 cp /etc/lirc/remotes/malanshi.conf /etc/lirc/remotes/tv.conf
  5 #拷贝文件更换tv.conf.
  6 killall -9 lircd  #杀掉lircd进程,否则后台会有很多lircd进程。
  7 systemctl restart lirc  #重启lirc服务。
  8 lircd -d /dev/lirc0     #重新加载tv.conf信息。
  9 irsend send_once tv key_sat  #执行功放开机指令,并设定为SAT源。
 10
 11 rm /var/run/lirc/*
 12 cp /etc/lirc/remotes/leshi.conf /etc/lirc/remotes/tv.conf #拷贝乐视的conf文件覆盖tv.conf
 13 killall -9 lircd
 14 systemctl restart lirc
 15 lircd -d /dev/lirc0
 16 irsend send_once tv key_power  #发送乐视开机代码。
 17
 18 rm /var/run/lirc/*
 19 cp /etc/lirc/remotes/tv1.conf /etc/lirc/remotes/tv.conf
 20 killall -9 lircd
 21 sleep 1s
 22 systemctl restart lirc
 23 lircd -d /dev/lirc0
 24 irsend send_once tv key_power  #电视开机代码。
 25 sleep 25s                      #暂停25秒,等待电视开机完成。
 26 irsend send_once tv key_a      #切换视频源,key_a为摇控器视频源切换按键名。
 27 sleep 3s                       #等待3秒,电视反应比较慢。
 28 irsend send_once tv key_a
 29 sleep 1s
 30 irsend send_once tv key_pause  #确定视频源,key_pause,为摇控器的OK键。
~

保存上面文件为poweronmediabox.sh,运行时输入:sh poweronmediabox.sh 即可实现自动开机三个设备了。方便了很多。

关机的时候,只在把上面的代码25行以后的去掉就行了。另存为offpowermediabox.sh.

其他摇控开关机的脚本跟这个类似。下图是我做一些脚本和conf文件。


要说明的是remake.sh用这个脚本就可以实现拷贝完文件后使之生效的作用,代码如下:

 1 #!/bin/bash
  2 rm /var/run/lirc/*  #删除lirc文件夹下文件,主要是lirc.pid
  3 systemctl restart lirc   #重启lirc服务。
  4 lircd -d /dev/lirc0   #使conf文件生效。

因为每台机器的环境都不同,所以以上文件只做参考,需根据自己的情况修改,这里只提供一个思路,欢迎留言交流。

发布了15 篇原创文章 · 获赞 4 · 访问量 2110

猜你喜欢

转载自blog.csdn.net/kim5659/article/details/80968748