2 个不稳定版本
0.2.0 | 2024 年 1 月 14 日 |
---|---|
0.1.0 | 2023 年 11 月 21 日 |
#1184 in 硬件支持
58KB
1K SLoC
SINDIT SenML
Rust 实现的 SenML RFC8428 提案标准。
SenML (传感器标记语言) 是一种表示传感器数据的格式。
仅实现了 JSON 表示。
示例
use sindit_senml::parse_json;
let json_str = r#"[{"n": "temperature", "v": 42.0}]"#;
let records = parse_json(json_str, None).unwrap();
assert_eq!(records[0].name, "temperature");
assert_eq!(records[0].get_float_value(), Some(42.0));
use sindit_senml::SenMLResolvedRecord;
let record = SenMLResolvedRecord {
name: "temperature".to_string(),
unit: Some("Cel".to_string()),
value: Some(sindit_senml::SenMLValueField::FloatingPoint(42f64)),
sum: None,
time: chrono::DateTime::<chrono::Utc>::from_timestamp(1234567890, 0).unwrap(),
update_time: None,
base_version: None,
extra_fields: None,
};
let json = serde_json::to_string(&vec![record]).unwrap();
assert_eq!(
json,
r#"[{"n":"temperature","u":"Cel","v":42,"t":1234567890}]"#
);
依赖
~4–6.5MB
~114K SLoC