Skip to main content

IoT - Humidity and Temperature Logging using NodeMCU and ThingSpeak

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 - LPG Gas Sensor Logging with NodeMCU and Thingspeak.

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.


Components Required
NodeMcu(ESP8266) MQ-5 LPG SENSOR Module Few male to female connecting wires Breadboard  Follow the image below for circuit connection reference:-
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 = "Enter the API key"; // Enter your Write API key from ThingSpeak
const char *ssid = "Enter ssid"; // replace with your wifi ssid and wpa2 key
const char *pass = "Enter password";
const char* server = &qu…

Servo Motor Control using ESP8266 and Blynk App

Hey folks, 
In this tutorial we will learn how to interface Servo motor with NodeMcu(ESP8266)module and operate it with the Blynk app. Servos are controlled by sending an electrical pulse of variable width, or pulse width modulation (PWM), through the control wire. There is a minimum pulse, a maximum pulse, and a repetition rate. A servo motor can usually only turn 90° in either direction for a total of 180° movement.
   Follow the image below for circuit connection reference. In this circuit, we have connected the output pin to the D0 pin of the NodeMcu module. If want to control the servo motor manually then connect a 10K potetiometer . The 10K potentiometer will work as a voltage divisor, changing the analog input level on  NodeMCU (A0) from 0 to 3.3V. Internally, the 10 bits ADC (Analog-Digital converter) will generate a digital value (from 0 to 1023), the PotReading, equivalent to the analog voltage input.
After making the circuit dump the code given below.
/*NodeMCU */
#include <ESP…