ESP8266 connected, stops sending temp info after 30-40 days

I’m getting the data (temp+humidity) for about 30-40 days and suddenly the data is not being sent. I can see esp8266 online, the app is connected, I can send manually data to the app but I’m not getting temprature nor humidity. I can see on the router that esp8266 is sending some packets to the server every 10 sec. I tried to erase data history and I can see only “No data yet”. What could be the reason?

• Hardware model + communication type
ESP8266 - wifi connection
• Smartphone OS (iOS) v13.3.1
• Local server 0.41.6
• Blynk Library version 0.6.1
• Add your sketch code. :point_up:Code should be formatted as example below.


#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <DHT.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "xxxxxxxxxxxxxxxxxxxx";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "SSID";
char pass[] = "";

int notified = 0;

#define DHTPIN 2 // What digital pin we're connected to

//#define DHTTYPE DHT11   // DHT 11
#define DHTTYPE DHT22   // DHT 22, AM2302, AM2321
//#define DHTTYPE DHT21   // DHT 21, AM2301

DHT dht(DHTPIN, DHTTYPE);
SimpleTimer timer;

void sendSensor(){
  // get readings from the DHT22 sensor
  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;
  }
  // Send temperature and humidity to Blynk App
  // on VIRTUAL ports 5 and 6 in order to 
  // display on Gauge Widget
  Blynk.virtualWrite(V5, h);
  Blynk.virtualWrite(V6, t);
  if (t >= 29 && notified == 0){ // check to see if flag is also set
    notified = 1; 
    Blynk.email("some_name@gmail.com", "Treshold reached", "Temp > 29*");
  } 
  else if (t < 27) {
    notified = 0;
  }
}

void setup(){
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass, "LOCAL_SERVER_IP", 8080);
  dht.begin();

  timer.setInterval(10000L, sendSensor);
}

void loop(){
  Blynk.run();
  timer.run();
}

What does your serial monitor show when data stops updating in Blynk?

Pete.

Hi Pete,
Unfortunately the device is in a remote location and I can’t connect to it. I know this would help a lot but was hoping that maybe it’s an issue with the server or application…

The activity you’re seeing via the router is the ping, where the device and the server do a handshake.
The way your code is structured, if the DHT sensor starts returning NAN then no updates will be sent to the app.

Pete.