树莓派红外功能的配置

## 基本的安装与配置

打开文件 /boot/config.txt,找到以 dtoverlay 为开头的配置,去掉注释符号 #,修改成如下内容。

dtoverlay=lirc-rpi,gpio_in_pin=18

红外默认输出是 18 管脚,上述后面的 ,gpio_in_pin=18 可以不写。如果红外接收头接到其他管脚则需修改对应管脚。

安装完 lirc 软件。运行 lsmod 命令查看设备是否已启动,如若没有找到可运行 sudo modprobe lirc_rpi 加载驱动。

$ sudo apt-get install lirc

编辑文件 /etc/lirc/hardware.conf 修改其中的部分内容如下。修改完后保存并重启系统,并通过 ls /dev/l* 命令查看红外线设备是否能用,如果有 lirc0 就说明能用了。

LIRCD_ARGS=”--uinput”  
DRIVER=”default”  
DEVICE=”/dev/lirc0″
MODULES=”lirc_rpi”  

红外的接收

测试红外线接收功能,首先使用命令 /etc/init.d/lirc stop 关闭 LIRC 软件,然后执行如下命令。

$ sudo mode2 -d /dev/lirc0

## 红外的录制与发送

测试红外编码录制,首先使用命令 /etc/init.d/lirc stop 关闭 LIRC 软件,然后执行如下命令。

$ irrecord -d /dev/lirc0 lircd.conf --disable-namespace

最后,将录制好的~/lircd.conf文件覆盖lirc软件的相应文件:

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

录制这一步不是必需的,如果有人提供了已经录制好的某键盘的 lircd.conf 文件,你可以直接执行上面的拷贝工作。

使用指令 irsend LIST ~/lircd.conf "" 可查看可发送的指令。发射红外线可以参考如下指令。

$ irsend SEND_ONCE ~/lircd.conf KEY_POWER

使用 lirc_node 模块

你可以通过命令 npm install lirc_node 来安装 node 的红外模块,这样你就可以方便使用 node.js 来处理红外指令了。

let lirc_node = require('lirc_node');
lirc_node.init();
lirc_node.addListener(data => {
    console.log(`key: ${data.key}, remote: ${data.remote}`);
});

此示例的侦听器中的 data.key 就是你在录制过程中提供的按键名。

标签: none

添加新评论