/prometheus-esp8266-dht-exporter

A Prometheus exporter for an Arduino using a DHT sensor

Primary LanguageC++GNU General Public License v3.0GPL-3.0

Prometheus ESP8266 DHT Exporter

GitHub release

An IoT Prometheus exporter for measuring temperature and humidity, using an ESP8266 (Arduino-compatible) with a Wi-Fi module and a DHT (temperature + humidity) sensor.

Metrics

Metric Description Unit
iot_info Metadata about the device.
iot_air_humidity_percent Air humidity. %
iot_air_temperature_celsius Air temperature. °C
iot_air_heat_index_celsius Apparent air temperature, based on temperature and humidity. °C

Requirements

Hardware

  • ESP8266-based board (or some other appropriate Arduino-based board).
    • Tested with "Adafruit Feather HUZZAH ESP8266" and "WEMOS D1 Mini".
  • DHT sensor.
    • Tested with a cheap DHT11 from eBay and "Wemos DHT Shield".
    • DHT11 supports a maximum of 1Hz polling while DHT22 supports a maximum of 2Hz polling.
    • Both DHT11 and DHT22 support both 3V and 5V at 2.5mA max current.

Software

Building

Hardware

Using the "Adafruit Feather HUZZAH ESP8266".

Wire the DHT sensor power to the 3.3V and any GND on the ESP and wire the data output to e.g. pin 14 (aka D5).

Software

Using the Arduino IDE.

  1. Copy config.default.h to config.h and fill inn the details.
  2. Open src/src.ino in the Arduino IDE.
  3. Set the correct settings for the board.
    • WEMOS D1 Mini uses board "WeMoS D1 R2 & mini".
    • Adafruit Feather HUZZAH ESP8266 uses "Adafruit Feather HUZZAH ESP8266".
  4. Build and upload using the Arduino IDE.

Version

See src/version.h.

It's set manually since no build tools (or CI) other than the Arduino IDE is used.

License

GNU General Public License version 3 (GPLv3).