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

opensource.com
我使用免费和开源软件 KiCAD 创建了 ANAVI Infrared pHAT 作为业余项目。该板支持扫描遥控器并使用 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 和一个设备树片段。

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 的顶部。

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

opensource.com
下一步是什么?
在终端中输入命令绝对不方便用户使用。家庭自动化开源软件来拯救了!Home Assistant 和 OpenHAB 2 是流行的开源解决方案,它们提供了良好的用户体验和响应式用户界面,可以在智能手机和个人计算机上良好地工作。两者都可以直接安装在 Raspberry Pi 上。
要了解有关开源 ANAVI Infrared pHAT 硬件项目的更多信息,请访问项目网站,并在用户手册和GitHub页面中查找更多示例和详细信息。
在 Leon Anavi 的演讲中了解更多信息,用于制作开源硬件的免费和开源软件工具,在 Open Source Summit EU 上,该峰会将于 10 月 23 日至 26 日在布拉格举行。
2 条评论