Awesome
Rust SPS30 Particulate Matter Sensor Driver
This is a platform agnostic Rust driver for the SPS30 particulate matter
sensor using the embedded-hal
traits.
The driver supports only floating point output and is written for the firmware version 2.1. Although it is fully compatible with older versions and the 2.2 version, it doesn't fully support the latest.
This driver allows you to:
- Enter measurement mode. See:
start_measurement()
. - Exit measurement mode. See:
stop_measurement
. - Poll for the availability of new measurements. See:
read_data_ready_flag()
. - Read the measured values. See:
read_measured_values()
. - Enter sleep mode. See:
sleep()
. - Exit sleep mode. See:
wake_up()
. - Start the fan-cleaning manually. See:
start_fan_cleaning()
. - Read the interval[s] of the periodic fan-cleaning. See:
read_auto_cleaning_interval()
. - Write the interval[s] of the periodic fan-cleaning. See:
write_auto_cleaning_interval()
. - Read device product type. See:
read_device_product_type()
. - Read device serial number. See:
read_device_serial_number()
. - Read firmware version. See:
read_firmware_version()
. - Read device status register. See:
read_device_status_register()
. - Clear device status register. See:
clear_device_status_register()
. - Reset the device. See:
device_reset()
.
The device
The SPS30 Particulate Matter (PM) sensor is a technological breakthrough in optical PM sensors. Its measurement principle is based on laser scattering and makes use of Sensirion's innovative contamination-resistance technology. This technology, together with high-quality and long-lasting components, enables precise measurements from its first operation and throughout its lifetime of more than ten years. In addition, Sensiron's advanced algorithms provide superior precision for different PM types and higher-resolution particle size binning, opening up new possibilities for the detection of different sorts of environmental dust and other particles.
The SPS30 has been designed for use in various applications and devices, such as:
- Air purifiers
- HVAC equipment
- Demand-controlled ventilation systems
- Air conditioners
- Air quality and environmental monitors
- Smart home and IoT devices
Documentation:
Usage
To use this driver, import this crate and an embedded-hal
implementation,
then instantiate the device.
Please see examples folder.
Support
For questions, issues, feature requests, and other changes, please file an issue in the github project.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contributing
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.