一. 硬件连接:
红外接收器
vcc 连 pin1 (3.3v)
gnd 连 pin6(ground)
data连 pin12(gpio18)
红外发射器
vcc 连pin2(5v)
gnd连pin25(ground)
data连pin11(gpio17)
如果是2pin的红外发射器,就不用接vcc,为了提高稳定性,需要添加添加三极管和电阻,我们这里就偷懒了,只连接了2pin。
二.软件部分
1. 安装lirc软件组件,
VBAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB90GBgMqHcZ0EYUAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAF0lEQVQI12NgYGAwZsAECDEWBgYGBgYACpwAazfG694AAAAASUVORK5CYII="); box-shadow: rgba(0, 0, 0, 0.5) 0px 0px 5px; text-shadow: rgb(0, 0, 0) 0px 1px 1px; border-radius: 6px; color: rgb(184, 255, 184); margin: 10px; padding: 1em 1em 1em 2em; white-space: pre-wrap; border: 1px solid rgb(0, 0, 0);">sudo apt-get install lirc
2. 加载驱动
sudo modprobe lirc_rpi
3. 测试lirc是否正常
sudo mode2 -d /dev/lirc0 # 按遥控上的任何键,查看是否有输出类似space 4960669pulse 2697……pulse 2697
4. 修改/etc/lirc/hardware.conf
pi@raspberrypi ~ $ cat /etc/lirc/hardware.conf # /etc/lirc/hardware.conf## Arguments which will be used when launching lircdLIRCD_ARGS="" #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 modulesLOAD_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="" # Default configuration files for your hardware if anyLIRCD_CONF=""LIRCMD_CONF=""
5. 我们发射的红外指令,都是通过先录制,然后发送的方法,录制的情况分2种,
一种是风扇这种简单的指令,我们使用的办法,可以直接解析出命令,使用lirc的录制功能就可以完成
6.
7.先讲讲一般的录制,风扇这种比较简单的设备遥控
sudo irrecord -d /dev/lirc0
有兴趣的同学,可以看看文件的具体内容,再结合红外的协议标准研究一下,这里就不细说了,有兴趣可以私下给我留言
8.新建一个目录/etc/lirc/remotes,用来存放我们录制的文件,并将文件放入其中
sudo cp ~/fan.conf /etc/lirc/remotes/
并修改文件中name 为好记的字段,这个后面要用的
begin remote name fanbits 16 flags SPACE_ENC|CONST_LENGTH
9.修改/etc/lirc/lircd.conf,添加如下:
include "/etc/lirc/remotes/fan.conf"
10.重启
11.测试你的风扇吧:
sudo irsend SEND_ONCE fan KEY_NEXT
fan:为第8步骤中提到的名字
12.下面讲讲空调这种复杂的玩意,这种是无法直接录制的(希望大家在学习下面的内容前先,学习一下红外的协议标准,不然后面的东西,可能不知所以然)
13. 学习了标准后,就明白了载波,以及频率的概念了,
14. 首先在开始录制空调的文件之前,我们需要有一个样板的conf文件,这个文件不能使用前面的文件,我们需要重新录制。
irrecord -f -d /dev/lirc0 ~/fanraw.conf
-f
完成后,大家看看文件内容与前面的有什么不同,并看看与mode2 打出来的信息的关联,估计聪明的孩子已经知道怎么回事了吧
15. raw模式录制的文件其实就是pulse和space的延续时间,然后lirc在按照这个时间进行发送
16.开工:
17.在文件中重复添加其他键的那些数值,还有键名,最后把name也修改了,include到lircd.conf中,重启程序
18.测试一把,打完收工啦。
19.有问题的同学,可以给我留言进行询问
其中用到的参考资料,提供给大家:
php?mod=viewthread&tid=12646" class="ext" rel="external nofollow" target="_blank" style="overflow-wrap: break-word; color: rgb(77, 138, 216); text-decoration-line: none; padding: 0px 4px 2px; border-bottom: 2px solid rgb(238, 238, 238);">http://www.shumeipai.net/forum.php?mod=viewthread&tid=12646
http://www.cnblogs.com/yulongchen/archive/2013/04/12/3017409.html
版权声明
1.本站大部分下载资源收集于网络,不保证其完整性以及安全性,请下载后自行测试。
2.本站资源仅供学习和交流使用,版权归资源原作者所有,请在下载后24小时之内自觉删除。
3.若作商业用途,请购买正版,由于未及时购买和付费发生的侵权行为,与本站无关。
4.若内容涉及侵权或违法信息,请联系本站管理员进行下架处理,邮箱ganice520@163.com(本站不支持其他投诉反馈渠道,谢谢合作)
- 上一篇: 树莓派计划任务的配置方法
- 下一篇: Fiddler4抓包工具使用教程
发表评论