首页 > 解决方案 > 使用 LIRC 为 Raspberry PI (RPi) 设置 IR 远程控制

问题描述

经过大量搜索后,我对如何为我的 RPi 项目设置红外遥控器的相互矛盾的信息感到惊讶和沮丧。我认为这很容易,但设置 Linux InfraRed Control (LIRC) 长期以来一直存在问题

但是在 2019 年 6 月,随着 Raspbian Buster 版本的发布,许多教程变得毫无价值,发生了很大变化。许多教程让您创建了一个 hardware.conf 文件,但 LIRC 不需要也不想要它,并且 lirc-rpi 模块已被 gpio-ir 模块取代。

那么如何使用 Raspbian(Buster)在 RPi 上设置 LIRC?

标签: pythonraspberry-pilirc

解决方案


此答案假设 RPi 正在运行 raspbian(版本 Buster Jun 2019)。还假设终端的工作知识、来自命令提示符的基本命令和编辑文本文件。

第 1 步:安装 lirc

1)打开终端窗口并安装LIRC。请注意,这可能会引发错误“无法启动灵活的 IR 远程输入/输出应用程序支持”,因为安装的文件现在附加了 .dist 并且必须删除后缀,如下所述。不难但令人沮丧。

$ sudo apt-get update
$ sudo apt-get install lirc

- - 不用担心!因为这可能会引发错误“无法启动灵活的 IR 远程输入/输出应用程序支持”,因为需要从 lirc_options.conf 中删除 .dist 后缀。只需复制文件,如图所示。

$ sudo cp /etc/lirc/lirc_options.conf.dist /etc/lirc/lirc_options.conf

2) 重新安装 lirc 现在 lirc_options.conf 文件已被重命名

$ sudo apt-get install lirc

第 2 步:编辑 lirc_options.conf

通过更改这两行来编辑 /etc/lirc/lirc_options.conf 如下:

:
:
driver = default
device = /dev/lirc0
:
:

第 3 步:执行复制以从 lircd.conf.dist 中删除 .dist 后缀

从 /etc/lirc/lircd.conf.dist 中删除后缀 .dist

$ sudo cp /etc/lirc/lircd.conf.dist /etc/lirc/lircd.conf

第 4 步:编辑 config.txt

通过在 lirc-rpi 模块部分添加一行来编辑 /boot/config.txt,如下所示。此示例假设 RPi 在 BCM 引脚 17 上为 IR 接收器“侦听”,但可以使用任何 RPi IO 引脚。我还没有尝试过,但是如果您想从 RPi 发送命令,请添加并取消注释第 4 行,如下所示以在 BCM 引脚 18 上发送 IR 命令

:
:
:
# Uncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi
dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18
:
:
:

第 5 步:检查状态并重新启动

1) 停止、启动和检查lircd的状态,确保没有错误!

$ sudo systemctl stop lircd.service
$ sudo systemctl start lircd.service
$ sudo systemctl status lircd.service

2) 重启

$ sudo reboot

第 6 步:测试遥控器

此步骤假设您在 config.txt 中指定的引脚上连接到您的 RPi 的 IR 接收器。

1)停止LIRCD服务并使用mode2命令测试远程

$ sudo systemctl stop lircd.service
$ sudo mode2 -d /dev/lirc0

3) 将遥控器指向接收器并按下一些按钮。你应该看到这样的东西:

:
:
space
pulse
:
:

4) 按 Ctrl-C 退出

5) 您的 IR 接收器已设置好,可以继续进行第 2 部分并在 python 中访问。


推荐阅读