GithubHelp home page GithubHelp logo

adafruit_circuitpython_dht's Introduction

Introduction

Documentation Status Gitter

CircuitPython support for the DHT11 and DHT22 temperature and humidity devices.

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

Hardware Set-up

The DHT11 and DHT22 devices both need a pull-resistor on the data signal wire. This resistor is in the range of 1k to 5k. Please check your device datasheet for the appropriate value.

Basics

Of course, you must import the library to use it:

import adafruit_dht

The DHT type devices use single data wire, so import the board pin

from board import <pin>

Now, to initialize the DHT11 device:

dht_device = adafruit_dht.DHT11(<pin>)

OR initialize the DHT22 device:

dht_device = adafruit_dht.DHT22(<pin>)

Read temperature and humidity

Now get the temperature and humidity values

temperature = dht_device.temperature
humidity = dht_device.humidity

These properties may raise an exception if a problem occurs. You should use try/raise logic and catch RuntimeError and then retry getting the values after 1/2 second.

Contributing

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

API Reference

.. toctree::
   :maxdepth: 2

   api

adafruit_circuitpython_dht's People

Contributors

mrmcwethy avatar tannewt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

adafruit_circuitpython_dht's Issues

Make sure libgpiod is installederror with sudo

Hi

When i test python script to read DHT22 with my "pi" user it's ok.
When i test the same python script with sudo i've this error "RuntimeError: Timed out waiting for PulseIn message. Make sure libgpiod is installed."

I found other people who have the same problem but i don't find solution.

In my case, i'm on a raspberry B+ first generation with a raspbian 10 buster.
If we have a solution or idea, i'm very interesting.

RuntimeError: Timed out waiting for PulseIn message. Make sure libgpiod is installed.

I wrote a Python script for the raspberry pi that looks like this:

from endpoints import Controller
import board
import adafruit_dht

class Default(Controller):
  def GET(self):
    try:
     dht_device = adafruit_dht.DHT22(board.D4)
    return dht_device.temperature

As you can see, I'm using Endpoint to be able to call the script as an api. The first time I call the api using Postman it returns the temperature correctly, but the second time I receive the following error:
RuntimeError: Timed out waiting for PulseIn message. Make sure libgpiod is installed.

The only way to make it work again is to restart the server using:
endpoints --prefix=controllers --host={ip address}

To be clear: I did install libgpiod on my Raspberry pi.

Is this a known issue?

minor errors in example

Just a few corrections to the example in readme.rst

import adafruit_dhtlib

should be

import adafruit_dht

then when used the full name has to be used:

dhtDevice = adafruit_dht.DHT22(<pin>)

or

import adafruit_dht as dht

then it works as is.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.