与非网论坛

标题: 【分享】给树莓派安装红外接收管并控制XBMC(连载二) [打印本页]

作者: sky-Hawk where     时间: 2013-1-18 14:53
标题: 【分享】给树莓派安装红外接收管并控制XBMC(连载二)
本帖最后由 flashsoft 于 2013-1-18 14:58 编辑

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

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

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


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

        2、连接红外接收管
                把红外接收管通过连接线接到树莓的GPIO上
                根据文末的资料得知,HS0038B(突起面向自己)的引脚定义自左到右分别是OUT、GND、VCC:
                (, 下载次数: 394)
                我的树莓派是新版的,然根据U大的资料资料得知具体GPIO的定义为:

                (, 下载次数: 353)

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


                接好后如图:
                (, 下载次数: 320)
                请开机启动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(连载)


作者: sky-Hawk where     时间: 2013-1-18 15:15
cool{:soso_e179:}
作者: sky-Hawk where     时间: 2013-1-18 15:18
你拍的照片有种朦胧美,是PS过的么?
作者: sky-Hawk where     时间: 2013-1-18 15:46

作者: sky-Hawk where     时间: 2013-1-18 23:29
支持一下,呵呵
我看到图片像是用手机拍的,哈哈
作者: sky-Hawk where     时间: 2013-1-19 01:06
ukonline2000 发表于 2013-1-18 23:29
支持一下,呵呵
我看到图片像是用手机拍的,哈哈

是的,ip4,效果不好,见笑了
作者: sky-Hawk where     时间: 2013-3-5 23:31
哈哈 这个好实用 回头研究下 谢谢楼主了~~ 回头买个遥控器
作者: sky-Hawk where     时间: 2013-3-6 10:59
又是一个好应用
作者: sky-Hawk where     时间: 2013-3-7 11:34
这个一直想搞的。
请问楼主的“HS0038B的红外接收管和3根连接线”在哪里买的?网上的话能否给个链接?
作者: sky-Hawk where     时间: 2013-3-7 13:44
啊哈,不错,红外接收管和遥控器有新用途了
作者: sky-Hawk where     时间: 2013-3-8 14:03
が笨笨ボ狼 发表于 2013-3-7 11:34
这个一直想搞的。
请问楼主的“HS0038B的红外接收管和3根连接线”在哪里买的?网上的话能否给个链接? ...

直接在中发买的,淘宝上貌似也是一堆一堆的,直接搜型号就有
作者: sky-Hawk where     时间: 2013-3-13 22:23
flashsoft 发表于 2013-3-8 14:03
直接在中发买的,淘宝上貌似也是一堆一堆的,直接搜型号就有

我买的同样的IR receiver,为什么做到下面这步的时候出错呢?
  1. pi@raspbmc:/etc/init$ sudo modprobe lirc_rpi
  2. pi@raspbmc:/etc/init$ ls -l /dev/lirc0
  3. crw-rw---T 1 root video 251, 0 Mar 13 22:01 /dev/lirc0
  4. pi@raspbmc:/etc/init$ mode2 -d /dev/lirc0
  5. mode2: could not open /dev/lirc0
  6. mode2: default_init(): Device or resource busy
复制代码
我用的raspbmc,买了两个IR Receiver,两个都是同样的状况。重启过也是一样。
作者: sky-Hawk where     时间: 2013-3-17 20:38
が笨笨ボ狼 发表于 2013-3-13 22:23
我买的同样的IR receiver,为什么做到下面这步的时候出错呢?我用的raspbmc,买了两个IR Receiver,两个 ...

先 /etc/init.d/lirc stop
作者: Fine_3025912    时间: 2013-5-1 00:20
大大,请教下
我现在已经完成到了第五步,然后如下:
-------------------------------------
首先:IR接收正常:
root@raspbmc:/home/pi# irw
000000037ff07bdd 00 OK mceusb
000000037ff07be0 00 Down mceusb
000000037ff07bf1 00 Mute mceusb
000000037ff07bef 00 VolUp mceusb
000000037ff07bdf 00 Left mceusb
000000037ff07bde 00 Right mceusb
000000037ff07bdd 00 OK mceusb
-----------------------------------------(貌似路径不对)
执行第五步:
root@raspbmc:/home/pi# etc/init.d/xbmc restart
bash: etc/init.d/xbmc: 没有那个文件或目录
------------------------------------------
执行第六步:
root@raspbmc:/home/pi# echo 'lirc_rpi' >> /etc/modules
root@raspbmc:/home/pi#
-------------------------------------------貌似没有问题

--------------------------------
我的想法是重启XMBC冲上电应该就算重启,只要第六步可以执行。

但是现在的问题是重启XMBC后还是无法控制,并且执行irw的话,需要重启执行/etc/init.d/lirc restart才能验证。


各位大大,就靠你们最后一步推波助澜了,先谢了

作者: anti-t    时间: 2013-9-9 16:59
不错 -------------------------
作者: 我的小派    时间: 2014-12-18 16:28
Now hold down button "KEY_UP".
Something went wrong. Please try again. (9 retries left)
irrecord: no data for 10 secs, aborting
The last button did not seem to generate any signal.
Press RETURN to continue.



Please enter the name for the next button (press <ENTER> to finish recording)
KEY_UP

Now hold down button "KEY_UP".
Something went wrong. Please try again. (9 retries left)
Something went wrong. Please try again. (8 retries left)
Something went wrong. Please try again. (7 retries left)
请问出现这样的情况是怎么回事?
作者: sky-Hawk where     时间: 2015-1-26 00:44
好贴,感谢LZ分享
作者: mitchguo    时间: 2015-2-16 00:39
想问一下,如果直接将将红外管接到树莓派上,能否直接遥控安装了openelec的树莓派?
作者: mitchguo    时间: 2015-2-17 10:36
mitchguo 发表于 2015-2-16 00:39
想问一下,如果直接将将红外管接到树莓派上,能否直接遥控安装了openelec的树莓派? ...

今天试了,不行!




欢迎光临 与非网论坛 (https://www.eefocus.com/forum/) Powered by Discuz! X3.5