Skip to main content

ENS160 Air Quality Sensor driver

Project description

ENS160

ENS160 Python library.

Datasheet

This code was tested on a Raspberry Pi 5 at 100kHz I2C clock.

The I2C code is abstracted from the sensor handling and other communication methods could be added.

Tested with Python 3.12

Documentation

The detailed API documentation can be found here.

Install

pip install ens160

Example

See example.py

import sys
from time import sleep

from ens160 import Driver, OpModes

from ens160.i2c import SMBusRetryingI2C
dev = Driver(SMBusRetryingI2C(0x53, 1))

dev.init()
part_id = dev.get_part_id()
if part_id != Driver.PART_ID:
    print(f"Part not found, expected {Driver.PART_ID} got {part_id}.")
    sys.exit(-1)

print(f"Part Id {part_id}")
print(f"Firmware version {dev.get_fw_version()}")

dev.set_rh_compensation(55.0)
dev.set_temp_compensation_fahrenheit(72.5)

print(dev.get_device_status())

dev.set_operating_mode(OpModes.STANDARD)
print("Operating Mode: ", dev.get_operating_mode())

while True:
    status = dev.get_device_status()
    print(status)
    if status.new_data:
        print(
            f"AQI={dev.get_aqi()}, eCO2={dev.get_eco2()}ppm, TVOC={dev.get_tvoc()}ppb"
        )
    else:
        sleep(0.1)

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

ens160-0.0.2.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

ens160-0.0.2-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file ens160-0.0.2.tar.gz.

File metadata

  • Download URL: ens160-0.0.2.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for ens160-0.0.2.tar.gz
Algorithm Hash digest
SHA256 f4fb202b7ff54be7cae5894d5a1f6a64956c947b8b3df4de1e3af5c02565d49d
MD5 28db0eaab7bee4ecb84f3a605554d12f
BLAKE2b-256 a73663febda777bd7b0f827dd7c6705478ce7a3a4cfc6e9bf19073662943f971

See more details on using hashes here.

File details

Details for the file ens160-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: ens160-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.19

File hashes

Hashes for ens160-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 192b2c38f7cd88275515049c756f8e16e8a2bcb7d1ec1c87a34958e56fd51ce8
MD5 1e21e4f6a49d12d5d87ca9c69f62557b
BLAKE2b-256 09b102fc2c431699c3b8c5d3d30d897d257f4b000eb6149ead2eb67a8a836e58

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