红外

发布树莓派专用红外线扩展板
购买地址: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的使用方式