mirror of
https://codeberg.org/icewind/mitemp-rs.git
synced 2026-06-03 17:24:08 +02:00
more example readme and clonable
This commit is contained in:
parent
bdcc13bad6
commit
ba7ead9848
4 changed files with 52 additions and 0 deletions
28
README.md
28
README.md
|
|
@ -4,6 +4,8 @@ Read Xiaomi MI Temperature and Humidity Sensor over BLE
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
|
### Using channels
|
||||||
|
|
||||||
```rust
|
```rust
|
||||||
use mitemp::{adapter_by_mac, BDAddr, Sensor};
|
use mitemp::{adapter_by_mac, BDAddr, Sensor};
|
||||||
use std::str::FromStr;
|
use std::str::FromStr;
|
||||||
|
|
@ -14,6 +16,7 @@ fn main() -> Result<(), btleplug::Error> {
|
||||||
let addr = BDAddr::from_str("00:1A:7D:DA:71:08").unwrap();
|
let addr = BDAddr::from_str("00:1A:7D:DA:71:08").unwrap();
|
||||||
let adapter = adapter_by_mac(addr)?;
|
let adapter = adapter_by_mac(addr)?;
|
||||||
let device = BDAddr::from_str("58:2d:34:35:f3:d4").unwrap();
|
let device = BDAddr::from_str("58:2d:34:35:f3:d4").unwrap();
|
||||||
|
|
||||||
let sensor = Sensor::new(adapter, device);
|
let sensor = Sensor::new(adapter, device);
|
||||||
|
|
||||||
let rx = sensor.listen();
|
let rx = sensor.listen();
|
||||||
|
|
@ -22,6 +25,31 @@ fn main() -> Result<(), btleplug::Error> {
|
||||||
dbg!(data);
|
dbg!(data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Using getter
|
||||||
|
|
||||||
|
```rust
|
||||||
|
use mitemp::{adapter_by_mac, BDAddr, Sensor};
|
||||||
|
use std::str::FromStr;
|
||||||
|
use std::thread::sleep;
|
||||||
|
use std::time::Duration;
|
||||||
|
|
||||||
|
fn main() -> Result<(), btleplug::Error> {
|
||||||
|
env_logger::init();
|
||||||
|
|
||||||
|
let addr = BDAddr::from_str("00:1A:7D:DA:71:08").unwrap();
|
||||||
|
let adapter = adapter_by_mac(addr)?;
|
||||||
|
let device = BDAddr::from_str("58:2d:34:35:f3:d4").unwrap();
|
||||||
|
|
||||||
|
let sensor = Sensor::new(adapter, device).start();
|
||||||
|
|
||||||
|
loop {
|
||||||
|
let data = sensor.get_data();
|
||||||
|
dbg!(data);
|
||||||
|
sleep(Duration::from_secs(3));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ fn main() -> Result<(), btleplug::Error> {
|
||||||
let addr = BDAddr::from_str("00:1A:7D:DA:71:08").unwrap();
|
let addr = BDAddr::from_str("00:1A:7D:DA:71:08").unwrap();
|
||||||
let adapter = adapter_by_mac(addr)?;
|
let adapter = adapter_by_mac(addr)?;
|
||||||
let device = BDAddr::from_str("58:2d:34:35:f3:d4").unwrap();
|
let device = BDAddr::from_str("58:2d:34:35:f3:d4").unwrap();
|
||||||
|
|
||||||
let sensor = Sensor::new(adapter, device);
|
let sensor = Sensor::new(adapter, device);
|
||||||
|
|
||||||
let rx = sensor.listen();
|
let rx = sensor.listen();
|
||||||
20
examples/getter.rs
Normal file
20
examples/getter.rs
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
use mitemp::{adapter_by_mac, BDAddr, Sensor};
|
||||||
|
use std::str::FromStr;
|
||||||
|
use std::thread::sleep;
|
||||||
|
use std::time::Duration;
|
||||||
|
|
||||||
|
fn main() -> Result<(), btleplug::Error> {
|
||||||
|
env_logger::init();
|
||||||
|
|
||||||
|
let addr = BDAddr::from_str("00:1A:7D:DA:71:08").unwrap();
|
||||||
|
let adapter = adapter_by_mac(addr)?;
|
||||||
|
let device = BDAddr::from_str("58:2d:34:35:f3:d4").unwrap();
|
||||||
|
|
||||||
|
let sensor = Sensor::new(adapter, device).start();
|
||||||
|
|
||||||
|
loop {
|
||||||
|
let data = sensor.get_data();
|
||||||
|
dbg!(data);
|
||||||
|
sleep(Duration::from_secs(3));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -12,14 +12,17 @@ use std::sync::{Arc, Mutex};
|
||||||
|
|
||||||
pub trait SensorState {}
|
pub trait SensorState {}
|
||||||
|
|
||||||
|
#[derive(Clone)]
|
||||||
pub struct Inactive {}
|
pub struct Inactive {}
|
||||||
|
|
||||||
impl SensorState for Inactive {}
|
impl SensorState for Inactive {}
|
||||||
|
|
||||||
|
#[derive(Clone)]
|
||||||
pub struct Active {}
|
pub struct Active {}
|
||||||
|
|
||||||
impl SensorState for Active {}
|
impl SensorState for Active {}
|
||||||
|
|
||||||
|
#[derive(Clone)]
|
||||||
pub struct Sensor<State: SensorState> {
|
pub struct Sensor<State: SensorState> {
|
||||||
mac: BDAddr,
|
mac: BDAddr,
|
||||||
adapter: ConnectedAdapter,
|
adapter: ConnectedAdapter,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue