/*Modified by

 * Technical Team,REES52

 */

#define BLYNK_PRINT Serial    // Comment this out to disable prints and save space

#include <SPI.h>     // install this library

#include <ESP8266WiFi.h>  

#include <BlynkSimpleEsp8266.h> // install this library

#include <SimpleTimer.h> // install this library

#include <DHT.h> // install this library (must install the adafruit sensor library for DHT Sensor also)

// You should get Auth Token in the Blynk App.

// Go to the Project Settings (nut icon).

char auth[] = " **************************************************"; //Enter the Auth code which was send by Blink

// Your WiFi credentials.

// Set password to "" for open networks.

char ssid[] = "***************";  //Enter your WIFI Name

char pass[] = "****************";  //Enter your WIFI Password

#define DHTPIN 2          // Digital pin 4 (must check the digital and GPIO pins , both are different in case of nodemcu)

// Uncomment whatever type you're using!

#define DHTTYPE DHT11     // DHT 11

//#define DHTTYPE DHT22   // DHT 22, AM2302, AM2321

//#define DHTTYPE DHT21   // DHT 21, AM2301

DHT dht(DHTPIN, DHTTYPE);

SimpleTimer timer;

// This function sends Arduino's up time every second to Virtual Pin (5).

// In the app, Widget's reading frequency should be set to PUSH. This means

// that you define how often to send data to Blynk App.

void sendSensor()

{

  float h = dht.readHumidity();

  float t = dht.readTemperature(); // or dht.readTemperature(true) for Fahrenheit

  if (isnan(h) || isnan(t)) {

    Serial.println("Failed to read from DHT sensor!");

    return;

  }

  // You can send any value at any time.

  // Please don't send more that 10 values per second.

  Blynk.virtualWrite(V5, h);  //V5 is for Humidity

  Blynk.virtualWrite(V6, t);  //V6 is for Temperature

}

void setup()

{

  Serial.begin(9600); // See the connection status in Serial Monitor

  Blynk.begin(auth, ssid, pass);

  dht.begin();

  // Setup a function to be called every second

  timer.setInterval(1000L, sendSensor);

}

void loop()

{

  Blynk.run(); // Initiates Blynk

  timer.run(); // Initiates SimpleTimer

}