Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sensirion/python-i2c-scd
Python Driver for Sensirion I²C Carbon Dioxid Sensor - SCD41
https://github.com/sensirion/python-i2c-scd
co2 co2-sensor i2c python python3 scd40 scd41 scd42 scd4x sensirion sensor
Last synced: about 1 month ago
JSON representation
Python Driver for Sensirion I²C Carbon Dioxid Sensor - SCD41
- Host: GitHub
- URL: https://github.com/sensirion/python-i2c-scd
- Owner: Sensirion
- License: bsd-3-clause
- Created: 2021-01-27T07:23:48.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2024-05-13T16:43:19.000Z (7 months ago)
- Last Synced: 2024-11-06T15:54:41.673Z (about 2 months ago)
- Topics: co2, co2-sensor, i2c, python, python3, scd40, scd41, scd42, scd4x, sensirion, sensor
- Language: Python
- Homepage: https://sensirion.github.io/python-i2c-scd/
- Size: 2.94 MB
- Stars: 6
- Watchers: 7
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.rst
- License: LICENSE
Awesome Lists containing this project
README
# Python Driver for Sensirion I²C Carbon Dioxide Sensor
This repository contains the Python driver to communicate with Sensirion
SCD4x CO2 sensors using the I²C interface.[](https://sensirion.com/my-scd-ek)
Click [here](https://sensirion.com/my-scd-ek) to learn more about the SCD4x
sensor and the SCD41 Evaluation Kit Board.Click [here](https://sensirion.com/products/product-categories/co2/)
to learn more about the Sensirion SCD4x sensor family.## Supported Sensors
* SCD40
* SCD41
* SCD42## Usage
See user manual at [https://sensirion.github.io/python-i2c-scd/](https://sensirion.github.io/python-i2c-scd/).
### Connecting the SCD41 Evaluation Kit Board
Your sensor has the four different connectors: VCC, GND, SDA and SCL. The
provided jumper wire cables have the following colors.*SCD4x* | *Jumper Wire*
:------: | :-----------:
VCC | Red
GND | Black
SDA | Green
SCL | Yellow## Development
We develop and test this driver using our company internal tools (version
control, continuous integration, code review etc.) and automatically
synchronize the `master` branch with GitHub. But this doesn't mean that we
don't respond to issues or don't accept pull requests on GitHub. In fact,
you're very welcome to open issues or create pull requests :)### Check coding style
The coding style can be checked with [`flake8`](http://flake8.pycqa.org/):
```bash
pip install -e .[test] # Install requirements
flake8 # Run style check
```In addition, we check the formatting of files with
[`editorconfig-checker`](https://editorconfig-checker.github.io/):```bash
pip install editorconfig-checker==2.0.3 # Install requirements
editorconfig-checker # Run check
```### Run tests
Unit tests can be run with [`pytest`](https://pytest.org/):
```bash
pip install -e .[test] # Install requirements
pytest -m "not needs_device" # Run tests without hardware
pytest # Run all tests
pytest -m "not (needs_device and not needs_scd4x)" # Run all tests for scd4x
```The tests with the marker `needs_scd4x` have following requirements:
- An SCD4x device must be connected to a
[SensorBridge](https://www.sensirion.com/sensorbridge/) on port 1.
- Pass the serial port where the SensorBridge is connected with
`--serial-port`, e.g. `pytest --serial-port=COM7`
- The SensorBridge must have default settings (baudrate 460800, address 0)### Build documentation
The documentation can be built with [Sphinx](http://www.sphinx-doc.org/):
```bash
python setup.py install # Install package
pip install -r docs/requirements.txt # Install requirements
sphinx-versioning build docs docs/_build/html # Build documentation
```## License
See [LICENSE](LICENSE).