irsend 树莓派 php,树莓派红外遥控 (lirc、gpio-ir)—— 一篇就够了!

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

前言

第一步:驱动配置(/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,或者控制一个硬件开关等等…

写在最后

欢迎留言、私信、讨论;

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

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

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值