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(()) }