前言

关于树莓派配置红外遥控的过程,我相信玩过的人知道这里的坑有多少,在这写一下我配置的过程,仅供参考

硬件

1.树莓派4B
2.红外遥控器及接收模块,我用的
这里不得不提一下有关红外接收模,之前我用的不是图中的这个接收模块,在调试时死活不会来。换了这个后就OK了

配置过程

1. 打开命令终端,输入以下指令,安装 lirc

sudo apt-get update
sudo apt-get install lirc

2.修改配置文件

在命令终端输入 sudo nano /boot/config.txt 找到

#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18

删除这两句前面的 # 符号,如下图。其中第一句是红外接收引脚,第二句是红外发送引脚,这里用的是BCM编号模式

修改完成后 按 Ctrl+o 保存 ,Ctrl+x 退出

3.设置驱动文件

在命令终端输入

sudo nano /etc/lirc/lirc_options.conf

driver = devinput
device = auto

修改为

driver = default
device = /dev/lirc1

其他不要修改,如图
完成后 Ctrl+o 保存 ,Ctrl+x 退出

4.重启树莓派

sudo reboot

5.测试

测试红外信号,先把红外接收模块接好,注意模块的信号输出端是接在BCM17号上。然后在命令终端输入

sudo service lircd stop
mode2 -d /dev/lirc1

此时用遥控器对着红外接收器,随便按几个按钮。应该会打印出类似一些信息按Ctrl+c 退出

6.查看可用遥控键名

在命令终端输入

irrecord -l

在屏幕上输出以下信息

这里最好把这些数据都记录下来,后面要用到

7.开始录制

接下来的步骤会比较繁琐。需要耐心。首先输入

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

屏幕出现

Press RETURN to continue.


按一下回车。等待屏幕出现

Enter name of remote (only ascii, no spaces) :

注意在此期间不要按任何按键

出现如上图后 输入文件名,文件名只能纯英文字符并且不能有空格。我这里输入myir
回车后 屏幕出现

Press RETURN now to start recording.


再次按下回车后,树莓派便开始记录按键。这时需要轮流随机按遥控器上的按键,每按下一个按键(不是长按) 屏幕就会出现一个点。这里需要一些耐心。一直重复随机按下遥控器的上按键,直到屏幕出现

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


这里需要为你遥控器上的按键配置名字,名字只能从之前查看 可用按键名词里面取 参看第6步,例如 我这里输入 KEY_1 然后 按下回车 屏幕出现

Now hold down button "KEY_1".

按下用遥控器的数字 1 键,然后屏幕又出现

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

输入 KEY_2 ,回车,等待屏幕出现

Now hold down button "KEY_2".

按下遥控器的数字 2 , 以此重复

我这里只记录遥控器上 1 2 3 三个数字按键。你可以记录完遥控器上的有所按键。按回车结束记录,此时屏幕出现 如下图

意思是按下回车后 需要重复的按遥控器上的同一个按键。注意不是长按!直到屏幕出现

Successfully written config file myir.lircd.conf


输入

sudo nano myir.lircd.conf

查看刚刚记录的按键,如图,正方形框中即为刚刚记录的按键。我这里只记录三个。同时需要删除图中红圈部分

修改后的文件
Ctrl+o 保存,Ctrl+x 退出

8.复制文件到Lirc目录下

sudo cp myir.lircd.conf /etc/lirc/lircd.conf.d

9.重命名文件

重命名devinput.lircd.conf需要改名为devinput.lircd.dist

cd /etc/lirc/lircd.conf.d
sudo mv devinput.lircd.conf devinput.lircd.dist

10.测试录制后的按键输出

sudo service lircd restart
sudo lircd --nodaemon --device /dev/lirc1 --driver default
sudo irw

按下遥控器上的按键,屏幕应该打印类似以下信息

11.关联python 程序

修改文件名

cd /etc/lirc
sudo mv irexec.lircrc lircrc

12.配置lircrc 文件

sudo nano lircrc

修改如图所示

说明:
prog = test.py # test.py 为关联的程序名称
button = KEY_1 # 刚刚记录的按键名
Config = echo “KEY_1” # 传递给程序的消息,我这里就设置为按键名

修改完成 Ctrl+o 保存,Ctrl+x 退出

13.python 程序

import lircdef pasreset(data): #解析按键if data == 'echo "KEY_1"':print("1 按下") #遥控器按下1:elif data == 'echo "KEY_2"':print("2 按下") #遥控器按下2:elif data == 'echo "KEY_3"':print("3 按下") #遥控器按下3:with lirc.LircdConnection("test.py",) as conn:while True:string = conn.readline()pasreset(string)#print("收到:",end = '')#print(type(string))

运行程序,按下遥控器,屏幕打印相应信息

完成

树莓派配置红外遥控及关联python程序相关推荐

  1. 树莓派云音乐c语言,基于树莓派的红外遥控版网易云音乐播放器

    基于树莓派的红外遥控版网易云音乐播放器.下面是遥控键盘示意图: CH- CH CH+ << >> || - + EQ 0 100+ 200+ 1 2 3 4 5 6 7 8 9 ...

  2. linux树莓派网易云音乐,基于树莓派的红外遥控版网易云音乐播放器

    基于树莓派的红外遥控版网易云音乐播放器.下面是遥控键盘示意图: CH- CH CH+ << >> || - + EQ 0 100+ 200+ 1 2 3 4 5 6 7 8 9 ...

  3. MS8006单片机开发IR红外遥控解码原理与程序实现(NEC)

    目录 一.红外遥控概述 二.红外编码规则 三.硬件实现 四.软件部分 1.软件实现原理 2.红外解码程序说明 3.高低位逆转算法说明 4.key_switch遥控按键指令识别函数说明 五.总结 一.红 ...

  4. python下载_安装_配置_以及第一行python程序---python工作笔记009

    然后我们再来看python的下载安装和配置 感觉在所有编程语言中,Python的 安装是最简单的 www.python.org进入 去看到有个downloads 然后,选择下载windows版的 然后 ...

  5. 树莓派控制3631AS数码管 驱动 python程序 共阴数码管|徐奥雯编写|XUAOWEN

    使用方法: 新建py文件,将下面的驱动代码复制到文件中保存,命名为drive_3631as.py 连接树莓派与数码管 根据上面的引脚图的1-12号(没有6) 所连接树莓派的GPIO引脚,在刚刚新建的d ...

  6. 【C应用】红外遥控小车程序分析(下)——红外传输数据程序分析

    目录 红外遥控的概述: 程序分析: 红外遥控的概述: 引自:图解红外遥控的发射和接收原理 - Noble_ - 博客园 红外线的光谱位于红色光之外,波长是0.76-1.5μm,比红光的波长还长.红外遥 ...

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

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

  8. 普中tft彩屏驱动程序下载_51单片机 彩屏TFT-SD例程及资料下载 有FAT 红外遥控显示图片...

    EDA365欢迎您登录! 您需要 登录 才可以下载或查看,没有帐号?注册 x 51单片机 彩屏TFT-SD例程及资料下载 有FAT 红外遥控显示图片 9 `  b( o4 r- D. g" ...

  9. python程序实例教程基础-Python程序设计案例教程——从入门到机器学习(微课版)...

    第1章Python语言快速入门1 1.1Python的安装与配置1 1.2运行Python程序2 1.2.1运行Python的方式2 1.2.2Python编写规范4 1.3编写简单的Python程序 ...

最新文章

  1. python的excel数据分析_excel VS python 谁更适合数据分析?
  2. 你常用的Nginx模块,用来做什么
  3. biee mysql_BIEE 11g linux下连接mysql数据源
  4. 【openssl】利用openssl完成X509证书和PFX证书之间的互转
  5. LeetCode 982. 按位与为零的三元组(位运算+计数)
  6. 知识图谱能否拯救NLP的未来?
  7. 简单的java程序代码带注释,Java:基于注释的代码注入的简单技术?
  8. java代码pingip_java代码ping一个IP地址
  9. Linux 2.6内核启动传递命令行的过程分析
  10. 黄杏元《地理信息系统概论》考研复习考点精讲(六)
  11. 目前微型计算机的工作原理,微机基本工作原理
  12. 分布式的Scrapy过于能打!十个resquests都顶不住! ๑乛◡乛๑ Scrapy框架使用方法
  13. 提高迅雷下载速度的方法
  14. A股-入门-新手该如何成功选股
  15. TML5期末大作业:动漫网站设计——神偷奶爸(10页) HT简单个人网页设计作业 静态动漫主题网页作业 DW个人网站模板下载 大学生简单个人网页作品代码
  16. mipi协议csi和dsi
  17. python:读取Excel文件
  18. SIM卡的封装有哪几种?
  19. android 属性动画失效,日常爬坑-Android Transitions动画失效
  20. cnbloger: 北岛知寒, C++ - 虚基类、虚函数与纯虚函数; csdner: Hsuxu, C++虚基类的实现机制

热门文章

  1. labview由于其他对话正在访问FIFO_Windows内核逻辑漏洞:IO管理器访问模式不匹配...
  2. 3-D Reconstruction from a Single Still Image-学习《1》
  3. python基于模糊推理的智能家居安防系统设计
  4. 【urllib的使用(下)】
  5. 研发者的重要武器!5大就业方向供你选择
  6. 海康服务器系统装完重启转圈蓝屏,win10 1903系统重启后一直在转圈无法正常启动的解决方法...
  7. Java基于opencv—矫正图像
  8. java计算时间从什么时候开始 为什么从1970年开始 java的时间为什么是一大串数字
  9. 记录:matlab 转C++和Opencv,用到的函数
  10. 华为Atlas500 yolov5模型部署全流程