Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cedargrovestudios/circuitpython_airqualitytools
A collection of CircuitPython helpers used for the calculation of PM2.5 and CO2 air quality levels.
https://github.com/cedargrovestudios/circuitpython_airqualitytools
air-quality air-quality-index aqi circuitpython circuitpython-community-bundle iaq indoor-air-quality language-translator
Last synced: about 1 month ago
JSON representation
A collection of CircuitPython helpers used for the calculation of PM2.5 and CO2 air quality levels.
- Host: GitHub
- URL: https://github.com/cedargrovestudios/circuitpython_airqualitytools
- Owner: CedarGroveStudios
- License: mit
- Created: 2022-10-20T01:20:47.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-11-30T17:31:05.000Z (about 1 year ago)
- Last Synced: 2024-01-28T09:42:52.578Z (11 months ago)
- Topics: air-quality, air-quality-index, aqi, circuitpython, circuitpython-community-bundle, iaq, indoor-air-quality, language-translator
- Language: Python
- Homepage:
- Size: 1.66 MB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
Introduction
============.. image:: https://img.shields.io/discord/327254708534116352.svg
:target: https://adafru.it/discord
:alt: Discord.. image:: https://github.com/CedarGroveStudios/CircuitPython_AirQualityTools/workflows/Build%20CI/badge.svg
:target: https://github.com/CedarGroveStudios/CircuitPython_AirQualityTools/actions
:alt: Build Status.. image:: https://img.shields.io/badge/code%20style-black-000000.svg
:target: https://github.com/psf/black
:alt: Code Style: BlackA collection of CircuitPython helpers used for the calculation of PM2.5 and CO2 air quality levels.
``CO2_IAQ`` calculates the Indoor Air Quality Index (IAQ) as derived from a CO2 ppm
concentration measurement. Returns a data valid flag, CO2 input concentration
value, the RGB warning color integer value, and the corresponding US English
description or warning.``PM25_AQI`` calculates EPA Air Quality Index (AQI) as derived from PM2.5
particulate concentration. Returns a data valid flag, calculated air quality
index, the RGB warning color integer value, and the corresponding US English
description or warning.``Translate`` is a collection of description translators. English, Deutsch
(German), Español (Spanish), Français (French), and Pirate are currently supported... image:: https://github.com/CedarGroveStudios/CircuitPython_AirQualityTools/blob/main/media/WARNING.jpg
Dependencies
=============
This driver depends on:* `Adafruit CircuitPython `_
Please ensure all dependencies are available on the CircuitPython filesystem.
This is easily achieved by downloading
`the Adafruit library and driver bundle `_
or individual libraries can be installed using
`circup `_.Installing to a Connected CircuitPython Device with Circup
==========================================================Make sure that you have ``circup`` installed in your Python environment.
Install it with the following command if necessary:.. code-block:: shell
pip3 install circup
With ``circup`` installed and your CircuitPython device connected use the
following command to install:.. code-block:: shell
circup install cedargrove_airqualitytools
Or the following command to update an existing version:
.. code-block:: shell
circup update
Usage Example
=============.. code-block:: python
from cedargrove_airqualitytools.pm25_aqi import pm25_ppm_to_quality
from cedargrove_airqualitytools.co2_iaq import co2_ppm_to_quality
from cedargrove_airqualitytools.translate.english_to_francais import interpretTRANSLATE = True # Enable language translator
# Read some sensor values
PM25_CONCENTRATION = 10 # PM2.5 concentration of 10ppm; GOOD AQI
CO2_CONCENTRATION = 1450 # CO2 concentration of 1450ppm; POOR IAQ# Calculate the quality and description
_, aqi_value, _, aqi_desc = pm25_ppm_to_quality(PM25_CONCENTRATION)
_, iaq_value, _, iaq_desc = co2_ppm_to_quality(CO2_CONCENTRATION)# Print the AQI, description, and translation
print(f"PM2.5 AQI = {aqi_value} : {aqi_desc}")
print(interpret(TRANSLATE, aqi_desc))# Print the IAQ, description, and translation
print(f"CO2 IAQ = {iaq_value} : {iaq_desc}")
print(interpret(TRANSLATE, iaq_desc))Documentation
=============
API documentation for this library can be found on `Read the Docs `_.For information on building library documentation, please check out
`this guide `_.Contributing
============Contributions are welcome! Please read our `Code of Conduct
`_
before contributing to help this project stay welcoming.