[翻译完成] 用红外遥控器遥控树莓派

原创
2013/07/25 20:07
阅读数 3.7W

概述

本篇教程将会讲解如何用一部红外遥控器来遥控操作树莓派上安装的影音中心.

概述

在开始之前, 你需要按此教程把树莓派搭建为影音中心.

需要的零件

在搭建好了影音中心之后, 你需要去买些零件.


名称 数量

sensor.jpg

红外传感器

http://adafruit.com/products/157

1

miniIRremotecontrol_MED.jpg

红外遥控器

http://adafruit.com/products/389

1

leads_MED.jpg

母对母杜邦线

http://adafruit.com/products/794

1

硬件连接

红外传感器只有三个引角, 都需要连上树莓派的GPIO管脚. 我们需要用到母对母杜邦线把它们连上. 好的杜邦线连上红外传感器会使得连接更可靠些.

overview.jpg

按下图所示进行连接. 跳线的颜色无关紧要, 只是不同颜色更容易区分.

wiring.png

要注意在树莓派上用红外传感器需要3.3V电压, 千万别用5V.

LIRC

树莓派和遥控器的通讯通过LIRC (Linux Infrared Remote Control)完成. 大多数树莓派发行版都已经预装了, 所以在Rasbmc上我们就不需要再安装了, 只需做些设置即可.

为了确保红外硬件正常工作, 我们可以用SSH连接安装好XBMC的树莓派来测试下.

如果你从没用过SSH,请看此教程.

在XBMC的系统信息界面我们可以获得树莓派的IP地址.

xmbc_ip_address.jpg

我们需要关掉红外功能, 要不然我们无法通过SSH使用LIRC. 进入XMBC的设置界面, 然后将"Enable GPIO TSOP IR Receiver"选项设为disabled.

TSOP_IR_disabled.jpg

更改之后记得要重启一下.

再用SSH连上树莓派, 执行以下命令:

mode2_on_xmbc.png

现在在红外传感器前面操作遥控器, 每按一次按键都应该会显示一组'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_ir_on.jpg

重启一下XMBC, 在开机时应该会在右下角显示一个和下图一样的提示框.

xmbc_detects_lirc.jpg

遥控器应该可以正常使用了, 再也不用鼠标和键盘来操控XMBC了, 哦也!

使用其他型号的遥控器

 

我是用LIRC中的一个工具'irrecord'来生成遥控器配置文件的.

如果你要用其他的遥控器, 你可以用这个工具来生成配置文件.

步骤如下:

  • 在XMBC中关掉"Enable GPIO TSOP IR Receiver"选项.

  • 把现在的lircd.conf文件改个别的名字.

  • 输入命令'irrecord –list-namespace'. 参数表示将会提示可用的按键名.

  • 输入命令'irrecord -d /dev/lirc0 ~/lircd.conf'

  • 按照指示操作即可. 这个程序会自动算出遥控器的时长和编码.

recording_keys.png

展开阅读全文
打赏
0
96 收藏
分享
加载中
您好!想要请教您一个问题,方便加下QQ或者微信吗?QQ:1270673774 微信:zhumin950822
2018/07/26 10:47
回复
举报
他的debian怎么会有图形桌面??
2013/08/19 10:08
回复
举报
树莓派那512内存,用媒体中心卡死了。pcduino也勉强跑。还能优化不。
2013/07/27 20:29
回复
举报
请问楼主,硬件小白如何学单片机? 我对这个很感兴趣,我是phper
2013/07/27 14:13
回复
举报
配件淘宝都有,回家搞一个给家人用~哈哈
2013/07/26 22:13
回复
举报
正想搞这么一套那,配件不知道国内都买得到吗?
2013/07/26 22:03
回复
举报
看着相当不错哇!~
2013/07/26 15:39
回复
举报
cool
2013/07/26 11:16
回复
举报
cool
2013/07/26 10:49
回复
举报
Ccc
2013/07/26 10:41
回复
举报
更多评论
打赏
17 评论
96 收藏
0
分享
返回顶部
顶部