35 lines
654 B
Rust
35 lines
654 B
Rust
use bluer::{self, monitor::Monitor};
|
|
|
|
use anyhow::Result;
|
|
use futures::StreamExt;
|
|
|
|
struct Data {
|
|
/// Temperature in °C
|
|
temperature: f32,
|
|
|
|
/// Humidity in %
|
|
humidity: f32,
|
|
|
|
/// CO2 in parts per million
|
|
co2: f32,
|
|
}
|
|
|
|
#[tokio::main(flavor="current_thread")]
|
|
async fn main() -> Result<()> {
|
|
|
|
let session = bluer::Session::new().await?;
|
|
|
|
let adapter = session.default_adapter().await?;
|
|
|
|
adapter.set_powered(true).await?;
|
|
|
|
let mm = adapter.monitor().await?;
|
|
let mut handle = mm.register(Monitor::default()).await?;
|
|
|
|
while let Some(evt) = handle.next().await {
|
|
eprintln!("{:?}", evt);
|
|
}
|
|
|
|
Ok(())
|
|
}
|