Skip to main content

CircuitPython library for SHT31-D temperature and humidity sensor.

Project description

Introduction

Documentation Status Discord Build Status

CircuitPython module for the SHT31-D temperature and humidity sensor.

Dependencies

This driver depends on:

Please ensure all dependencies are available on the CircuitPython filesystem. This is easily achieved by downloading the Adafruit library and driver bundle.

Usage Example

You must import the library to use it:

import adafruit_sht31d

This driver takes an instantiated and active I2C object (from the busio or the bitbangio library) as an argument to its constructor. The way to create an I2C object depends on the board you are using. For boards with labeled SCL and SDA pins, you can:

from busio import I2C
from board import SCL, SDA

i2c = I2C(SCL, SDA)

Once you have created the I2C interface object, you can use it to instantiate the sensor object:

sensor = adafruit_sht31d.SHT31D(i2c)

And then you can start measuring the temperature and humidity:

print(sensor.temperature)
print(sensor.relative_humidity)

You can instruct the sensor to periodically measure the temperature and humidity, storing the result in its internal cache:

sensor.mode = adafruit_sht31d.MODE_PERIODIC

You can adjust the frequency at which the sensor periodically gathers data to: 0.5, 1, 2, 4 or 10 Hz. The following adjusts the frequency to 2 Hz:

sensor.frequency = adafruit_sht31d.FREQUENCY_2

The sensor is capable of storing eight results. The sensor stores these results in an internal FILO cache. Retrieving these results is simlilar to taking a measurement. The sensor clears its cache once the stored data is read. The sensor always returns eight data points. The list of results is backfilled with the maximum output values of 130.0 ºC and 100.01831417975366 % RH:

print(sensor.temperature)
print(sensor.relative_humidity)

The sensor will continue to collect data at the set interval until it is returned to single shot data acquisition mode:

sensor.mode = adafruit_sht31d.MODE_SINGLE

Contributing

Contributions are welcome! Please read our Code of Conduct before contributing to help this project stay welcoming.

Building locally

To build this library locally you’ll need to install the circuitpython-build-tools package.

python3 -m venv .env
source .env/bin/activate
pip install circuitpython-build-tools

Once installed, make sure you are in the virtual environment:

source .env/bin/activate

Then run the build:

circuitpython-build-bundles --filename_prefix adafruit-circuitpython-sht31d --library_location .

Sphinx documentation

Sphinx is used to build the documentation based on rST files and comments in the code. First, install dependencies (feel free to reuse the virtual environment from above):

python3 -m venv .env
source .env/bin/activate
pip install Sphinx sphinx-rtd-theme

Now, once you have the virtual environment activated:

cd docs
sphinx-build -E -W -b html . _build/html

This will output the documentation to docs/_build/html. Open the index.html in your browser to view them. It will also (due to -W) error out on any warning like Travis will. This is a good way to locally verify it will pass.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

adafruit-circuitpython-sht31d-2.1.0.tar.gz (22.6 kB view details)

Uploaded Source

File details

Details for the file adafruit-circuitpython-sht31d-2.1.0.tar.gz.

File metadata

  • Download URL: adafruit-circuitpython-sht31d-2.1.0.tar.gz
  • Upload date:
  • Size: 22.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.14.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.6.3

File hashes

Hashes for adafruit-circuitpython-sht31d-2.1.0.tar.gz
Algorithm Hash digest
SHA256 9dfd1b218194c259e1840e8970f6d50ff108620c7742c7a2cda3a529654bea60
MD5 299190f5fab08c606f5f35a80eec6c2a
BLAKE2b-256 27a5ecf70d4e9c113628f53709c2ede3b2b8c15656b4dfa8d0669bd37d48da32

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page