Восстановите подключение к 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);
}
}
@Guy . D, 👍0
1 ответ
Лучший ответ:
Мой вопрос касается отключения из-за сбоя/перебоя подачи электроэнергии в сеть Wi-Fi - когда такое событие происходит, пытается ли соединение Wi-Fi воссоединиться или преодолеть эту возможность
используйте WiFi.setAutoReconnect(true);
при инициализации WiFi
Другая полезная опция — WiFi.setAutoConnect()
. Она контролирует, будет ли esp8266 в следующий раз запускать соединение WiFi с запомненными настройками, перед запуском вашего скетча.
- Обнаружение ESP8266 в сети
- Подключение Arduino к Philips Hue
- TCP-клиент readStringUntil только при наличии данных
- Невозможно установить связь между модулем ESP-12E и мобильным устройством через маршрутизатор ESP-12E.
- ESP8266 Одноранговая сеть с AP и STA — кэширование клиентов AP, очистка их запросов?
- Мобильная точка доступа с wemos d1 mini
- Каков наилучший способ инициализации Wi-Fi-связи между двумя устройствами (получить IP-адрес)?
- Получение внешних данных в Arduino
в конце
void start_wifi()
илиvoid loop()
?, @Guy . Dпри запуске при подключении, @Juraj