Восстановите подключение к WIFI

Я написал код для внедрения в устройство SONOFF (чип ESP8266). Мой вопрос касается отключения из-за сбоя/перебоя питания в сети Wi-Fi. Когда происходит такое событие, пытается ли соединение Wi-Fi восстановиться или преодолеть эту возможность. Должен ли я войти в void loop (), чтобы проверить подключение Wi-Fi?

#include <ESP8266WiFi.h>
#include <PubSubClient.h>


// GPIO на плате SONOFF
int LED_SONOFF = 13;
int REL_SONOFF = 12;
int PIN_SW = 14;

const char* ssid = "Home";
const char* password = "12345678";
const char* mqtt_server = "192.168.2.113";
int last_sw_state = 0;

WiFiClient espClient;
PubSubClient client(espClient);


char msg[50];
const char* clientID = "Sonoff";
char *client_temp = "HomePi/Dvir/Windows/";
const char* outTopic = "HomePi/Dvir/Messages";
const char* outTopic2 = "HomePi/Dvir/Windows/ESP32";
const char* inTopic [strlen(client_temp) + 3];
const char* inTopic2 = "HomePi/Dvir/Windows/All";

String clock;

void start_wifi() {
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("");
  Serial.println("WiFi connected");  
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());

  for (int i=0; i<3; i++){
    digitalWrite(LED_SONOFF,LOW);
    delay(50); 
    digitalWrite(LED_SONOFF,HIGH);
    delay(50); 
  }
}

, 👍0


1 ответ


Лучший ответ:

1

Мой вопрос касается отключения из-за сбоя/перебоя подачи электроэнергии в сеть Wi-Fi - когда такое событие происходит, пытается ли соединение Wi-Fi воссоединиться или преодолеть эту возможность

используйте WiFi.setAutoReconnect(true); при инициализации WiFi

Другая полезная опция — WiFi.setAutoConnect(). Она контролирует, будет ли esp8266 в следующий раз запускать соединение WiFi с запомненными настройками, перед запуском вашего скетча.

,

в конце void start_wifi() или void loop()?, @Guy . D

при запуске при подключении, @Juraj