用红外遥控器遥控树莓派(XBMC)
概述
本篇教程将会讲解如何用一部红外遥控器来遥控操作树莓派上安装的影音中心.
在开始之前, 你需要按此教程把树莓派搭建为影音中心.
需要的零件
在搭建好了影音中心之后, 你需要去买些零件:
红外线传感器(接收器,无责任推荐)
红外线遥控器(发射器,无责任推荐)
母对母杜邦线
硬件连接
红外传感器只有三个引角, 都需要连上树莓派的GPIO管脚. 我们需要用到母对母杜邦线把它们连上. 好的杜邦线连上红外传感器会使得连接更可靠些.
按下图所示进行连接. 跳线的颜色无关紧要, 只是不同颜色更容易区分.
要注意在树莓派上用红外传感器需要3.3V电压, 千万别用5V.
LIRC
树莓派和遥控器的通讯通过LIRC (Linux Infrared Remote Control)完成. 大多数树莓派发行版都已经预装了, 所以在Rasbmc上我们就不需要再安装了, 只需做些设置即可.
为了确保红外硬件正常工作, 我们可以用SSH连接安装好XBMC的树莓派来测试下.
如果你从没用过SSH,请看此教程.
在XBMC的系统信息界面我们可以获得树莓派的IP地址.
我们需要关掉红外功能, 要不然我们无法通过SSH使用LIRC. 进入XMBC的设置界面, 然后将”Enable GPIO TSOP IR Receiver”选项设为disabled.
更改之后记得要重启一下.
再用SSH连上树莓派, 执行以下命令:
现在在红外传感器前面操作遥控器, 每按一次按键都应该会显示一组’pulse’ / ‘space’信息.
恭喜! 红外传感器工作正常.
配置并测试
我们已经知道红外硬件是OK的了, 我们需要给LIRC一个配置文件来定义在遥控器上的按键.
通过SSH会话, 执行命令:
nano lircd.conf
把下面的内容粘贴到文件中, 按CTRL-x退出, 按Y确定.
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 Thu Mar 14 14:21:25 2013
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 8945 4421
one 594 1634
zero 594 519
ptrail 598
repeat 8949 2187
pre_data_bits 16
pre_data 0xFD
gap 106959
toggle_bit_mask 0x0
begin codes
KEY_VOLUMEDOWN 0x00FF
KEY_PLAYPAUSE 0x807F
KEY_VOLUMEUP 0x40BF
KEY_SETUP 0x20DF
KEY_UP 0xA05F
KEY_STOP 0x609F
KEY_LEFT 0x10EF
KEY_ENTER 0x906F
KEY_RIGHT 0x50AF
KEY_KP0 0x30CF
KEY_DOWN 0xB04F
KEY_BACK 0x708F
KEY_KP1 0x08F7
KEY_KP2 0x8877
KEY_KP3 0x48B7
KEY_KP4 0x28D7
KEY_KP5 0xA857
KEY_KP6 0x6897
KEY_KP7 0x18E7
KEY_KP8 0x9867
KEY_KP9 0x58A7
end codes
end remote
这个配置文件应该放在用户pi的home目录下.
现在, 返回XMBC的设置界面开启”Enable GPIO TSOP IR Receiver”选项. 然后把”GPIO IR Remote Profile”设为如下图所示:
重启一下XMBC, 在开机时应该会在右下角显示一个和下图一样的提示框.
遥控器应该可以正常使用了, 再也不用鼠标和键盘来操控XMBC了, 哦也!
使用其他型号的遥控器
我是用LIRC中的一个工具’irrecord’来生成遥控器配置文件的.
如果你要用其他的遥控器, 你可以用这个工具来生成配置文件.
步骤如下:
在XMBC中关掉”Enable GPIO TSOP IR Receiver”选项.
把现在的lircd.conf文件改个别的名字.
输入命令’irrecord –list-namespace’. 参数表示将会提示可用的按键名.
输入命令’irrecord -d /dev/lirc0 ~/lircd.conf’
按照指示操作即可. 这个程序会自动算出遥控器的时长和编码.
via