乐鑫技术交流
直播中

哔哔哔-

8年用户 1259经验值
擅长:电源/新能源
私信 关注
[问答]

Node mcu (1.0) ESP8266 12E在IDLE time iP后没有响应怎么解决?

我正在尝试将节点 mcu 设置为具有静态 IP 的接入点。我能够使用 tcp 套接字连接到 AP 并从中接收响应。
但是,如果客户端在一定时间内未连接到它,则节点 MCU 根本不会响应。
假设如果 1 小时作为空闲时间过去,则节点 mcu 允许客户端连接到 AP,但它不响应查询。
这是我的代码。
代码:全选#include

WiFiServer server(8080);

IPAddress IP(192,168,4,15);
IPAddress mask = (255, 255, 255, 0);
//byte ledPin = 16;
byte ledPin = 2;

void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_AP);
WiFi.softAP("PRAKASH", "1234567890");
WiFi.softAPConfig(IP, IP, mask);

server.begin();

pinMode(ledPin, OUTPUT);
Serial.println();
Serial.println("Server started.");
Serial.print("IP: "); Serial.println(WiFi.softAPIP());
Serial.print("MAC:"); Serial.println(WiFi.softAPmacAddress());
}

void loop(void) {
  WiFiClient client = server.available();

  if (client) {
    Serial.println("Client connected.");

    while (client.connected()) {
      if (client.available()) {
        String request = client.readStringUntil('r');
        Serial.println("____NEW_COMMAND_____");
        if (request == "LED_ON") {
          digitalWrite(ledPin, LOW);
          Serial.println("LED is now on.");
        } else if (request == "LED_OFF") {
          digitalWrite(ledPin, HIGH);
          Serial.println("LED is now off.");
        } else {
          Serial.println("Invalid command:");
          Serial.println(request);
        }
         Serial.println("From the station: " + request);
         client.flush();
         Serial.print("Byte sent to the station: ");
         Serial.println(client.println(request + "ca" + "r"));
         Serial.println("*____COMMAND_COMPLETED____*");
      }
    }
    Serial.println("Client disconnected.");
    client.stop();
  }
}


我正在使用 Arduino ide 来刷新代码。
Arduino 版本:1.8.10 电路板:Node Mcu 1.0 12E 上传速度:115200 CPU 频率:80Mhz(电路板管理器)Esp8266:2.6.2
只是在空闲期后总结 node mcu 让我使用 tcp 套接字连接但它不会关闭/在 led 上,它不会发回任何响应。如果我重置节点 mcu 然后它再次工作。

更多回帖

发帖
×
20
完善资料,
赚取积分