使用搖控器實現多設備控制
標題讀着繞嘴,但就是這麼回事,就是用第三方一個搖控器通過派再控制其他多個設備。
用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到後來,這樣又把控制權交給搖控器了。