使用 Linux 和 Raspberry Pi 让旧电子设备重获新生

使用开源 ANAVI Infrared pHAT 和 Linux 软件,将 Raspberry Pi 变成旧音视频设备的智能遥控器。
473 位读者喜欢这篇文章。
3 alternatives to resumes for hiring talent

Opensource.com

您是否有 5 年、10 年甚至 15 年前购买的消费电子设备,它们仍然可以工作,但没有连接到互联网,并且没有从制造商那里获得软件更新?即使这些旧设备仍然可以工作,您是否应该将它们换成新的支持物联网的版本?当然不应该!开源硬件运动的兴起以及免费和开源软件的可用性使我们能够为复古电子设备注入新的活力。借助现成的组件,我们可以减少电子垃圾,并将旧电视、立体声接收器系统或空调带入物联网时代。

使用开源附加板 ANAVI Infrared pHAT 和开源软件将 Raspberry Pi 转换为智能遥控器非常容易。

ANAVI Infared pHAT

opensource.com

我创建 ANAVI Infrared pHAT 是一个业余爱好项目,使用了免费和开源软件 KiCAD。该板支持扫描遥控器并使用 Linux Infrared Remote Control (LIRC) 发送命令。此外,还可以轻松连接各种外部传感器。所有原理图都在 GitHub 上以 CC BY-SA 3.0 许可提供。感谢在 IndieGoGo 和 Crowd Supply 上进行的几次众筹活动,我可以在我的家乡保加利亚普罗夫迪夫的一家本地工厂批量生产该板,普罗夫迪夫是欧洲最古老、最美丽的城市之一。

了解红外遥控器

大多数遥控器发送数字编码的红外辐射脉冲来控制消费电子设备的功能。红外线的波长比可见光更长。红外 LED 发射脉冲,这些脉冲被目标设备中的红外传感器接收和识别。虽然红外线是人眼不可见的,但遥控器仍然需要直接的视线才能操作。

电视、机顶盒、DVD 播放器和立体声系统的遥控器发送简单的代码来激活某些设备功能。空调系统的遥控器要复杂得多,因为它们存储并发送整个状态。即使使用者按下单个按键,例如将空调的温度从 20°C 更改为 21°C,遥控器也会发送一连串数字编码的脉冲用于所有设置。

在本文中,我将介绍如何使用 Raspberry Pi Zero W、ANAVI Infrared pHAT 和流行的开源软件 LIRC 创建一个遥控系统,该系统可以打开和关闭我的复古立体声系统。

我仍然使用我的 Sony MHC-GR7,这是一款 20 世纪 90 年代中期广为人知的迷你 Hi-Fi 组件系统来收听 FM 广播,而且我对它个人有感情。现在是将它现代化并使其重获新生的完美时机。

组装硬件

Raspberry Pi 既没有红外接收器也没有发射器,因此它需要额外的硬件才能工作。ANAVI Infrared pHAT 专门设计用于将 Raspberry Pi 转换为智能遥控器。

ANAVI Infrared pHAT 具有两个 5 毫米红外 LED 用于发射信号和一个来自 Vishay Semiconductors 的红外接收器。还有最多三个即插即用传感器模块的插槽、用于调试的 UART 引脚、带有板制造商信息的 EEPROM 和设备树片段。

Schema of ANAVI Infared pHAT in KiCAD

opensource.com

红外 LED 连接到 Raspberry Pi 的引脚 11。虽然大多数遥控器使用单个发射二极管,但 ANAVI Infrared pHAT 有两个红外 LED 以产生更强的信号。红外接收器连接到引脚 12。

ANAVI Infrared pHAT 适用于任何型号和版本的带有 40 针接头的 Raspberry Pi,包括 Raspberry Pi 3、Raspberry Pi 2、Raspberry Pi A+、Raspberry Pi B+、Raspberry Pi 0 和 Raspberry Pi 0 W。组装非常容易。无需焊接;只需用您的双手将 ANAVI Infrared pHAT 插在 Raspberry Pi 的顶部即可。

ANAVI Infrared pHAT also supports various sensors

opensource.com

安装 LIRC

LIRC 是一款方便的免费和开源软件,已经存在近 20 年了。它在流行的 GNU/Linux 发行版上运行良好,包括 Raspberry Pi 的 Raspbian。

2017 年 8 月,Raspberry Pi 基金会宣布了 Stretch,这是 Raspbian 的下一个主要版本。Raspbian 基于 Debian,因此它遵循其两年发布周期。Debian 版本以迪士尼皮克斯动画电影《玩具总动员》中的角色命名,而 Stretch 是一只紫色章鱼。我已经在 Raspbian Stretch 和 LIRC 0.9.4c 上测试了本文中的说明。如果您使用的是其他版本的 LIRC 或 Raspbian,则某些配置可能需要额外调整。

最新版本的 Raspbian 可在 raspberrypi.org 下载。启动 Raspbian 后,通过打开终端并执行以下两个命令来安装 LIRC

sudo apt-get update
sudo apt-get install -y lirc

安装 LIRC 后,就可以配置它了。这个过程有点烦人,但幸运的是只需要做一次。使用文本编辑器打开文件 /etc/modules,并在文件末尾添加以下行来配置 Raspberry Pi 上控制红外接收器和发射器的引脚

lirc_dev
lirc_rpi gpio_in_pin=18 gpio_out_pin=17

下一步是创建文件 etc/lirc/hardware.conf 并添加以下内容

# /etc/lirc/hardware.conf
#
# Arguments which will be used when launching lircd
LIRCD_ARGS="--uinput"

#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD=false

#Don't start irexec, even if a good config file seems to exist.
#START_IREXEC=false

#Try to load appropriate kernel modules
LOAD_MODULES=true

# Run "lircd --driver=help" for a list of supported drivers.
#DRIVER="UNCONFIGURED"
DRIVER="default"
# usually /dev/lirc0 is the correct setting for systems using udev
DEVICE="/dev/lirc0"
MODULES="lirc_rpi"

# Default configuration files for your hardware if any
LIRCD_CONF=""
LIRCMD_CONF=""

为了使 ANAVI Infrared pHAT 在 Raspbian 上工作,还需要修改另一个文件。打开 /etc/lirc/lirc_options.conf 并确保驱动程序和设备设置为以下值

driver = default
device = /dev/lirc0

快完成了!倒数第二步是在文件 /boot/config.txt 的末尾添加一行来配置设备树覆盖

dtoverlay=lirc-rpi,gpio_in_pin=18,gpio_out_pin=17

最后,只需重启 Raspberry Pi。就这样!现在是时候扫描各种遥控器,以便新的遥控器学习它们的命令。

扫描遥控器

不同的制造商对每个功能使用不同的遥控器脉冲,因此每个遥控器都需要扫描。LIRC 提供了一个命令行界面,用于读取和配置来自遥控器的信号。

为了简单起见,我将仅描述扫描我的复古索尼立体声系统的遥控器的电源键。首先,我需要停止 LIRC systemd 服务并创建一个新的 LIRC 控制配置文件,方法是执行以下两个命令

sudo systemctl stop lircd
irrecord -d /dev/lirc0 ~/lircd.conf

按照屏幕上的说明,我必须设置遥控器配置文件的名称

Enter name of remote (only ascii, no spaces) :hifi
Using hifi.lircd.conf as output filename

下一步是扫描一个按钮。在本例中,我感兴趣的是电源按钮,我将以名称 KEY_POWER 保存它

Please enter the name for the next button (press <ENTER> to finish recording)
KEY_POWER

Now hold down button "KEY_POWER".

最后,irrecord 应该将扫描到的按键保存在我们设置名称的文件中,并显示一条消息。例如

Successfully written config file hifi.lircd.conf 

接下来,备份原始的 LIRC 配置文件,并将其替换为刚刚创建的文件。最后,重启 LIRC systemd 服务。所有这些操作都可以通过以下三个命令执行

sudo mv /etc/lirc/lircd.conf /etc/lirc/lircd-backup.conf
sudo mv hifi.lircd.conf /etc/lirc/lircd.conf
sudo systemctl start lircd

发送红外命令

与扫描遥控器不同,使用 LIRC 发送红外信号非常容易。首先列出已保存遥控器的所有可用命令。为了演示的简单性,在上一步中,单个遥控器按钮被保存为名为 hifi 的配置。要使用遥控器打开和关闭立体声系统,请在终端中执行以下命令

irsend SEND_ONCE hifi KEY_POWER

Turning the retro Sony stereo system on and off with Raspberry Pi 0 W and ANAVI Infrared pHAT

opensource.com

下一步是什么?

在终端中输入命令绝对不方便用户使用。家庭自动化开源软件来救援了!Home AssistantOpenHAB 2 是流行的开源解决方案,它们提供了良好的用户体验和响应式用户界面,可以在智能手机和个人电脑上良好运行。两者都可以直接安装在 Raspberry Pi 上。

要了解更多关于开源 ANAVI Infrared pHAT 硬件项目的信息,请访问项目网站,并在用户手册GitHub页面中查找更多示例和详细信息。

在 Leon Anavi 的演讲中了解更多信息,用于制作开源硬件的免费和开源软件工具,在 Open Source Summit EU 上,该峰会将于 10 月 23 日至 26 日在布拉格举行。

User profile image.
专业软件工程师和开源爱好者

2 条评论

您好,

这里有一个错别字

“At the end, irrecond should save”

我认为应该是 “irrecord”

谢谢

已修复!感谢您报告这个错别字 :)

回复 ,作者 Sharuzzaman Ah…

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可获得许可。
© . All rights reserved.