WLED/usermods/DHT
b3nj1 aa242d897d
DHT22/DHT11 humidity/temperature sensor usermod (#1719)
* DHT22/DHT11 humidity/temperature sensor usermod

* cleanup - don't report when usermod is auto-disabled since report isn't persistent

* track error count; retry once after error occurs

* for esp32, use esp32DHT library

* fix unreliable ESP32 readings by switching DHT library to https://github.com/alwynallan/DHT_nonblocking

* change default pin to Q2; don't burst readings if error occurs

Co-authored-by: Aircoookie <dev.aircoookie@gmail.com>
2021-02-13 01:21:13 +01:00
..
platformio_override.ini DHT22/DHT11 humidity/temperature sensor usermod (#1719) 2021-02-13 01:21:13 +01:00
readme.md DHT22/DHT11 humidity/temperature sensor usermod (#1719) 2021-02-13 01:21:13 +01:00
usermod_dht.h DHT22/DHT11 humidity/temperature sensor usermod (#1719) 2021-02-13 01:21:13 +01:00

readme.md

DHT Temperature/Humidity sensor usermod

This usermod will read from an attached DHT22 or DHT11 humidity and temperature sensor. The sensor readings are displayed in the Info section of the web UI.

If sensor is not detected after a while (10 update intervals), this usermod will be disabled.

Installation

Copy the example platformio_override.ini to the root directory. This file should be placed in the same directory as platformio.ini.

Define Your Options

  • USERMOD_DHT - define this to have this user mod included wled00\usermods_list.cpp
  • USERMOD_DHT_DHTTYPE - DHT model: 11, 21, 22 for DHT11, DHT21, or DHT22, defaults to 22/DHT22
  • USERMOD_DHT_PIN - pin to which DTH is connected, defaults to Q2 pin on QuinLed Dig-Uno's board
  • USERMOD_DHT_CELSIUS - define this to report temperatures in degrees celsious, otherwise fahrenheit will be reported
  • USERMOD_DHT_MEASUREMENT_INTERVAL - the number of milliseconds between measurements, defaults to 60 seconds
  • USERMOD_DHT_FIRST_MEASUREMENT_AT - the number of milliseconds after boot to take first measurement, defaults to 90 seconds
  • USERMOD_DHT_STATS - For debug, report delay stats

PlatformIO requirements

If you are using platformio_override.ini, you should be able to refresh the task list and see your custom task, for example env:d1_mini_usermod_dht_C. If not, you can add the libraries and dependencies into platformio.ini as you see fit.

Change Log

2020-02-04

  • Change default QuinLed pin to Q2
  • Instead of trying to keep updates at constant cadence, space readings out by measurement interval; hope this helps to avoid occasional bursts of readings with errors
  • Add some more (optional) stats 2020-02-03
  • Due to poor readouts on ESP32 with previous DHT library, rewrote to use https://github.com/alwynallan/DHT_nonblocking
  • The new library serializes/delays up to 5ms for the sensor readout
    2020-02-02
  • Created