本帖最后由 flashsoft 于 2013-1-18 14:58 编辑

[连载]给树莓派安装红外接收管并控制XBMC(连载二)

目标:
       1、给树莓派给安装个红外接收管并遥控它

本文中的材料:
1、安装了Xbian系统的树莓派一个
2、SSH客户端一个
3、支持HDMI的显示器一台(可选)
4、电脑一台(本文以Mac系统为例)
5、红外遥控器一只(本文以Apple Remote为例并且演示用学习遥控器学习Apple Remote)
       全家福:
全家福
2013-1-18 14:44 上传
下载附件(328.18 KB)
全家福



具体步骤:
       1、首先需要一个红外接收管以及三根连接线,我买的是HS0038B的红外接收管和3根连接线
               当然你买到其他型号的红外接收管也是OK的,只是针脚定义你需要单独找其他文档,本文就以HS0038B为例了

       2、连接红外接收管
               把红外接收管通过连接线接到树莓的GPIO上
               根据文末的资料得知,HS0038B(突起面向自己)的引脚定义自左到右分别是OUT、GND、VCC:
红外管定义
2013-1-18 14:49 上传
下载附件(60.77 KB)
红外管定义

               我的树莓派是新版的,然根据U大的资料资料得知具体GPIO的定义为:

GPIO
2013-1-18 14:50 上传
下载附件(75.3 KB)
GPIO


               我们按照这样的方法去接线:
               VCC -> GPIO针脚 pin1
               GND -> GPIO针脚 pin6
               OUT -> GPIO针脚 pin12


               接好后如图:
连接后
2013-1-18 14:47 上传
下载附件(408.92 KB)
连接后

               请开机启动Xbian

       3、检查lirc服务是否正确启动
               xbian默认是开启lirc服务的,我们需要验证下启动时有没有找到你的红外接收管
               开启终端以root连接到你的Xbian,然后执行
  1. dmesg | grep -i lirc

复制代码
如果没有任何结果,请执行(本文命令以root账户登陆为例,所以命令未加sudo),如果有内容请跳到步骤4
  1. modprobe lirc_rpi

复制代码
然后执行
  1. mode2

复制代码
然后按你的遥控器,看看终端是否有类似下面的输出,如果没有请跳到步骤2
  1. space 4960669

  2. pulse 2697

  3. ……

  4. pulse 2697

复制代码
4、设置你的红外遥控器
               首先你可以根据你自己的遥控器型号去http://lirc.sourceforge.net/remotes/ 看看是否有你的遥控器,如果有请执行
                       备份原有配置
  1. cp /etc/lirc/lircd.conf /etc/lirc/lircd.conf.default

复制代码
下载指定遥控器配置成为默认配置
  1. wget <a  target="_blank">http://lirc.sourceforge.net/remotes/</a>你的遥控器型号 /etc/lirc/lircd.conf

复制代码
启动lirc服务
  1. /etc/init.d/lirc restart

复制代码
启动irw验证你的遥控器键位是否都OK
  1. irw

复制代码
我这会看到类似这样的输出
  1. 0000000077e1500d 00 KEY_UP Apple

  2. 0000000077e1300d 00 KEY_DOWN Apple

复制代码
如果正确那么恭喜你,你可以跳转到步骤6了

       5、手动设置你的红外遥控器的键位
               在手动设置你的遥控器键位之前我们需要了解下有哪些键名可用,输入
  1. irrecord --list-namespace

复制代码
会列出一堆的可用备选按键名,你基本上看名字能猜出都是干嘛的,也可输入
  1. irrecord --list-namespace | grep -i key_

复制代码
来找到都有哪些键,我推荐的几个键名是(全大写)
  1. KEY_ESC

  2. KEY_LEFT

  3. KEY_RIGHT

  4. KEY_UP

  5. KEY_DOWN

  6. KEY_ENTER

  7. KEY_INFO

  8. KEY_OK

  9. KEY_POWER

复制代码
自己记录下这些名字,后面用的上

               如果在步骤4里,你没找到自己的遥控器,比如我的Apple Remote使用官方带的配置是不行的,我得重新录制
               停止lirc服务先
  1. /etc/init.d/lirc stop

复制代码
录制遥控器键位(录制失败后请删除/etc/lirc/lircd.conf保证下次录制能成功)
  1. irrecord /etc/lirc/lircd.conf

复制代码
回车,直到看到“Press RETURN now to start recording.”你再回车一次,然后请细心的按你的遥控器上的每一个按键,一个按键只按一次,保证屏幕上会多一个‘.’
               如果所有按键都按完后,屏幕上还未提示“Please enter the name for the next button (press <ENTER> to finish recording)”,请一直不断的按最后你按的那个按键
               直到出现“Please enter the name for the next button (press <ENTER> to finish recording)”
               然后输入(举例,根据你自己的情况实际输入)
  1. KEY_LEFT

复制代码
将提示“Now hold down button "KEY_LEFT".”
               你按下你遥控器的对应键,继续上面的步骤,直到你设置完毕你所有要的键位后直接回车,这样配置文件就保存好了

               启动lirc服务
  1. /etc/init.d/lirc restart

复制代码
6、启动XBMC验证键位是否对(记住,每次更改lirc服务必须重新启动XBMC
               输入
  1. /etc/init.d/xbmc restart

复制代码
7、把lirc_rpi加到系统启动里
  1. echo 'lirc_rpi' >> /etc/modules

复制代码
到此,你们都应该完美设置了你的红外遥控器了,本文该结束了

       附送两个小信息
               1、开启XBMC开启HTTP控制,可用XBMCRemote等工具控制XBMC

               开启XBMC,在系统设置->服务->Web服务器中勾选允许通过HTTP控制XBMC


               2、我用ipassport的红外遥控器学习Apple Remote后,可完全替代Apple Remote所有功能,这个爽


参考资料:

       HS0038B红外接收管资料:http://www.arm9board.net/download/OK6410/docs/HS0038B.pdf
       树莓派GPIO定义(感谢U大):http://ukonline2000.com/?p=1
       老外的简单教程:http://druss.pp.ua/2012/08/raspbmc-lirc-gpio-xbmc-en/
                                       http://forum.stmlabs.com/showthread.php?tid=1954
       红外的遥控器匹配列表:http://lirc.sourceforge.net/remotes/
       Xbian官方的Remote设置:http://wiki.xbian.org/index.php? ... onfiguring_a_remote

关联文章:
【分享】配置Xbian,并用NodeJS搭建一个Hexo的极简BLOG(连载)