IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 树莓派配置红外遥控及关联python程序 -> 正文阅读

[嵌入式]树莓派配置红外遥控及关联python程序

前言

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

硬件

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 lirc

def 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))

运行程序,按下遥控器,屏幕打印相应信息
在这里插入图片描述
完成

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-10-01 17:03:16  更:2021-10-01 17:03:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:47:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码