Expand description
Crate to read out the Winsen MH-Z19C CO2 sensor.
This crate provides an API to read-out the nondispersive infrared (NDIR) CO₂ sensor MH-Z19C by Winsen via the serial (UART) interface.
The provided API supports non-blocking usage and is no_std
.
§Examples
use mh_z19c::MhZ19C;
use nb::block;
let mut co2sensor = MhZ19C::new(uart);
let co2 = block!(co2sensor.read_co2_ppm())?;
println!("CO₂ concentration: {}ppm", co2);
To activate features of a sensor with a firmware of version 5:
let mut co2sensor = block!(co2sensor.upgrade_to_v5())?;
let co2_temp = block!(co2sensor.read_co2_and_temp())?;
println!("Temperature: {}°C", co2_temp.temp_celsius);
§no_std
This crate is no_std
by default, unless the std
feature is activated.
Currently, the std
feature will only add std::error::Error
trait
implementations to the error types.
§Versioning
This crate uses Semantic Versioning.
Modules§
Structs§
- Co2And
Temperature - Data-transfer object for combined measurement of CO₂ and temperature.
- MhZ19C
- Driver for the MH-Z19C sensor.
- MhZ19C
Fw5 - Driver for the MH-Z19C sensor with firmware 5 capabilities.
Enums§
Traits§
- BaseApi
- Methods supported by all MH-Z19C sensors.
- Firmware5
Api - Methods supported by all MH-Z19C sensors with firmware 5.