当 ESP 12e 处于接入点模式时,如何重新启动 ESP 12e?

问题描述 投票:0回答:1

我在 MQTT 系统上使用 ESP 12e。当它第一次启动时,我让 wifiManager 打开一个接入点,以便用户可以输入 wifi、密码、MQTT 名称和密钥。这一切都很好。
然而,每隔一段时间就会发生一些事情(例如电气中断),ESP 12e 会启动并寻找要连接的 wifi,但由于断电,wifi 尚未启动并运行,因此它会启动接入点。如果在我离开时发生这种情况,ESP 12e 只会处于访问模式,等待有人输入数据,直到我回家并在 wifi 广播时手动重新启动 ESP 12e。 我正在尝试对 ESP 12e 进行编程,使其在 wifi 有时间再次开始广播时在一段时间(6 分钟)后重新启动。

我正在使用 Arduino IDE。 我已经尝试过这个。

previousMillis2 = millis();
if (WiFi.status() == WL_DISCONNECTED) {
  if (millis()-previousMillis2 >= 360000){
    Serial.print(millis());
 
    
    Serial.println("Reset..");
    ESP.restart();
  }
wifiManager.autoConnect("ACCESSPOINT");
}

我也试过这个

 previousMillis2 = millis();
if (WiFi.status() == WL_DISCONNECTED) {
 
 wifiManager.autoConnect("FloWT2");
 delay(180000);

   if (millis()-previousMillis2 >= 179999){
    Serial.print(millis());
 
   
    Serial.println("Reset..");
    ESP.restart();
  }
  }

这是解决这个问题的错误方法还是我刚刚对我的代码做了错误的事情。

如果有人可以帮助我,我将非常感激。预先感谢。

esp8266 arduino-ide wifimanager
1个回答
0
投票

在我的项目中我是这样解决的:

  wm.setTimeout(120); // 2 minutes
  do {
    WiFi.begin();
    wm.autoConnect(PROJECT_NAME);
  } while (WiFi.status() != WL_CONNECTED);

我为 WiFiManager 设置了超时,然后直接调用 WiFi.begin,反复尝试加入最后存储的 AP。如果 WiFiManager 超时,并且 WiFi 未连接,我会重复一遍。这样,一旦 AP 启动,草图就会连接到它。

© www.soinside.com 2019 - 2024. All rights reserved.