查看: 52437|回复: 58
收起左侧

Raspbmc 设置红外线接收器

2013-1-18 11:05:04 | 显示全部楼层 |阅读模式
此篇文章原稿是发在Raspbmc 讨论区,我已经依照文章说明,完成设定,为了让E文不熟悉以及不想翻墙的同鞋可以依样画葫芦,所以再此分享。

如果要参考E文的同鞋,可以至 http://forum.stmlabs.com/showthread.php?tid=5549

首先你要买个红外线接收器,一般家用电视遥控为38KHz,所以跟店家说要买 38KHz的红外线接收器,就可以了,E文中是以TSOP4838 为例子,但是我测试的结果,目前市场上的红外线接收器都是可以通用。

在图片中可以看到
Receiver Pin 1 is DATA(资料传输用), 请接到 Pi pin 12 (GPIO 18);
Receiver Pin 2 is GND(负极), 请接到 Pi pin 6 (GROUND)
Recevier Pin 3 is POWER(正极), 请接到 Pi pin 1 (3.3V)
如果你搞不清楚你买来的脚定义,记得跟店家或是上网查询相关资料,不然是无法正确使用的。
目前市售的38KHz红外线接收器都通用3.3V及5V,建议从3.3V开始测,如果3.3V不能用,再换5V,正负极不可以接反,否则会造成红外线接收器损坏,建议同鞋买二个红外线接收器,以免接反烧坏,你还要跑一趟店家。

要衔接的电线可以购买杜邦线来做连接,就是像你电脑主机板里的连接线。

下面再附上 Pi 的定义图



如果你都看懂我上面写什么,而且有能力操作,那就开始下载 Raspbmc 吧,链结 http://pan.baidu.com/share/link?shareid=224904&uk=3256396273

下载完成后,将它烧录到你的SD卡,2G~16G的都可以,它会自动安装及扩展容量。

烧录完成,就将SD卡插到你的Pi里,然后插上网线(网路需有DHCP),约十至二十分钟,就会自动安装成。

如果不会安装完成,发个信息给我,我再把我的SD卡做成 IMAGE 上传到百度云。

进入 XBMC画面,首先至最右边的设定,更改至中文(记得字型要设 arial ),设完以后,回到主画面然后选程式,你会看到下方出现一个Pi 的图形,再选择进去,到最右边的 IR 设定中,预设值是二个都开启,如果没有开启,请设定开启,然后你可以关机了。

再来将你的红外线接收器装上,并重新启动Pi,如果你要在本机操作指令,此时选择离开,Raspbmc会跳出一个视窗要求你按 ESC,按完ESC键后,会跳出 LOGIN ,请输入 pi ,password 则输入 raspberry。

接下来我们要开设定接收器了,首先启动红外线接收器,输入

sudo modprobe lirc_rpi

然后,将红线接收器的接收值清除,输入

sudo kill $(pidof lircd)

最后,再启动测试,输入

sudo mode2 -d /dev/lirc0

把你的遥控器,对准红线接收器,按下任意键,你会在的你屏幕上看到类似下面的代码出现
pulse 1681
space 4816
pulse 1695
space 4784
pulse 1333
space 3638

如果没有出现,会有下列几种情况:
1.你的红外线接收器坏了,请你换一个新的。
2.你线接错了,最常发生的是正、负极接反。
3.你不是用38KHz的遥控器,请拿电视的遥控器来测试。
4.线路接触不良,你可以拿三用电表来测试,是否有 3.3V输出。


如果你已经看到代码出现,那我们就可以开始设定遥控器。
首先,清除接收器指令
sudo kill $(pidof lircd)
列出遥控器对应指令
sudo irrecord --list-namespace

你可以看到 KEY_0 KEY_1 ……等值,我们常用的是
KEY_UP
KEY_DOWN
KEY_LEFT
KEY_RIGHT
KEY_ESC
KEY_ENTER
KEY_SPACE
其它的你就自行记住吧!

接下来我们再清除遥控器记忆,请输入
sudo kill $(pidof lircd)
要开始设遥控器了,请输入
irrecord -d /dev/lirc0 ~/lircd.conf
请先按enter二次,再按住你的遥控器任意键,直到屏幕上的...................跑完。
跑完后,你刚刚按住的那个键,请一直重覆按,直到屏幕上的...................跑完。
接下来就是设定了,请先输入
KEY_UP
然后按遥控器上的你要设定为 上 的那个键,然后再按ENTER。
再输入
KEY_DOWN
然后按遥控器上的你要设定为 下 的那个键,然后再按ENTER。

重覆上述动作,一直到你设定完成,最后按enter离开。

输入

nano /home/pi/lircd.conf

你会看到类似下面的画面



# Please make this file available to others
# by sending it to <lirc@bartelmus.de>
#
# this config file was automatically generated
# using lirc-0.9.0-pre1(default) on Sat Dec 22 23:05:43 2012
#
# contributed by
#
# brand:                       /home/pi/lircd.conf
# model no. of remote control:
# devices being controlled by this remote:
#

begin remote

  name  /home/pi/lircd.conf
  bits           16
  flags SPACE_ENC|CONST_LENGTH
  eps            30
  aeps          100

  header       9014  4495
  one           563  1687
  zero          563   548
  ptrail        560
  repeat       9013  2245
  pre_data_bits   16
  pre_data       0xEF10
  gap          107922
  toggle_bit_mask 0x0

      begin codes
          KEY_UP                   0x02FD
          KEY_DOWN                 0x827D
          KEY_LEFT                 0xE01F
          KEY_RIGHT                0x609F
          KEY_ENTER                0x22DD
      end codes

如果你没看到 KEY_UP                   0x02FD 这行字,那就表示你没设定成功,就请从头再确认。

要离nano 编辑器,请按 ctrl+x 。

最后我们把此值复制到 Raspbmc 的其中一个内定值中:

sudo cp /home/pi/lircd.conf /etc/lirc/xbox-lircd.conf

在这里我们是复制到 xbox 这个值,所以重启后,再回到最右边的 IR 设定中,并且在第三个选项,选xbox,再重启,就大功告成了。

目前遇到的问题,有很大的机会,你按下遥控器的按键一次,但是画面上会出现二次,例如你按左一次,但是画面上会跑二次左,这是常见的BUG,是无解的。

另外就是遥控器的问题,如果你用的是非标准38KHz的遥控器,可能会感应不出来,此问题就无解了,只能请你用标准的电视遥控器。

我想会有同鞋会问:那在家中电视与Pi是使用同一个遥控下,如何区隔呢?
基本上你只能找一个死角,是按遥控器后不会干扰到电视的地方,然后把红外线接收器放置在那里,才能够解决这个问题。
回复

使用道具 举报

2013-1-18 13:38:33 | 显示全部楼层
感谢分享。
回复 支持 反对

使用道具 举报

2013-1-18 15:10:59 | 显示全部楼层
不错,哈哈,收了
回复 支持 反对

使用道具 举报

 楼主| 2013-1-18 21:45:24 | 显示全部楼层
本帖最后由 baoxiaozhong 于 2013-1-18 21:50 编辑

有同鞋说原始下载点安装速度很慢,需要提供百度云下载点:
http://pan.baidu.com/share/link?shareid=227850&uk=3256396273
此版本为RC3 2013 01 07 Nightly 版 ,解压缩后,再烧录至SD卡,进去后就是正体中文,请再自行修改为简体中文,已安装字幕下载程式,可选择由射手网下载字幕,已中度超频,解析度为 1920x1080 24Hz ,看1080p的影视加字幕不会有lag掉字的情形。

回复 支持 反对

使用道具 举报

 楼主| 2013-1-19 09:18:57 | 显示全部楼层
关于遥控器按一下会感应多下的问题,我找到答案了,原因在于超频,只要你超频就会感应错误,解决方式:
看1080P 的影视才超频,720p就不要超频了。
回复 支持 反对

使用道具 举报

 楼主| 2013-1-19 10:21:45 | 显示全部楼层
本帖最后由 baoxiaozhong 于 2013-1-19 10:34 编辑

pi 组装完成


红外线接收器


进入超频及外红线 设定选单


超频及外红线 设定选单
pi 5.jpg
回复 支持 反对

使用道具 举报

2013-1-22 14:56:43 | 显示全部楼层
翻译得不错,对于电视有可能受遥控器影响的情况,可以用一个卡片把电视的接收端暂时封上。

注:这篇文章提到的方法在高清电视,即含有HDMI接口的电视上是不需要这么做的,因为HDMI接口中有个协议是直接支持用遥控器控制通过线连接的硬件设备的。
回复 支持 反对

使用道具 举报

 楼主| 2013-1-22 15:05:26 | 显示全部楼层
电视HDMI的部份我试过,大部份的遥控器上的 上、下、左、右和 ENTER ESC的对应键,会有下面的情形,遥控器上的上下键大部份会用在频道的调整,左、右键会用在声音的控制,OK和退回键,也会有其它的功能,除非你的电视一开始就是可以插网线的多媒体电视,才会把这些键独立出来,不过有了多媒体电视,再来装Raspbmc ,好像又是多余了。
回复 支持 反对

使用道具 举报

 楼主| 2013-1-22 15:08:25 | 显示全部楼层
目前卡在一个地方,那就是字幕问题,射手网抓下来字幕,有时候会发生时间徧移的情形,射手播放器(WIN 版本),有快速键可以直接调整,而且调整的时间不限,但 Xbian 和 Raspbmc 快速键内定值都没有可以设定字幕时间调整,而且时间最多也只能徧移10秒,不知道有没有同鞋有好方法的?
回复 支持 反对

使用道具 举报

2013-1-22 15:25:52 | 显示全部楼层
你是否可以翻译一下这个文章,这是一个用pi结合iphone手机开启车库门的创意,也是不错的,只是E文能力不济,请移步至:http://www.raspberrypi.org/phpBB ... 482d287d7fb089e0d60   

如果有兴趣,你可以把http://linuxtoy.org/archives/cool-ideas-for-raspberry-pi.html  这里提到的34个创意都尽量翻译一下,然后让站长成立一个专题给你,那你的工作就意义更大了。   这34个里我最喜欢的是那个把pi送到太空的项目,呵,希望你可以第一个翻译之……   祝开心。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

热点推荐

关注我们,了解更多

官方微信

服务时间:10:00-16:00

13714503811

公司地址:深圳市龙岗区南湾街道东门头路8号

Copyright © 2012-2020 Powered by 树莓派论坛 2019.4  粤ICP备15075382号-1
快速回复 返回列表 返回顶部