夏至已过,中国著名火炉重庆,还没有热。
但是没有热,并不代表不会热,一定先要未雨绸缪呀。
想到起夏天要用空调,都在想智能家居应该是还没到家,空调就已经开了。想到这里,树莓派又开始派上用场了。好了,废话就说到这里了
需要的东西:
树莓派板子
红外接收头
遥控板
红外接收头是通用的,arduino的也可以拿来用,如果没有淘宝上搜 “红外接收”,一大把,可以顺便买红外发射头,都不贵。使用过后,我的确感觉这是性价比最高的配件了。
硬件方面说完,下面该梳理软件了。
#安装lirc sudo apt-get install lirc #绑定模块 #这里注意下,执行 sudo modprobe lirc_rpi, 默认会加上 gpio_in_pin=18 gpio_out_pin=17 绑定 gpio18口为输入,gpio17口为输入 #gpio的绑定根据自己怎么接的线决定 #我绑定的是 23和24 sudo modprobe lirc_rpi gpio_in_pin=23 gpio_out_pin=24
修改 /etc/lirc/hardware.conf 文件:
######################################################## # /etc/lirc/hardware.conf # # Arguments which will be used when launching lircd LIRCD_ARGS="--uinput" # Don't start lircmd even if there seems to be a good config file # START_LIRCMD=false # Don't start irexec, even if a good config file seems to exist. # START_IREXEC=false # Try to load appropriate kernel modules LOAD_MODULES=true # Run "lircd --driver=help" for a list of supported drivers. DRIVER="default" # usually /dev/lirc0 is the correct setting for systems using udev DEVICE="/dev/lirc0" MODULES="lirc_rpi" # Default configuration files for your hardware if any LIRCD_CONF="" LIRCMD_CONF="" ########################################################
添加文件 /etc/modules ,自动绑定到正确的gpio口 :
lirc_dev lirc_rpi gpio_in_pin=23 gpio_out_pin=24
重启一下,重新载入配置:
sudo /etc/init.d/lirc stop sudo /etc/init.d/lirc start
到这里基本上算成功了一半了,遥控器应该可以用了
#测试,随便按遥控器,如果出现一堆的pluse和space,表示工作正常 mode2 -d /dev/lirc0
接下来就可以录制按键了:
#查看可以使用的key列表,随后输入key必须在这列表里 irrecord --list-namespace #录制前需要关闭lirc sudo /etc/init.d/lirc stop #开始录制,开始后需要随便按键通过2*80的调试 #按后会出现...,第一排长按,第二排点按 irrecord -n -d /dev/lirc0 lircd.conf #当前路径就生成了 lircd.conf 文件,复制到 /etc/lirc/ 下 sudo cp lircd.conf /etc/lirc/lircd.conf
启动并调试:
sudo /etc/init.d/lirc start #使用irw命令测试 sudo irw
输出类似这样,说明正确
0000000032a6807f 00 KEY_1 tv
0000000032a640bf 00 KEY_2 tv
0000000032a6c03f 00 KEY_3 tv
接下来就是 最后一步,接受红外线信号,并执行相关命令
lircrc出场
sudo vi /etc/lirc/lircrc #/etc/lirc/lircrc 内容 begin prog = irexec #这个可随意 button = KEY_1 #按钮的名称 config = sudo reboot #执行的命令 end begin prog = irexec button = KEY_2 config = echo "hello lirc one!" end
这样就基本搞定了,先到这里了。空了在写红外线发射相关的。。。