文档章节

树莓派,接收遥控器指令

哈库纳
 哈库纳
发布于 2016/11/27 11:27
字数 1202
阅读 468
收藏 0

    进行下面操作之前希望你是一名不干服输,勤于动手的 gek。下面这条路很清晰,但是相信每一步你都会遇到更多的问题,所以你还要有 google or baidu 资料的能力。

 

1. 把 config.txt 中有关红外线的功能启用找到下面这个并把 # 去掉

# Uncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi

2. 安装 lirc 工具包。

    在安装环节可能遇到失败。我的处理方式是重新在树莓派网站上下载了新的镜像并刷进SD卡。重新执行安装,问题解决!之所以选择这条路是因为我的树莓派系统版本,本身也很落后了需要升级。

sudo apt-get install lirc

3. 选择你的红外引脚,配置文件sudo vi /etc/modules。

    我使用的引脚是,GPIO 18号引脚作为红外信号输入,GPIO17号引脚作为红外发送。

lirc_dev
lirc_rpi gpio_in_pin=18 gpio_out_pin=17

4. 加载红外线驱动模块,每次重启机器都要执行它。

sudo modprobe lirc_rpi

如果提示:ERROR: could not insert 'lirc_rpi': No such device,那么请回顾第一步。

5. 测试红外线接收。如果日光非常强烈,红外接收会变得很弱。所以避光测试是一个有效的途径。

sudo mode2 -d /dev/lirc0

6. 测试结果类似这样

space 14945
space 35
pulse 620
pulse 8901
space 34
pulse 624
pulse 2863
space 34
pulse 625
pulse 4067
space 37
pulse 621
pulse 2843
space 32
pulse 19055
pulse 11325
space 36
pulse 622
space 6473

7. 查看所有按键名。可以通过 grep 去搜寻自己想要的按键名,例如:KEY_POWER

sudo irrecord --list-namespace

8. 录制红外线,用遥控器对准红外接收管

irrecord -d /dev/lirc0 ~/lircd.conf

    录制 “lircd.conf”你需要有十分的耐心,下面这个就是中途失败的情况。当你 RETURN 之后便开始让遥控器对准红外线接收管,然后就是按个不停。屏幕会输出各种 . 大概要按个 100多次把。才会成功。如果中途长时间没有收到按键信号,那么就会出现下面这个提示。

It is very important that you press many different buttons and hold them
down for approximately one second. Each button should generate at least one
dot but in no case more than ten dots of output.
Don't stop pressing buttons until two lines of dots (2x80) have been
generated.

Press RETURN now to start recording.
...........................
irrecord: no data for 10 secs, aborting
irrecord: gap not found, can't continue

    匹配的目的是为了让树莓派识别遥控器的编码格式,所以你可以随便按键。每次按键间隔1秒的样子。识别成功之后就会生成 “lircd.conf” 配置文件了。

    在匹配时第一排“...”每次要按键 1 秒左右。当出现第二排“...”的时候,就可以随便按遥控器上的键了。两次匹配之后就可以录制按键了。

    如果在录制过程中出现下面这样的情况,那么意味着你的遥控器不被支持。

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

Now hold down button "EY_POWER".
Something went wrong. Please try again. (9 retries left)
Something went wrong. Please try again. (8 retries left)

 

    目前状况:实验失败!

    问题原因:没有找到合适的能够匹配上的遥控器。

    原因分析:可能是红外线接收管灵敏度问题导致,不排除遥控器真的不被支持。

    下一步:考虑更换红外接收头。之前用的是红外接收二极管,准备更换成三极管在试试。

 

Tips:红外接收管

    接收红外线的电子元器件,2只脚的叫红外接收二极管。3只脚的叫三极管。二极管的管子一般不会对红外接收信号做放大处理,此外它的线性特性要好于三极管,但是二极管的灵敏度没有三极管好。

    但是要知道遥控器输出的红外线信号时“0”“1”这种数据。因此我们需要的是灵敏度而不是线性特性。因此准备更换红外光敏三极管在试一试。或许家里的遥控器会在树莓派上复活。

    另外无论是红外二极管,还是三极管都是有极性的。所以你最好是有一块万用表放到二极管档位来测量二极管极性,当然还有取巧的办法,是通过观看二极管内部两个电极的样子来区分电极性。有兴趣的可以自己多找几个发光二极管或者接收管来试验。

    呃,三极管就不说了,光是二极管三极管足够单开一篇 Blog 去说它们的特点了。

Tips:树莓派,重启红外接收功能,让配置生效

sudo /etc/init.d/lirc stop
sudo /etc/init.d/lirc start

 

© 著作权归作者所有

哈库纳

哈库纳

粉丝 963
博文 84
码字总数 152107
作品 4
杭州
架构师
私信 提问
用Python让Raspberry Pi“动”起来

【编者按】本文是来自奥松机器人社区的投稿,作者为小强之工,真名贝振权,无线电、电子、嵌入式爱好者。 前段时间,接触了一款在开源硬件界被称为是“人气之王”的树莓派(Raspberry Pi)袖珍...

RagingTyphoon
2015/08/16
376
0
[翻译完成] 用红外遥控器遥控树莓派

概述 本篇教程将会讲解如何用一部红外遥控器来遥控操作树莓派上安装的影音中心. 在开始之前, 你需要按此教程把树莓派搭建为影音中心. 需要的零件 在搭建好了影音中心之后, 你需要去买些零件....

八宝粥
2013/07/25
16.1K
17
Windows系统监听键盘通过UDP协议控制树莓派小车

  树莓派小车硬件从淘宝买到手后已经鼓捣很长时间了,其中最喜欢的应用是控制小车运动了。我的小车控制系统在开发的过程中遇到了很多小问题,都被我一一修正了,将开发经验与大家分享,希望...

FreeBuf
2018/07/30
0
0
新手教程:如何 SSH 进入树莓派

在这篇树莓派文章中,你将学到如何在树莓派中启用 SSH 以及之后如何通过 SSH 进入树莓派。 在你可以用树莓派做的所有事情中,将其作为一个家庭网络的服务器是十分流行的做法。小体积与低功耗...

作者: Chinmay
05/23
0
0
第1讲:树莓派购买指南【子豪兄的零基础树莓派教程】

本文介绍了树莓派主板及其外接设备的购买指南。 帮助新手用最少的钱实现全部功能并快速上手。 Bilibili视频教程 文字版、源代码、更新、勘误,请看本教程Github代码仓库: https://github.c...

子豪兄
2018/10/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

用原生js对表格排序

本文转载于:专业的前端网站➸用原生js对表格排序 阿里的模拟笔试题,当时时间有限没写出来,其实是因为自己对原生dom操作不熟悉,这里补一下。 题目的大意是有一个表格,如代码所示 <table>...

前端老手
26分钟前
3
0
IT兄弟连 HTML5教程 HTML5表单 HTML5新增表单元素

HTML5有一些新的表单元素:<datalist>、<keygen>、<output>。不是所有的浏览器都支持HTML5新的表单元素,但即使浏览器不支持该表单属性,仍然可以显示为常规的表单元素。 1 <datalist>元素 ...

老码农的一亩三分地
27分钟前
3
0
【朝花夕拾】Android自定义View篇之(一)View绘制流程

https://www.cnblogs.com/andy-songwei/p/10955062.html

shzwork
29分钟前
4
0
Qt编写自定义控件70-扁平化flatui

一、前言 对于现在做前端开发人员来说,FlatUI肯定不陌生,最近几年扁平化的设计越来越流行,大概由于现在PC端和移动端的设备的分辨率越来越高,扁平化反而看起来更让人愉悦,而通过渐变色产...

飞扬青云
39分钟前
2
0
教你玩转Linux—添加批量用户

添加和删除用户对每位Linux系统管理员都是轻而易举的事,比较棘手的是如果要添加几十个、上百个甚至上千个用户时,我们不太可能还使用useradd一个一个地添加,必然要找一种简便的创建大量用户...

Linux就该这么学
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部