Sudhakar Natarajan
Published © Apache-2.0

ESP8266 Temperature and Humidity Monitoring System

An IoT-based system using NodeMCU ESP8266 and DHT11 to monitor live temperature and humidity through the KiwisIoT dashboard.

BeginnerProtip30 minutes22
ESP8266 Temperature and Humidity Monitoring System

Things used in this project

Hardware components

NodeMCU ESP8266 Development Board
×1
DHT11 Temperature & Humidity Sensor (4 pins)
DHT11 Temperature & Humidity Sensor (4 pins)
×1
Jumper wires (generic)
Jumper wires (generic)
×4
USB-A to B Cable
USB-A to B Cable
×1

Software apps and online services

Arduino IDE
Arduino IDE
Install at local desktop
KiwisIoT Platform
I had attached the KiwisIoT Platform Link - https://kiwisiot.in

Story

Read more

Schematics

Schematic Diagram

Code

Upload code at the ESP32 Board

C/C++
#include <KiwisIoT.h>
#include <DHT.h>

const char* ssid = "IOT";
const char* pass = "12345678";
const char* topic = "dash_1787738664437";

KiwisIoT kiwisiot(ssid, pass, topic);

// DHT11 configuration
#define DHT_PIN D5
#define DHT_TYPE DHT11

DHT dht(DHT_PIN, DHT_TYPE);

void setup() {
Serial.begin(9600);

dht.begin();

kiwisiot.begin();
}

void loop() {
kiwisiot.run();

float temperature = dht.readTemperature();
float humidity = dht.readHumidity();

// Check whether DHT11 reading is valid
if (isnan(temperature) || isnan(humidity)) {
Serial.println("Failed to read from DHT11!");
delay(2000);
return;
}

// Send temperature to widget ID 1
kiwisiot.send("1", temperature);

// Send humidity to widget ID 2
kiwisiot.send("2", humidity);

Serial.print("Temperature = ");
Serial.print(temperature);
Serial.println(" °C");

Serial.print("Humidity = ");
Serial.print(humidity);
Serial.println(" %");

delay(2000);
}

Credits

Sudhakar N

Comments