本人参考了:
https://www.freemindworld.com/blog/2013/130316_raspberry_pi_with_remote_control.shtml
https://blog.csdn.net/jh1513/article/details/90692093
前言:
本人使用树莓派2B板,红外接收模块为:
1传感器采用HX1838,灵敏度高
2 工作电压5V
3 输出形式:数字量输出
模块接口说明
1 VCC 外接3.3V-5V电压(可以直接与5v单片机和3.3v单片机相连)
2 GND 外接GND
3 IN 外接单片机I/O口,I/O口已设计10K上拉电阻
1.第一步安装库
sudo apt-get install lirc
2.修改config.txt,开启lirc module
sudo vi /boot/config.txt 找到: #dtoverlay=lirc-rpi 把前面的“#”号去掉, 然后重启系统
3.加载lirc_rpi内核模块:
sudo modprobe lirc_rpi gpio_in_pin=24 gpio_out_pin=23
注意:默认情况下GPIO用的是BCM编码,对应如下:物理pin脚是18,这个如果接错了,会导致遥控数据无法获取。
4.修改lirc配置
/etc/lirc/hardware.conf
LIRCD_ARGS="--uinput"
DRIVER="default"
DEVICE="/dev/lirc0"
MODULES="lirc_rpi
5.修改系统配置,加载lirc模块
vi /boot/config.txt
dtoverlay=lirc-rpi,gpio_in_pin=24,gpio_out_pin=23,gpio_in_pull=up
6.附加:
在网上看到有配置,但是不配置也可以使用。
vi /etc/module
i2c-dev
lirc_dev
lirc_rpi gpio_in_pin=24 gpio_out_pin=23
7.reboot and test
/etc/init.d/lircd stop
/etc/init.d/lircd start
mode2 -d /dev/lirc0
使用遥控测试
8.记录遥控按键,自定义按键功能
/etc/init.d/lirc stop
irrecord -n -d /dev/lirc0 ./lircd.conf
根据提示:按回车进入按键长按,直到提示完成。再单次按同一个按键,直到新提示,如果成功了,就可以录入按键名,然后在按下对应按键名的按键,录入好后,最后不录入了,按回车即可中断。
最终生成配置文件 ./lircd.conf ,复制该文件到
cp ./lircd.conf /etc/lirc/
vi ~/.lircrc
begin
prog = irexec
button = open
config = sudo python /mnt/share/AutoControSwitch/OpenSwitch.py
end
begin
prog = irexec
button = close
config = sudo python /mnt/share/AutoControSwitch/CloseSwitch.py
end
最后 重启lirc或者重启
/etc/init.d/lirc restart
or
reboot
irexec
Open switch!
Close switch!