6个版本

0.3.1 2024年4月13日
0.3.0 2024年1月21日
0.2.2 2022年6月4日
0.2.1 2022年2月7日
0.1.0 2021年11月4日

#429 in 硬件支持


blehr中使用

MIT许可

32KB
645

bleasy

Latest version Documentation MIT

Rust的高级BLE通信库。

此库的目标是提供一个易于使用的接口,用于与BLE设备通信,满足大多数用例。

使用方法

以下是如何查找具有电池级别特性的设备并从中读取值的一个示例。有关更多示例,请参阅示例目录

use bleasy::common::characteristics::BATTERY_LEVEL;
use bleasy::{Error, ScanConfig, Scanner};
use futures::StreamExt;

#[tokio::main]
async fn main() -> Result<(), Error> {
    pretty_env_logger::init();

    // Filter devices that have battery level characteristic
    let config = ScanConfig::default()
        .filter_by_characteristics(|uuids| uuids.contains(&BATTERY_LEVEL))
        .stop_after_first_match();

    // Start scanning for devices
    let mut scanner = Scanner::new();
    scanner.start(config).await?;

    // Take the first discovered device
    let device = scanner.device_stream().next().await.unwrap();

    // Read the battery level
    let battery_level = device.characteristic(BATTERY_LEVEL).await?.unwrap();
    println!("Battery level: {:?}", battery_level.read().await?);

    Ok(())
}

背景

在撰写本文时,Rust只有一个跨平台BLE库,即btleplug。我已经在使用它进行各种个人项目了一段时间,但我发现我想要一个更高层次的库,使得与BLE设备的工作变得快速简单,类似于Python中的bleak

由于这个库在其当前状态下使用了btleplug,这可以被视为它的某种便利包装。

依赖关系

~5–35MB
~505K SLoC