8个不稳定版本 (3个重大更改)

0.4.0 2024年3月15日
0.3.0 2023年7月10日
0.2.2 2022年10月25日
0.2.1 2022年9月1日
0.1.1 2019年3月24日

#558 in 解析器实现


用于 slimmemeter

MIT 许可证

33KB
698

DSMR5

DSMR5/4.2 P1 伴随标准的无std Rust实现。

预期应用

首先使用FTDI -> USB模块,智能电表每秒发射其状态。

如何使用

将FTDI电缆插入您的P1端口。您的RX线可能需要反转。大多数现成的P1 FTDI已经预先配置了这一点。然后创建自己的小crate,例如使用serial crate,并像这样使用Reader

let mut port = serial::open(&path).unwrap();
let reader = dsmr5::Reader::new(port.bytes());

for readout in reader {
    let telegram = readout.unwrap().to_telegram().unwrap();
    let state = dsmr5::Result::<dsmr5::state::State>::from(&telegram).unwrap();

    println!("{}", state.power_delivered.unwrap());
}

参考资料

依赖关系

~0.4–1MB
~22K SLoC