Сервер NodeMCU перестает отвечать через некоторое время

Я новичок в NodeMCU и ESP. Я создал базовый веб-сервер на своем NodeMCU.

Сервер прекрасно работает в течение первых нескольких минут после сброса платы или повторной загрузки кода. Но примерно через полчаса сервер просто перестает отвечать и становится недоступным. Забавно, что после отправки нескольких неудачных запросов сервер снова начинает нормально реагировать.

Код, который я использую:

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
 
String wifiName = "blablabla";
String password = "blablabla";

ESP8266WebServer server(9090);

void setup() {
  Serial.begin(115200);
  pinMode(5, OUTPUT);
  digitalWrite(5,LOW);
  
  connectToWifi();
  server.on("/", handleHomepage);
  server.on("/action", handleAction);
  server.begin();
}

void loop() {
  server.handleClient();
}

void handleHomepage() {
  server.send(200, "text/plain", "Welcome to esp8266 homepage!");
}

void handleAction() {
  String parameter = server.arg("value");

  if (parameter == "") {
    server.send(200, "text/plain", "No parameter supplied.");
    return;
  } else {
      if (parameter == "on") {
        digitalWrite(5,HIGH);
      } else if (parameter == "off") {
        digitalWrite(5,LOW);
      }
    server.send(200, "text/plain", "Action received successfully.");
  }
}

void connectToWifi() {
  WiFi.mode(WIFI_STA);
  WiFi.begin(wifiName, password);

  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
  }
}

Что нужно сделать, чтобы сервер всегда оставался активным? Заранее спасибо.

, 👍1

Обсуждение

исследование по ESP8266WiFiGratuitous, @Juraj

https://github.com/esp8266/Arduino/pull/6889, @Juraj