这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » Raspbmc 设置红外线接收器

共2条 1/1 1 跳转至

Raspbmc 设置红外线接收器

高工
2014-07-30 08:46:04     打赏
如果要参考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是使用同一个遥控下,如何区隔呢? 
基本上你只能找一个死角,是按遥控器后不会干扰到电视的地方,然后把红外线接收器放置在那里,才能够解决这个问题。

院士
2014-08-08 23:07:47     打赏
2楼
像这个帖子我的疑问就是  楼主当时使用的树莓派的系统是哪个啊???

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]