use*_*233 3 python lirc raspberry-pi
经过大量搜索之后,我对如何为RPi项目设置IR远程控制方面的冲突信息感到惊讶和沮丧。我以为这很容易,但是设置Linux InfraRed Control(LIRC)长期以来一直存在问题
但是随着Raspbian的Buster版本的发布,2019年6月发生了许多变化,使其中的许多教程毫无用处。许多教程都创建了hardware.conf文件,但是LIRC不需要也不需要它,并且lirc-rpi模块已被gpio-ir模块替换。
那么,如何使用Raspbian(Buster)在RPi上设置LIRC?
该答案假设RPi正在运行raspbian(版本Buster Jun 2019)。还假定了终端的工作知识,来自命令提示符的基本命令以及编辑文本文件。
步骤1:安装lirc
1)打开终端窗口并安装LIRC。请注意,这可能会引发错误“无法启动灵活的红外远程输入/输出应用程序支持”,因为现在已安装的文件已附加.dist,并且必须删除后缀,如下所述。不难但令人沮丧。
$ sudo apt-get update
$ sudo apt-get install lirc
Run Code Online (Sandbox Code Playgroud)
----别担心!因为需要从lirc_options.conf中删除.dist后缀,所以这可能会引发错误“无法启动灵活的IR远程输入/输出应用程序支持”。只需如图所示复制文件。
$ sudo cp /etc/lirc/lirc_options.conf.dist /etc/lirc/lirc_options.conf
Run Code Online (Sandbox Code Playgroud)
2)现在,已将lirc_options.conf文件重命名,重新安装lirc
$ sudo apt-get install lirc
Run Code Online (Sandbox Code Playgroud)
步骤2:编辑lirc_options.conf
通过更改这两行,如下所示编辑/etc/lirc/lirc_options.conf:
:
:
driver = default
device = /dev/lirc0
:
:
Run Code Online (Sandbox Code Playgroud)
步骤3:执行复制操作以从lircd.conf.dist中删除.dist后缀
从/etc/lirc/lircd.conf.dist中删除后缀.dist
$ sudo cp /etc/lirc/lircd.conf.dist /etc/lirc/lircd.conf
Run Code Online (Sandbox Code Playgroud)
步骤4:编辑config.txt
通过在lirc-rpi模块部分中添加以下一行来编辑/boot/config.txt,如下所示。此示例假定RPi在BCM引脚17上正在“监听” IR接收器,但可以使用任何RPi IO引脚。我还没有尝试过,但是如果您想从RPi发送命令,请添加并取消注释第四行,如下所示,以便在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
:
:
:
Run Code Online (Sandbox Code Playgroud)
步骤5:检查状态并重新启动
1)停止,启动并检查lircd的状态,以确保没有错误!
$ sudo systemctl stop lircd.service
$ sudo systemctl start lircd.service
$ sudo systemctl status lircd.service
Run Code Online (Sandbox Code Playgroud)
2)重新启动
$ sudo reboot
Run Code Online (Sandbox Code Playgroud)
步骤6:测试遥控器
此步骤假定您已经将IR接收器连接到config.txt中指定的引脚上的RPi。
1)停止LIRCD服务并使用mode2命令测试远程
$ sudo systemctl stop lircd.service
$ sudo mode2 -d /dev/lirc0
Run Code Online (Sandbox Code Playgroud)
3)将遥控器对准接收器,然后按一些按钮。您应该看到类似以下内容:
:
:
space
pulse
:
:
Run Code Online (Sandbox Code Playgroud)
4)按Ctrl-C退出
5)您的IR接收器已设置好,可以继续进行第2部分,并可以在python中进行访问。
归档时间: |
|
查看次数: |
1992 次 |
最近记录: |