#ble #bluetooth #bthome

btsensor

用于解析 BLE 宣告中传感器读数的库,包括 BTHome 格式

2 个版本

0.1.1 2024 年 5 月 17 日
0.1.0 2023 年 9 月 2 日

#1080硬件支持


mijia-homie 中使用

MIT/Apache

65KB
1.5K SLoC

BLE 传感器广告库

crates.io page docs.rs page

用于解析 BLE 宣告中传感器读数的库。

目前支持

实际的 BLE 扫描由您决定,因此此库不依赖于任何特定的蓝牙库或平台。它仅提供解码您提供的数据的类型和函数。

用法

use std::collections::HashMap;
use btsensor::{bthome, Reading};

// In a real program, this service data would be obtained from a BLE scan.
let service_data: HashMap<Uuid, Vec<u8>> = [(
    bthome::v1::UNENCRYPTED_UUID,
    vec![0x23, 0x02, 0xC4, 0x09, 0x03, 0x03, 0xBF, 0x13],
)]
.into_iter()
.collect();

let decoded = Reading::decode(&service_data).unwrap();
println!("{}", decoded);

对于更完整的示例,请参阅 示例 目录。

许可证

根据您的选择,许可如下

贡献

除非您明确声明,否则您有意提交以包含在作品中的任何贡献,根据 Apache-2.0 许可证定义,将按上述方式双重许可,不附加任何额外条款或条件。

依赖关系

~0.5–1MB
~22K SLoC