目的:早晨定时打开显示屏(电视),树莓派虽然省电,可以常开,但显示屏是耗电的。

材料:红外接收头(原来玩51开发板上带的,好久不用不知坏没坏)、红外发射管(曾买过一个红外避障器上有个红外发射管)、树莓派、电视及遥控器。

制做:

1、录制遥控器开机信号。接收头只是临时用,差不多就行,这个接收头在试验过程中出现问题很多,耽误很长时间,之前3.3V好使,后来不好使了,过程重试了N次,结果换在5V上好使了,这个过程网上很多,最麻烦的莫过于,那个点那个,现在也是莫名其妙,好在我只是要个结果文件,弄出来就使,反正到现在irw和LIST那个命令还是不好使。

过程:

安装sudo apt-get install lirc

sudo nano /boot/config.txt

dtoverlay=lirc-rpi

gpio_in_pin=18

gpio_out_pin=17

sudo nano /etc/lirc/hardware.conf

#Chosen Remote Control

REMOTE="None"

REMOTE_MODULES="lirc_rpi"

REMOTE_DRIVER="default"

REMOTE_DEVICE="/dev/lirc0"

REMOTE_SOCKET=""

REMOTE_LIRCD_CONF=""

REMOTE_LIRCD_ARGS="--uinput-listen"

#Chosen IR Transmitter

TRANSMITTER="None"

TRANSMITTER_MODULES="lirc_rpi"

TRANSMITTER_DRIVER="default"

TRANSMITTER_DEVICE="/dev/lirc0"

TRANSMITTER_SOCKET=""

TRANSMITTER_LIRCD_CONF=""

TRANSMITTER_LIRCD_ARGS="--uinput-listen"

(不知道用不用非这么复杂,反正成了,我就没再探究)

************以下两行是后加的,在新版本得用:

sudo nano /etc/lirc/lirc_options.conf

改两行:

driver=default

device=/dev/lirc0

**********************

重启一下,重新载入配置:(这里我的是用的lircd,用lirc不好使,网上大部分是lirc)

sudo /etc/init.d/lircd stop

sudo /etc/init.d/lircd start

以上改动完成之后,下面进入重要步骤:

首先说一下硬件:正着拿接收头,左为数据,中间地,右边vcc,网上有图可查看。vcc开始我接3.3也好使,但后来就只能接5了,不知为何,网上有说千万不能接5的。地线不用说,数据线接GIOP18,这个是BCM编码(缺省)也就是5v那边数第6个。3.3这边数第6个就是接的发射管的正极(这个也是在网上查了半天,因为我的红外发射管是在板上的,没有长短脚,我也不知红外发射管有没有长短脚,反正对比我手里的二极管也是这么猜着接的,一次成功!)红外发射管的另一极是接的地线。我是先录制,然后拆下接收头,只用发射管。

说完硬件,还是回来先说接收头。

mode2 -d /dev/lirc0

提示:

Using driver default on device /dev/lirc0

Trying device: /dev/lirc0

Using device: /dev/lirc0

按遥控器,屏幕打印一堆space、pulse的内容,这说明接收头好使。我在后边试时,用3.3这里就不出东西了,原因不明。

接下来就可以录制按键了

看这个吧,比较详细:http://tieba.baidu.com/p/5430954730

sudo /etc/init.d/lircd stop

irrecord --list-namespace 会出一堆键名儿

我本来只想用电源,但也录了一下up,down,结果把音量也顺便做了,以后也许会用上。

KEY_POWER

KEY_VOLUMEUP(我用的KEY_UP)

KEY_VOLUMEDOWN(KEY_DOWN)

irrecord -d /dev/lirc0  (这往下要注意操作)

先是显示一堆,回一下车,又显示一堆,(这时不要按键,稍等一下,会接着显示提示信息)

这个信息是要求你输入一个名字,用简单的英文吧,这里有个重要问题,你输入的名字,一会儿会用到,要记住,为此我耽误了一天!后来我输入的是a

之后会提示:下面的操作很重要。如果你英语不错,你可以快速读一下。

再回一下车,就开始按随意遥控器了,说是随意,按说明点不能一次按过10个..反正你得按两趟点,一趟点后会提示你:类似这个 Got gap

(97849 us)}

两趟后会提示你:请输入你要学习的名字,就是前面KEY_POWER那些,我先输入了KEY_POWER,回车,会要求你按住这个遥控器键,这里我也弄不明白,是一直按还是连按两下,反正按完,就会提示你继续输入名字,比如KEY_UP,再按键,如果不想继续学了,就回车,这里我没弄明白,怎么退出,反正回车后也得按一下遥控器上刚才学过的键,反正,只要出现这个就赢了:Successfully

written config file a.lircd.conf

这时,你可以用nano打开现在所在文件夹中这个文件a.lircd.conf

如果像这样:

begin

codes

KEY_POWER 0x00FDB04F 0x7EBCED6C

KEY_UP 0x00FD22DD

0x7EBCED6C

KEY_DOWN 0x00FDC23D 0x7EBCED6C

end

codes

就说明你录下来了,祝贺已完成一大半!接收头可以暂时收起来了。

接上发射管。

------把刚生成的文件改名为lirc.conf

-------sudo cp lirc.conf /etc/lirc/lirc.conf

上两句不对了,改成下面这句,主要就是现在是lircd.conf 不是lird.conf

sudo cp tv.lircd.conf /etc/lirc/lircd.conf

重启(这里我试了irw,LIST都不好使)(后来发现是后边的十进制数没删除,必须在/etc/lirc/lircd.conf中删除)

sudo /etc/init.d/lircd stop

sudo /etc/init.d/lircd restart

irsend SEND_ONCE a KEY_POWER

竟一试而成,接着试了一下声音的两个键,也都没问题。

(问题的关键就是这个a,之前在这里耽误了一天,就是说没找到远程的什么,原来是起的这个名要写在这里,之前在网上只有一个教程里看到这里边打了个pi,估计也是这个意思,但没有说明)

至此这东西就这么完成了。(输入上面一行代码,电视(树莓的显示器)就开了。)

接续:这次先上图

对,这次把接收头也安上了,不知怎么弄的,这次试了几下,3.3V也好使了,为安全起见,就接在3.3V上试验。

进入pi目录,就是Desktop的上一级,我一般不习惯在这里操作,都是在Desktop中,这回按网上教程来吧,

先编辑一个.lircrc文件,前面的点是个隐藏文件,为什么我也不知,先这么弄着,再在这里编辑一个yaokong.py文件:

1、sudo nano .lircrc

begin

prog = irexec

button =

KEY_VOLUMEUP

config = sudo python

/home/pi/Desktop/yaokong.py

end

2、sudo nano /home/pi/Desktop/yaokong.py(这个文件只是个测试)

import os

print("aaa")

重启lirc软件并执行"irexec"命令

sudo /etc/init.d/lircd restart

irexec

按遥控器的增加音量键,会在执行irexec的控制台,打印出“aaa”,完工。具体以后再改善吧。

至此,遥控器控制树莓派,以及树莓派当红外遥控器都实现了,同样,irw仍然无效,原因未知。

同时又学了个命令:irsend list "" ""  会把你录制遥控器按键时用的名字显示出来,比如:tv

原来那个命令不是不好使么?用这个:irsend LIST tv "" 后面的双引号很重要,前面的tv同样,否则你就是显示不出来.....

2020重做进又发现问题:其实最重要的文件就是

/etc/lirc/lircd.conf

这是你录好后再转存到系统中的文件,irw运行时用的是这个,所以在这里要把录制时的第二个没用的编码去掉,这又浪费了我一天时间,真TMD

------关于输入irw:没有任何反应---------------------------------------------------------------------

树莓派安装红外接收,irw无输出:https://www.hachina.io/dwqa-question/10554.html

also, i have faced a problem where everything seemed to work fine,

but i didn’t get any output running irw command. in case someone’s

stuck there: the problem is lircd.conf file which you’ve just

generated. take a look at it – you probably will get two hex codes

for each button, where the second one is always the same. simply

delete this value from each line and everything should work

now.

另外,我也遇到过这样一个问题:一切看起来都很好,但是我没有得到任何运行irw命令的输出。万一有人被困在那里:问题是您刚刚生成的lircd.conf文件。看看它-你可能会得到两个十六进制代码为每个按钮,其中第二个总是相同的。只需从每一行中删除这个值,现在一切都应该正常了

XXX.lircd.conf文件如下:删除每行的第二个十六进制的数,就可以使用irw输出了

html5红外遥控,做了个小的红外遥控装置相关推荐

  1. 基于红外遥控的门禁系统(红外遥控、步进电机)

    基于红外遥控的门禁系统(红外遥控.步进电机) 闲来无事,用手头STM32做个项目. 成品功能: 功能说明 材料 STM32ZET6开发板 TFT显示屏(战舰有我用的2.7寸的) 红外接收器和遥控器 五 ...

  2. 嵌入式Linux红外遥控,一个简单的IAL分析(红外遥控)(转)

    简单的IAL分析 一.程序说明 1.下面程序是基于一个红外的设备文件,从该设备中能接收到红外遥控的硬件编码. 2.两个文件需要覆盖掉libmingiui*/src/ial/中的两个文件编译时加上 -- ...

  3. 红外遥控c语言,HiFiBox DAC + RuneAudio 红外遥控方案(C语言实现)

    之前在<HiFiBox DAC 自定义红外遥控配置教程>中介绍了树莓派上红外遥控的编码学习和使用,并且实现了遥控控制音乐播放的功能. 以上方案是基于 lirc 提供的软件实现.有树莓派玩家 ...

  4. 首页小房子图标html代码,html5及css3做的3D小房子

    .z-=50;FFqHTML5中文学习网 - HTML5先行者学习网 }FFqHTML5中文学习网 - HTML5先行者学习网 FFqHTML5中文学习网 - HTML5先行者学习网 FFqHTML5 ...

  5. linux红外遥控进程,46.Linux-分析rc红外遥控平台驱动框架,修改内核的NEC解码函数BUG(1)...

    内核版本         :  Linux 3.10.14 rc红外接收类型:  GPIO 类型的NEC红外编码 本章内容 1)rc体系结构分析 2) 分析红外platform_driver平台驱动框 ...

  6. AutoLeaders控制组——51单片机学习笔记(AD/DA、红外遥控)

    本篇内容是观看B站江科大自化协UP主的教学视频所做的笔记,对其中内容有所引用,并结合自己的单片机板块进行了更改调整. 以下笔记内容以一个视频为一个片段(内容较多,可能不适合速食,望见谅) 一些内容涉及 ...

  7. 红外遥控及Android手机红外遥控器开发

    一.红外遥控 红外遥控技术是通过红外技术.红外通信技术和遥控技术的结合实现的一种无线控制技术.由于红外线的波长较短,对障碍物的衍射能力较差,无法穿透墙壁,所以红外遥控术更适合应用在短距离直线控制的场合 ...

  8. 红外遥控C语言程序设计,光电红外遥控开关设计(光电系统课程设计)【PCB图仿真图单片机C语言分工心得】..doc...

    光电红外遥控开关设计(光电系统课程设计)[PCB图仿真图单片机C语言分工心得]. 本科生课程论文 论文题目光电红外遥控开关设计课程名称光电系统设计学生姓名学号所在学院所在班级指导教师 目 录 摘要3 ...

  9. 51单片机学习笔记-15 红外遥控

    15 红外遥控 [toc] 注:笔记主要参考B站江科大自化协教学视频"51单片机入门教程-2020版 程序全程纯手打 从零开始入门". 注:工程及代码文件放在了本人的Github仓 ...

最新文章

  1. 图书抄袭何时休,技术人的版权在哪里?
  2. 震后首游都江堰感怀(二)
  3. python jupyter 选择按钮,使用按钮选择数据
  4. 学生出勤率平时成绩java_《javaweb应用开发》课程标准.doc
  5. ValueError: The QuerySet value for an exact lookup must be limited to one result using slicing.
  6. 服务器双向认证 原理,什么叫SSL双向认证 SSL双向认证过程是怎样的
  7. Java中的super的使用
  8. redis分片_Redis的持久化操作
  9. win10中配置Java完整教程
  10. hdu 1693 Eat the Trees 插头dp
  11. 【图像配准】基于matlab SIFT图像配准【含Matlab源码 463期】
  12. 18个免费视频素材网站,超高清、不限速、无版权、可商用,1秒解决你90%的视频剪辑难题!
  13. 怎样查找计算机死机日志,怎么查看电脑死机记录
  14. eNSP 路由远程登录
  15. 汇编工具DOSBOX安装使用
  16. [心情] 如果有一天
  17. 大噶好,今天是应景的二分法
  18. Python爬虫实战练习:爬取微信公众号文章
  19. 【Android】短信应用——短信发送
  20. 欧洲语言c1怎么考,【从A1到C2】欧洲共同语言参考标准对应的德语考试

热门文章

  1. 互动游戏对战平台推荐:盘点很火的互动小游戏多人对战平台
  2. 气象学需要计算机知识吗,应用气象学专业学什么 附学习科目和课程
  3. googiehost免费空间申请
  4. 大疆无人机 Android 开发总结——视频解码
  5. ajax中英文切换,vue-i18n中英切换插件使用
  6. 关于Win10上Program File和Program File(X86)没有写权限的问题
  7. 前端如何做好数据容错
  8. 土地利用转移矩阵分析与制图(以沮漳河流域为例)
  9. 消息中间件 RocketMQ的单机安装
  10. 第三章 模糊查询与分组查询 ② 代码