หาแนวทางแก้ไขเวลา ESP8266 หลุดการเชื่อมต่อ

พอดี ESP8266 เชื่อมต่อ wifi อยู่ปกติ แล้วถ้าเน็ตหลุดไม่เชื่อมต่ออีกเลยจึงต้องกด รีเซ็ตอยากให้ตัว ESP8266 รี เซ็ตเชื่อมต่อเอง พอจะมีแนวทางไหม

ตอนนี้ใช้โค้ตแบบไหนขอดูหน่อยครับ

ใช้สองบอร์ด ติดต่อไรกันปกติ แต่เวลาเน็ตหลุดแล้วไม่เชื่อมต่อกลับต้องไป รีเซทเอง


#include <ESP8266WiFi.h>
#include <SoftwareSerial.h>
#include <Wire.h>
#include <SPI.h>
#include <TridentTD_LineNotify.h>
#include <BlynkSimpleEsp8266.h>
#define BLYNK_PRINT Serial
#define SSID        "TP-Link_A2F0"
#define PASSWORD    "38537820"
#define LINE_TOKEN  "hpUub53AGPaKGUv43W3cbGnLm9uGkHWjZqvWQFZ2Ouf"
char auth[] = "8iin6pfQvPnknJBmaaAGIoXsNMS_ZdyS";
int i_data ;
BlynkTimer timer;

void setup()
{
  Serial.begin(115200);
  Serial.println();
  Serial.println("NodeMCU/ESP8266 Run");
  WiFi.begin(SSID, PASSWORD);
  Serial.printf("WiFi connecting to %s\n",  SSID);
  while (WiFi.status() != WL_CONNECTED)
  {
    Serial.print("."); delay(400);
  }
  Serial.println(WiFi.localIP());
  LINE.setToken(LINE_TOKEN);
  Blynk.begin(auth, SSID, PASSWORD, "blynk.iot-cm.com", 8080);
  timer.setInterval(2000L, sendUptime);
}
void loop()
{
  while (Serial.available()) `รับค่าจาก UNOผ่านSerial`
  {
    i_data = Serial.parseInt();
    Blynk.run();
    timer.run();
  } 
}
void LINE1()
{
  Serial.println("ส่งเเรียบร้อย");
  LINE.notify(i_data);
}
BLYNK_WRITE(V2)  
{
  if (param.asInt() == 1)
  {
    LINE1();
    delay(1000);
  }
}
void sendUptime()
{
  Blynk.virtualWrite(V6, i_data);
}

เพิ่มโค้ตชุดนี้เข้าไปดูครับ

void loop()
{
delay(1000);
if(WiFi.status() == WL_CONNECTED){
Serial.println(“wificonnect!!! !”);
}
else{
Serial.println(“failed!!! !”);
WiFi.reconnect();
}
}