Crate co2mon

Source
Expand description

A driver for the Holtek (ZyAura ZG) CO₂ USB monitors.

The implementation was tested using a TFA-Dostmann AIRCO2NTROL MINI sensor.

§Example usage

let sensor = Sensor::open_default()?;
let reading = sensor.read_one()?;
println!("{:?}", reading);

§Permissions

On Linux, you need to be able to access the USB HID device. For that, you can save the following udev rule to /etc/udev/rules.d/60-co2mon.rules:

ACTION=="add|change", SUBSYSTEMS=="usb", ATTRS{idVendor}=="04d9", ATTRS{idProduct}=="a052", MODE:="0666"

Then reload the rules and trigger them:

## udevadm control --reload
## udevadm trigger

Note that the udev rule above makes the device accessible to every local user.

§References

The USB HID protocol is not documented, but was reverse-engineered before.

Structs§

OpenOptions
Sensor open options.
Reading
A reading consisting of temperature (in °C) and CO₂ concentration (in ppm) values.
Sensor
Sensor driver struct.

Enums§

Error
A possible error value when opening the sensor or taking a reading.
SingleReading
A single sensor reading.

Type Aliases§

Result
A specialized Result type for the fallible functions.