Files
homeostasis/README.org
2026-04-13 21:23:03 +02:00

1.9 KiB

Homeostasis

Temperature and humidity sensor that communicates via MQTT. The project is implemented using a Wemos D1 mini ESP32 board with a DHT22 shield.

This specific shield needs to have the data line connected to a pin different to D4, as explained in this blog post.

./board.jpg

Pinout of the board

./pinout.png

Configuration

In the data directory, there is a JSON file that allows the configuration of multiple values:

  • ssid: WiFi network name
  • psk: WiFi password
  • mqtt_host: IP address of the MQTT broker
  • mqtt_user: username that has write access on the MQTT broker
  • mqtt_password: password for the user that has write access on the MQTT broker
  • mqtt_port: port used by the MQTT broker
  • mqtt_topic: channel name
  • device_id: unique identifier of the sensor
  • sleep_time: time interval between each data transmission
  • connection_attempts: maximum connection attemps to the network

The file needs to be renamed to config.json

Deployment

The software uses the Arduino framework and the development environment of PlatformIO, which offers better tooling than the official Arduino IDE.

Generate compilation database

pio run -t compiledb

Upload the configuration file to the board

pio run -t uploadfs

Compile the project

pio run -t compile

Upload firmware

pio run -t upload