#remote #signal #ir #read #signal-handler #led #infrared

bin+lib pi_ir_remote

一个用于读取44键LED遥控器红外信号的crate

1个不稳定版本

0.1.0 2020年11月27日

#10#signal-handler

MIT 许可证

13KB
239

红外遥控接收器

此crate提供了一种信号解码器,用于解码常用于LED灯带的44键红外遥控器。当红外传感器连接到GPIO引脚时,此crate可以将红外信号解码为哪个按钮被按下。

用法

这将读取GPIO 4的信号并打印它们

use pi_ir_remote::read_ir_remote;
use pi_ir_remote::PrintSignalHandler;

fn main() {
    let handler = PrintSignalHandler::new();
    read_ir_remote(4, Box::new(handler));
}

你可以通过实现SignalHandler trait来创建自己的信号处理器

pub trait SignalHandler {
    fn handle_signal(&mut self, signal: &Signal);
}

工作原理

红外遥控器发送脉冲长度编码的信号。在许多特殊脉冲中,有短脉冲和长脉冲,分别对应0和1,从而可以传输二进制数据。

每个按钮都与一个32位单词相关联。此库在Signal枚举中包含了二进制代码到按钮的映射。

依赖项

~1.5MB
~36K SLoC