Expand description
SCD30 trait implementing basic SCD30 I2C CO2 sensor operations
Operations taken from interface description At current version 1.0.0 we support all basic operations from the interface
§Basic Example
Obtaining measurements, co2, temperature and humidity
use scd30_i2c::scd30::Scd30;
use std::thread;
use std::time::Duration;
fn main() {
// Open the I2C device
let mut scd = Scd30::new().unwrap();
let mut counter = 0;
scd.trigger_cont_measurements();
scd.set_measurements_interval(2);
loop {
match scd.get_measurements() {
Ok((a, b, c)) => {
println!("Co2: {} ppm Temp: {} C RH: {} %", a, b, c);
thread::sleep(Duration::from_secs(2));
counter += 1;
println!("{}", counter);
}
Err(e) => {
println!(
"Error obtaining measurements. More details: {}. Waiting 10 seconds for recovering",
e
);
thread::sleep(Duration::from_secs(10));
}
}
}
}
Modules§
- scd30
- Trait implementing SCD30 device related operations