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
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