#lora #serial #radio #hardware #api-bindings

rn2903

Rusty接口用于RN2903 LoRa模块的串行协议

2个不稳定版本

0.2.0 2020年1月1日
0.1.0 2019年12月29日

#1806硬件支持

GPL-3.0-only

2MB
247

RN2903

Rusty接口用于RN2903 LoRa模块的串行协议

RN2903是用于915MHz ISM频段的LoRa和FSK收发器,常用于LoStik等USB设备。

此crate提供了一个使用跨平台本地串行功能的安全、惯用的接口,通过serialport实现。例如,支持连接到USB TTY或虚拟COM端口的LoStik,或通过TTL串行接口连接的RN2903。

此crate仅适用于GNU通用公共许可证版本3.0,且不直接依赖于不稳定crate。

示例

例如,这里是一个简单的程序,它将接收到的所有LoRa数据包转储。

use rn2903::{Rn2903, ModulationMode};

fn main() {
    let mut txvr = Rn2903::new_at("/dev/ttyUSB0")
        .expect("Could not open device. Error");
    txvr.mac_pause().unwrap();
    txvr.radio_set_modulation_mode(ModulationMode::LoRa).unwrap();
    loop {
        if let Some(packet) = txvr.radio_rx(65535).unwrap() {
            println!("{:?}", packet);
        }
    }
}

模块文档

此仓库在command_reference-40001811B.pdfdatasheet-DS5000239H.pdf中重现了RN2903模块的相关文档。

依赖项