发布树莓派专用红外线扩展板
购买地址:https://item.taobao.com/item.htm?id=585495220847
功能说明:
1. 红外线接收功能
工作频率:38 KHZ
接收距离:18-20m
接收角度:+/-45度
2. 红外线发射功能
波长:940nm
发射距离:7-8m
3. 支持红外线双LED发射,发射效果更强(需要用户自行焊接备用发射管D2,并断开SJ1)
4. 支持强大的LIRC软件,利用LIRC和扩展板,用户几乎可以用来复制所有的红外线遥控器功能(电视,功放,DVD等等电器遥控器),并通过命令来控制你的各种电器设备。
5. 支持XBMC系统,用户可以在XBMC环境下使用扩展板的红外功能
6. 支持双个GPIO按键,用户可以通过编程配置按键功能
扩展板接口图:
管脚对应关系图:
LIRC软件安装和配置:
1. 安装LIRC软件
注:LIRC (Linux Infrared remote control)是一个linux系统下开源的软件包。这个软件可以让你的Linux系统能够接收及发送红外线信号。
sudo apt-get install lirc
2. 编辑config.txt ,并添加配置。3B+/B版本扩展板的接收器=26;红外控制扩展板的红外发射器=17,红外接收器=18(参考管脚对应图);
sudo sudo nano /boot/config.txt
添加以下一行内容到config.txt 中
dtoverlay=lirc-rpi,gpio_in_pin=18,gpio_out_pin=17
注意 raspbian-02-05以下版本请参考下面步骤2,新版本跳过下面步骤2!!!
3. 编辑modules ,并添加配置。
sudo nano /etc/modules
添加以下两行内容到modules中
lirc_dev
lirc_rpi gpio_in_pin=18 gpio_out_pin=17
4. 编辑LRIC的配置文件使能红外线功能
sudo nano /etc/lirc/hardware.conf
修改以下行
LIRCD_ARGS=”–uinput –listen”
DRIVER=”default”
DEVICE=”/dev/lirc0″
MODULES=”lirc_rpi”
注意这里的”–uinput”,是两个“-”
如果lirc中没有hardware.conf文件,或者hardware.conf文件,请自行添加hardware.conf文件,内容为:
LIRCD_ARGS=”–uinput –listen”
LOAD_MODULES=true
DRIVER=”default”
DEVICE=”/dev/lirc0″
MODULES=”lirc_rpi”
注意这里的”–uinput”和“ –listen”,都是两个“-”
并编辑/etc/lirc/lirc_options.conf文件,
修改相应的两行内容:
driver = default
device = /dev/lirc0
5. 重新开启LIRC功能
sudo /etc/init.d/lirc stop
sudo /etc/init.d/lirc start
注意如果运行以上两行提示找不到命令,可能是新版本lirc,请改为以下命令
sudo /etc/init.d/lircd stop
sudo /etc/init.d/lircd start
到此LIRC软件和扩展板的配置就完成了
红外线接收功能:
1. 关闭LIRC软件
sudo /etc/init.d/lirc stop
注意如果运行时提示找不到命令,可能是新版本lirc,请改为以下命令
sudo /etc/init.d/lircd stop
2. 执行一下命令
mode2 -d /dev/lirc0
3. 使用任何红外线遥控器,对着扩展板按下任意按键,如果没按下键时屏幕都打印类似一下的内容,就说明红外线接收功能正常。
space 16300
pulse 95
space 28794
pulse 80
space 19395
pulse 83
space 402351
pulse 135
space 7085
pulse 85
space 2903
红外线发射功能:
1. 关闭LIRC软件
sudo /etc/init.d/lirc stop
注意如果运行时提示找不到命令,可能是新版本lirc,请改为以下命令
sudo /etc/init.d/lircd stop
2. 输入命令‘irrecord –list-namespace‘. 参数表示将会提示可用的按键名。(最好记下来,后面录制的时候会让你手动输入这些名字)
irrecord –list-namespace
3. 执行红外线编码录制命令
irrecord -d /dev/lirc0 ~/lircd.conf
4. 根据软件的提示操作即可,这个程序会自动算出你按下的遥控器按键的编码和时长,并录制下来记录在~/lircd.conf文件中。
注:列出几个常用的按键名
KEY_VIDEO_PREV
KEY_VIDEO_NEXT
KEY_VOLUMEUP
KEY_VOLUMEDOWN
KEY_POWER
5. 将录制好的~/lircd.conf文件覆盖lirc软件的相应文件
sudo cp ~/lircd.conf /etc/lirc/lircd.conf
注意是新版本lirc,请改为以下命令覆盖
sudo cp ~/*.lircd.conf /etc/lirc/lircd.conf.d/
6. 复制配置文件后,重启LIRC软件
sudo /etc/init.d/lirc restart
注意如果运行时提示找不到命令,可能是新版本lirc,请改为以下命令
sudo /etc/init.d/lircd restart
7. 可以使用irsend命令,来查看录制好可以使用的按键名
irsend LIST /home/pi/lircd.conf “”
将会看到类似一下的内容
irsend: 000000000000c837 KEY_VOLUMEDOWN
irsend: 00000000000048b7 KEY_VOLUMEUP
irsend: 00000000000008f7 KEY_VIDEO_PREV
irsend: 0000000000008877 KEY_VIDEO_NEXT
8. 现在就可以使用红外线发射器,发射之前录制好的遥控器按键编码了,用户利用这点将扩展板作为一个转台工具。发射命令参考一下命令:
irsend SEND_ONCE /home/pi/lircd.conf KEY_VIDEO_PREV
irsend SEND_ONCE /home/pi/lircd.conf KEY_VIDEO_NEXT
irsend SEND_ONCE /home/pi/lircd.conf KEY_VOLUMEDOWN
irsend SEND_ONCE /home/pi/lircd.conf KEY_VOLUMEUP
注意是新版本lirc,请直接使用录制时给文件取的名字,比如录制时取名“TV”,录制后的文件就是TV.lircd.conf,发射时只需要输入名字“TV”就行了
irsend list TV KEY_POWER
或者
irsend SEND_ONCE TV KEY_POWER
附:
1. LIRC官网http://www.lirc.org/
2. 通过web红外控制应用http://alexba.in/blog/2013/11/02/lirc-web-nginx-and-upstart/
3. 通过手机红外控制应用http://www.datscharf.dk/amote/
4. XBMC下只用红外接收应用http://my.oschina.net/funnky/blog/147094
按键使用:
请参考树莓派GPIO的使用方式