超简单!树莓派红外遥控配置

前言

第一步:驱动配置(/boot/config.txt)

第二步:安装lirc,并配置

第三步:测试

第四步:按键配置(/etc/lirc/lircd.conf)

第五步:测试

第六步:使用

配置(~/.lircrc)

写在最后

前言

网上很多关于树莓派红外配置的教程,但都讲的很不清晰,也有很多是上个世纪的老古董了,本篇是综合众多教程并结合本人树莓派系统(2020-05-27 Raspberry Pi OS (32-bit) Lite)写的。

在很多重要配置处下方,会对比其他教程。

本配置是基于 4.19.x 及更高内核的,你并不需要降低你的系统内核,如果你是4.19.x以下的内核,那么网上有很多教程。

本教程仅配置红外接收。

第一步:驱动配置(/boot/config.txt)

# dtoverlay=gpio-ir,gpio_pin=17

# dtoverlay=gpio-ir-tx,gpio_pin=18 # 只配置接收可不修改

前边注释 ‘#’ 去掉,这两行在 /boot/config.txt文件默认是有的

17对应GPIO17(红外接收),18对应GPIO18(红外发射)

这里需要重启一次树莓派

对比:

其他教程有说配置/etc/modules文件的,这里并不需要!

有说modprobe加载lirc-rpi的,这里并不需要!4.19.x 及更高内核并没有该驱动啦!

还有在/boot/config.txt配置 dtoverlay=lirc-rpi 的,这是4.19.x之前的配置方式!

第二步:安装lirc,并配置

sudo apt-get install lirc

这里跟其他教程一样,需要安装lirc软件包

/etc/lirc/lirc_options.conf 配置

driver = default

device = /dev/lirc1

修改这两处即可!

ls /dev 你会看到 lirc0、lirc1其中一个或两个,至此驱动程序配置成功,就这么简单!

上文device,接收就跟接收的GPIO引脚对应的设备一样,如果之前配置跟我一样,这里就一样即可。

对比:

其他教程有修改 /etc/lirc/hardware.conf 文件的,这里不需要,那是之前的修改方式。

第三步:测试

到这里你可以测试接收了

mode2 -d /dev/lirc1

执行该命令后 按遥控器会有类似下面的输出:

pulse 629

space 518

pulse 627

space 523

pulse 628

space 523

pulse 631

space 517

pulse 629

红外接收正常!!!

第四步:按键配置(/etc/lirc/lircd.conf)

lirc软件包有一个irrecord命令可以配置你的按键,但是准确度极低,这里我仅用它输出配置格式而已

irrecord -f -d /dev/lirc1

...

# 提示 Press RETURN to continue. 回车,之后等待,千万别按键

# 提示 Enter name of remote (only ascii, no spaces) : 输入配置文件的名字 (比如:mini_con)

# 提示 Press RETURN now to start recording. 回车开始录入

# 之后录入随意,我们只是为了获取配置文件格式,官方要求是按不同的遥控器键,至少出现1个点,但不超过10个点,直到出现提示

# 接下来会让输入键名,然后按住该键,这里建议用 KEY_1、KEY_2 类似的名字,这样不会报错,他默认是对键名格式有要求的,忽略则可以在 irrecord 命令后加 --disable-spacename

# 录入一两个键就可以了,回车结束,我们只为了获得配置文件格式

# 回车后可能在当前目录直接生成 mini_con.lirc.conf 文件,也可能会让按一个键再结束(注意!是按一个键,快按,不是按住不动!)

# 复制模板到 /etc/lirc/lircd.conf

这里强烈建议加 -f 参数,没有该参数输出的配置文件都有问题,看运气

配置文件格式就得到了!类似下面这种格式:

# 前边是一大片注释

begin remote

name mini_con

flags RAW_CODES|CONST_LENGTH

eps 30

aeps 100

gap 108106

begin raw_codes

name KEY_1

9100 4521 628

name KEY_2

9820 4520 556

end raw_codes

end remote

该文件对格式,空格有严格要求!!!!!

接下来开始录入信号

mode2 -m -d /dev/lirc1

# 开始录入,配置 /etc/lirc/lircd.conf 文件

# 按要配置的键(比如 1 ),会有类似输出

620000

9170 4441 640 552 604 554

609 552 635 528 612 551

601 556 634 528 609 553

614 1629 610 1632 635 1615

627 1619 596 1602 639 1629

611 1618 616 1605 633 1607

638 552 610 1604 633 1615

596 562 621 541 594 567

595 564 568 594 593 1649

566 598 568 601 591 1678

516 1697 556 1692 547 1683

546 132000

加-m参数是为了获得raw格式的输出,而不是前文space pulse格式输出

620000 并不是真的620000 ,反正会有一个很大的数(相比于9170)

132000 也不是真的 132000,也会有一个很大的数(相比于9170)

复制 两个大数之间的内容,复制到lircd.conf文件中 name KEY_X 下,第一个数要与原数位置对应,前文说过,这里有严格的空格要求,他这里每个字段都是右对齐的

切记!lircd.conf 文件中不要两个大数,亲测保留会报错的!!!

建议每个key配置后留一空行

name KEY_1

xxxx xxxx xxx

...

# 空行

name KEY_2

xxxx xxxx xxxx

...

第五步:测试

可以测试按键配置了!

irw

按键,看是否跟配置的键名一样

类似如下输出:

xxxxxxxxx 0xXX KEY_1 mini_con

到此所有配置就结束了!!!

第六步:使用

本人使用的是 lirc 软件包中的 irexec

配置(~/.lircrc)

配置格式如下:

begin

prog = irexec

button = KEY_1

config = python3 /root/pydata/lirc_commond/list_root.py && bash /root/pydata/lirc_commond/end.sh

end

begin

prog = irexec

button = KEY_2

config = echo "This key is not set."

end

是不是 very nice

配置文件一定要在执行 irexec 命令的用户家目录,文件名为 .lircrc

在这里你就可以开始你的想象了 ^_^

ps:一键开启smb,一键apache2、httpd,或者控制一个硬件开关等等…

写在最后

欢迎留言、私信、讨论;

文章有知识性错误请立马联系博主,博主将非常感谢;

无需经过允许即可随意使用转载,知识本来就是被广泛用来学习的;

非常感谢您能看到此处,本文为博主学习笔记,如有不同见解,请不吝赐教。

嵌入式Linux红外遥控,树莓派红外遥控 (lirc、gpio-ir)—— 一篇就够了!相关推荐

  1. 嵌入式linux安装qt,树莓派上安装qt

    在树莓派上安装了官方的raspbian系统.为了在能在上面开发程序,在系统上安装了qt4 .参考链接http://qt-project.org/wiki/apt-get_Qt4_on_the_Rasp ...

  2. 麦可网嵌入式linux,麦可网张凌华体系结构及裸板篇ARM嵌入式开发视频教程

    01.ARM准备工作及熟悉开发板1 02.ARM准备工作及熟悉开发板2 03.ARM准备工作及熟悉开发板3 04.ARM准备工作及熟悉开发板4 05.原理图及电路图1 06.原理图及电路图2 08.A ...

  3. 教你配置windows上的windbg,linux上的lldb,打入clr内部这一篇就够了

    一:背景 1. 讲故事 前几天公众号里有位兄弟看了几篇文章之后,也准备用windbg试试看,结果这一配就花了好几天,(づ╥﹏╥)づ,我想也有很多跃跃欲试的朋友在配置的时候肯定会遇到这样和那样的问题,所 ...

  4. 【Linux】Docker 基础与实战,看这一篇就够了

    Docker 基础 什么是Docker Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Uni ...

  5. linux添加扩展gpio,嵌入式Linux工控板的ISA总线GPIO扩展

    1.精简ISA总线GPIO扩展原理 在工业领域,GPIO的应用非常广泛,英利嵌入式Linux工控板上自带有16路GPIO.然而在实际应用中,经常需要多于16路的GPIO作为控制或者数据信号使用,这时候 ...

  6. 北京迅为i.mx6ull终结者开发板使用手册+嵌入式Linux开发指南+裸机手册下载地址

    i.MX6ULL终结者三大手册,加速学习和开发速度,一秒化无形! <嵌入式Linux开发指南>+<开发板使用手册>+<裸机使用手册> 详细手册点击链接下载:http ...

  7. 嵌入式linux操作系统

    2. 怎么学习嵌入式Linux操作系统 本文假设您是零基础,以实用为主,用最快的时间让你入门:后面也会附上想深入学习时可以参考的资料. 在实际工作中,我们从事的是"操作系统"周边的 ...

  8. 嵌入式Linux+Android学习路线图

    嵌入式Linux+Android学习路线图 2016-08-01 韦东山 百问科技 网站/论坛:www.100ask.net,www.100ask.org 淘     宝:100ask.taobao. ...

  9. 嵌入式Linux学习路线图

    淘 宝:100ask.taobao.com 邮 箱:weidongshan@qq.com 微信公众号:baiwenkeji 公司 微博:百问科技 个人 微博:韦东山 版本 日期 作者 说明 V1 20 ...

最新文章

  1. leetcode 212. Word Search II | 212. 单词搜索 II(Trie,回溯,DFS)
  2. my Lead add Lead test
  3. 拦截第三方快递物流 ,console控制台打印正常 ,浏览器显示正常 ,传至后台乱码
  4. Python判断变量类型
  5. Codeforces - 706B - Interesting drink - 二分 - 简单dp
  6. 计算机第二道启动密码怎么设置,电脑一道密码怎么设置
  7. systemd.conf翻译
  8. Axis2+Rampart(WSS4J)实现UsernameToken认证方式的WS-Security(基于SOAP的Web安全调用机制)
  9. P1564 膜拜 题解
  10. 为什么我会性格懦弱?如何改变懦弱的性格?
  11. mysql--大于小于等于
  12. 京东云服务器使用教程
  13. java制作闪星星_Silverlight之我见——制作星星闪烁动画
  14. 什么是星际文件系统(IPFS)
  15. 消息队列MQ/JMS/Kafka,你都了解吗?
  16. nodejs 安装及环境配置
  17. 谈计算机知识对学生的作用,浅谈中学生计算机教育的意义.doc
  18. 张小龙:神一样的人物,做啥啥成功,替腾讯立下赫赫战功
  19. 狼群中等级制度 - 看完探索栏目我与狼群有感
  20. 【已解决】【亲测管用】Windows10无法完成更新,正在撤销更改怎么办?

热门文章

  1. 程序员比销售穷多了,能转型做销售吗?
  2. 企业微信 通讯录展示组件 canvas 支持方案 importKey‘ of undefined
  3. 【福利】Python抖音小视频无水印下载工具助手exe
  4. 三相并网逆变simulink模型实现
  5. 广西计算机应用设计大赛,关于举办2019年桂林理工大学网页设计大赛暨第十三届广西大学生计算机应用大赛选拔赛的通知...
  6. 计算机顶级期刊和会议
  7. (2022.5.31)网件路由器R6400--梅林改装home assistant
  8. 如何真正卸载IE浏览器
  9. LeetCode每日一题——953. 验证外星语词典
  10. Proteus 的安装以及一个51程序设计和仿真