Python3 Driver for SPS30 PM Sensor
Project description
SPS30 PM Sensor Driver for Python3
Dependencies
Only smbus2 other than Python.
Installation
pip3 install sps30
Usage
from sps30 import SPS30
sps = SPS30()
if sps.read_article_code() == sps.ARTICLE_CODE_ERROR:
raise Exception("ARTICLE CODE CRC ERROR!")
if sps.read_device_serial() == sps.SERIAL_NUMBER_ERROR:
raise Exception("SERIAL NUMBER CRC ERROR!")
sps.set_auto_cleaning_interval(seconds) # default 604800, set 0 to disable auto-cleaning
sps.device_reset() # device has to be powered-down or reset to check new auto-cleaning interval
if sps.read_auto_cleaning_interval() == sps.AUTO_CLN_INTERVAL_ERROR: # or returns the interval in seconds
raise Exception("AUTO-CLEANING INTERVAL CRC ERROR!")
sps.start_measurement()
while not sps.read_data_ready_flag():
print("New Measurement is not available!")
if sps.read_data_ready_flag() == sps.DATA_READY_FLAG_ERROR:
raise Exception("DATA-READY FLAG CRC ERROR!")
pm_value = sps.read_measured_values()
if pm_value == sps.MEASURED_VALUES_ERROR:
raise Exception("MEASURED VALUES CRC ERROR!")
else:
print ("PM2.5 Value in µg/m3: " + str(pm_value))
sps.stop_measurement()
sps.start_fan_cleaning() # enables fan-cleaning manually for 10 seconds (referred by datasheet)
TODO
For now, read_measured_values() method returns only PM2.5 value. All of other sensor values will be added ASAP.
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
sps30-0.1-py3-none-any.whl
(3.0 kB
view hashes)