CO2 Sensor SCD30 for Rust
This is yet another implementation of a Sensirion SCD30 i2c sensor driver in pure rust. The sensor measures CO2, temperature and humidity.
The sensor documentation can be obtained directly from Sensirion: https://www.sensirion.com/fileadmin/user_upload/customers/sensirion/Dokumente/9.5_CO2/Sensirion_CO2_Sensors_SCD30_Interface_Description.pdf
The target platform is a Raspberry pi so either you compile it on an rpi or use crosscompiling. It is based on Raspberry Pi Peripheral Access Library (https://crates.io/crates/rppal). The physical SCD30 connection to i2c can be done by wiring the device to the first i2c ports of the GPIO connector.
Connect to RaspberryPi GPIO:
- pin 1 (3.3V/VCC)
- pin 3 (SDA)
- pin 5 (SCL)
- pin 6 (GND).
Example
use SCD30;
use ;
Cross Compile
- Install cross-rs (Getting started: https://github.com/cross-rs/cross/blob/main/docs/getting-started.md)
- compile using:
cross build --target=aarch64-unknown-linux-gnu --release