Skip to main content

IoT Based Humidity and Temperature Logging

Hey Folks,
In this tutorial, we will learn, how to interface DHT 11 with Node Mcu(ESP8266
).
 
The 
DHT11 is a basic, ultra low-cost digital temperature and humidity sensor. It uses a capacitive humidity sensor and a thermistor to measure the surrounding air and spits out a digital signal on the data pin (no analog input pins needed).




DHT11 Karkhana
DHT11 Back Side
DHT11 Karkhana
DHT11-Internal Sensor

Components Required

  • NodeMcu(ESP8266) 
  • DHT 11 SENSOR 
  • Few male to female connecting wires 
  • Breadboard

Follow the image below for circuit connection reference.
DHT11 Sensor connection with NodeMCU(WiFi-Module)
In this circuit, we have connected the output pin to the D3 pin of the NodeMcu module and NC pin remain disconnected.
After making the circuit dump the code given below.

// Karkhana Report
// temperature and humidity data using thingspeak.com
// Hardware: NodeMCU,DHT11
#include <DHT.h> // Including library for dht
#include <ESP8266WiFi.h>
String apiKey = "THINGSPEAK API KEY"; // Enter your Write API key from ThingSpeak
const char *ssid = "ENTER YOUR SSID"; // replace with your wifi ssid and wpa2 key
const char *pass = "ENTER YOUR PASSWORD";
const char* server = "api.thingspeak.com";
#define DHTPIN 0 //pin where the dht11 is connected
DHT dht(DHTPIN, DHT11);
WiFiClient client;
void setup()
{
Serial.begin(115200);
delay(10);
dht.begin();
Serial.println("Connecting to Karkhana Wifi");
Serial.println(ssid);
WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected to Karkhana");
}
void loop()
{
float h = dht.readHumidity();
float t = dht.readTemperature();
if (isnan(h) || isnan(t))
{
Serial.println("Failed to read from DHT sensor of Karkhana!");
return;
}
if (client.connect(server, 80)) // "184.106.153.149" or api.thingspeak.com
{
String postStr = apiKey;
postStr += "&field1=";
postStr += String(t);
postStr += "&field2=";
postStr += String(h);
postStr += "\r\n\r\n";
client.print("POST /update HTTP/1.1\n");
client.print("Host: api.thingspeak.com\n");
client.print("Connection: close\n");
client.print("X-THINGSPEAKAPIKEY: " + apiKey + "\n");
client.print("Content-Type: application/x-www-form-urlencoded\n");
client.print("Content-Length: ");
client.print(postStr.length());
client.print("\n\n");
client.print(postStr);
Serial.print("Temperature: ");
Serial.print(t);
Serial.print(" degrees Celcius, Humidity: ");
Serial.print(h);
Serial.println("%. Send to Thingspeak.");
}
client.stop();
Serial.println("Waiting...");
// thingspeak needs minimum 15 sec delay between updates, i've set it to 30 seconds
delay(3000);
}




After dumping the code we can check our output in the serial monitor as well as in the thingspeak blogging channel chart graphically as shown below:-


As you can see from the above logging figure we can check the humidity and temperature rate of Karkhana.


Thinking?


Join our hands-on training courses.
To know more visit us at Karkhana Training Portal

Comments

Popular posts from this blog

IoT Based LPG Gas Monitoring

MQ-5 Module(Overview ) In this tutorial, will learn, how to interface MQ-5 Module with Node Mcu(ESP8266). The Grove - Gas Sensor(MQ5) module is useful for gas leakage detection (in home and industry). It is suitable for detecting H2, LPG, CH4, CO, Alcohol. Due to its high sensitivity and fast response time, measurements can be taken as soon as possible. The sensitivity of the sensor can be adjusted by using the potentiometer. MQ-5 Module(backside) Components Required NodeMcu(ESP8266)  MQ-5 LPG SENSOR Module  Few male to female connecting wires  Breadboard  Follow the image below for circuit connection reference:- In this circuit, we have connected the A0 pin of the MQ-5 to the A0 pin of the NodeMcu module and D0 pin remain disconnected. After making the circuit dump the code given below:- // Karkhana Report // Analyse the volume of the gas using thingspeak.com // Hardware: NodeMCU,MQ-5 #include <ESP8266WiFi.h> String apiKey = "Ent...

LED Brightness Control using Touch Sensor and ARM

Hey Folks, In this tutorial, we will learn, how to change  the intensity of light using touch sensor the ARM (FRDM-KL25Z). INTRODUCTION The FRDM-KL25Z is an ultra-low-cost development platform for Kinetis L Series KL1x (KL14/15) and KL2x (KL24/25) MCUs built on ARM® Cortex™-M0+ processor.  The FRDM-KL25Z has been designed by NXP in collaboration with mbed for prototyping all sorts of devices, especially those requiring the size and price point offered by Cortex-M0+ and the power of USB Host and Device. The FRDM-KL25Z is supported by a range of NXP and third-party development software. It is packaged as a development board with connectors to break out to stripboard and breadboard and includes a built-in USB FLASH programmer.               FEATURES NXP KL25Z Kinetis KL2x MCU (MKL25Z128VLK4) High-performance ARM® Cortex™-M0+ Core 48MHz, 16KB RAM, 128KB FLASH USB (Host/Device) SPI (2) I2C (2) UART (3) PWM (TPM) ...

Servo Motor Interfacing with Arduino

In this tutorial, we will learn how to interface a servo motor using Arduino UNO. The motor inside the setup of a servo is attached by gears to the control wheel. When the motor rotates, the potentiometer’s resistance changes hence the control circuit can precisely regulate how much movement there is and in which direction. The motor’s speed is proportional to the difference between its actual position and desired position. When the shaft is near the desired position it turns slowly else fast. This is called proportional control. They are controlled by sending PWM (pulse width modulated) signals through the control wire. They are available in many sizes and are of three types Positional rotation  Continuous rotation  Linear The most common type is the positional rotational one. So now we are familiar with the motor let us interface it Components Required: Servo motor 1No Arduino UNO 1No Few connecting wires Breadboard Follow the video belo...