Welcome to Hackster!
Hackster is a community dedicated to learning hardware, from beginner to pro. Join us, it's free!
Mechatronics LAB
Published © GPL3+

Temperature & Humidity Monitor with ESP32 and Adafruit IO

Temperature & Humidity Monitor with ESP32 and Adafruit IO

BeginnerProtip1 hour140
Temperature & Humidity Monitor with ESP32 and Adafruit IO

Things used in this project

Hardware components

esp32
×1
dht22
×1

Story

Read more

Schematics

Smart Home Temperature & Humidity Monitor with ESP32 and Adafruit IO

Code

Smart Home Temperature & Humidity Monitor with ESP32 and Adafruit IO

Arduino
#include <AdafruitIO_WiFi.h>
#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>

// Replace with your Adafruit IO credentials
#define IO_USERNAME "YourAdafruitIOUsername"
#define IO_KEY "YourAdafruitIOKey"

// Wi-Fi credentials
#define WIFI_SSID "YourNetworkName"
#define WIFI_PASS "YourPassword"

// DHT Sensor settings
#define DHTPIN 4      // Data pin connected to GPIO4 (D4)
#define DHTTYPE DHT11 // DHT11 sensor type
DHT dht(DHTPIN, DHTTYPE);

// Adafruit IO instance
AdafruitIO_WiFi io(IO_USERNAME, IO_KEY, WIFI_SSID, WIFI_PASS);

// Set up feeds for temperature and humidity
AdafruitIO_Feed *temperature = io.feed("temperature");
AdafruitIO_Feed *humidity = io.feed("humidity");

void setup() {
  // Start Serial Monitor
  Serial.begin(115200);

  // Connect to Adafruit IO
  Serial.print("Connecting to Adafruit IO...");
  io.connect();

  // Wait for connection
  while(io.status() < AIO_CONNECTED) {
    Serial.print(".");
    delay(500);
  }
  Serial.println("Connected!");

  // Initialize DHT sensor
  dht.begin();
}

void loop() {
  // Ensure connection to Adafruit IO
  io.run();

  // Read temperature and humidity
  float temp = dht.readTemperature();
  float hum = dht.readHumidity();

  // Check for valid readings
  if (isnan(temp) || isnan(hum)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }

  // Send temperature and humidity to Adafruit IO
  Serial.print("Sending temperature: ");
  Serial.print(temp);
  Serial.print(" °C | humidity: ");
  Serial.print(hum);
  Serial.println(" %");

  temperature->save(temp);
  humidity->save(hum);

  // Delay between readings
  delay(2000);
}

Credits

Mechatronics LAB
75 projects • 46 followers
I am Sarful , I am a Mechatronics Engineer & also a teacher I am Interested in the evolution of technology in the automation industry .
Contact

Comments

Please log in or sign up to comment.