Ponowne połączenie Esptop 10 do sieci Wi -Fi po utraconym połączeniu

Ponowne połączenie Esptop 10 do sieci Wi -Fi po utraconym połączeniu
ESP32 to płyta mikrokontrolera oparta na Wi -Fi. ESP32 jest wyposażony w wstępnie zainstalowany moduł Wi-Fi, który zapewnia mu możliwości komunikacji bezprzewodowej. ESP32 może być obsługiwane w trzech trybach Wi -Fi stacja, dostęp, lub oba. Czasami ESP32 WiFi zostaje odłączone, gdy ESP32 jest w trybie stacji, więc musimy go dostosować lub ponownie podłączyć. Przeczytaj ten przewodnik, aby dowiedzieć się, jak ponownie połączyć ESP32 do sieci WIFI:

Jak ponownie połączyć ESP32 z siecią WiFi

Do ponownego połączenia Wi -Fi można użyć trzech różnych funkcji. Poniżej znajdują się trzy sposoby:

  1. Wifi.Funkcja reconnect ()
  2. Esp.restart ()
  3. ESP32 Wydarzenia Wi -Fi

1: Ponowne połączenie Wi -Fi za pomocą Wi -Fi.Funkcja reconnect ()

Aby ponownie połączyć ESP32 z Wi -Fi, możemy użyć następującej funkcji, która sprawdza dostępne sieci Wi -Fi. Po odłączeniu WiFi płyta ESP32 spróbuje ponownie z nim połączyć.

Wifi.na nowo połączyć()

Lub alternatywnie możemy również najpierw odłączyć podłączoną sieć za pomocą Wifi.rozłączyć się() a następnie ponownie rozpocznij połączenie Wi -Fi za pomocą polecenia Wifi.Rozpocznij (SSID, hasło).

2: Ponowne połączenie się z siecią WiFi po utraconym połączeniu za pomocą Wi -Fi.funkcja restart ()

Innym sposobem połączenia ESP32 z utraconym Wi -Fi jest ponowne uruchomienie ESP32 po utracie połączenia. Teraz napiszemy kod, który będzie sprawdzał status połączenia co 30 sekund, a jeśli połączenie zostanie utracone, ponownie uruchomi połączenie i spróbuje ponownie połączyć się z ESP32 z Lost Network.

Otwórz Arduino IDE i uruchom kod.

#include /*biblioteka wifi zawiera* /
const char* ssid = "abc"; /*SSID sieci do połączenia*/
const char* hasło = "hasło123"; /*hasło dla SSID*/
niepodpisany długi poprzedni Millis = 0;
Niepodpisany długi przedział = 30000;
void initwifi ()
Wifi.tryb (wifi_sta);
Wifi.początek (SSID, hasło);
Seryjny.Drukuj („Łączenie się z Wi -Fi…”);
While (WiFi.status() != Wl_connected)
Seryjny.wydrukować('.');
opóźnienie (1000);

Seryjny.println (wifi.localIP ());

void setup ()
Seryjny.rozpocząć (115200);
initwifi ();
Seryjny.print („RSSI (siła Wi -Fi):”);
Seryjny.println (wifi.Rssi ());

void Loop ()
niepodpisany długi prąd prądowy = millis ();
/*Jeśli warunek sprawdzania ponownego połączenia Wi -Fi*/
if (wifi.status() != Wl_connected) && (currentMillis - poprzednimillis> = interwał))
Seryjny.print (Millis ());
Seryjny.println („Ponowne połączenie z Wi -Fi…”);
Wifi.rozłączyć się();
Wifi.na nowo połączyć();
poprzednimillis = currentMillis;

Tutaj w powyższym kodzie najpierw napisz SSID i hasło dla sieci, które chce się połączyć. Następnie zdefiniuj młyn i całkowity czas, po którym ESP32 sprawdzi status połączenia. Pamiętaj, aby zdefiniować poprzednie młyn na początku, ponieważ za każdym razem, gdy kod czasowy ESP32 będzie traktować Millis jako odniesienie do czasu obliczenia 30 sekund odstępów czasu.

Kod sprawdzi dostępną sieć, jeśli sieć jest dostępna, a prawidłowe poświadczenia są zapisywane w kodzie ESP32, automatycznie się z nią podłączy.

Wyjście na monitorze szeregowym

Następujące wyjście pojawią się na monitorze szeregowym. Tutaj możemy zobaczyć, jak adres IP i siła sieci WIFI ESP32 jest podłączony.

Notatka: Miary RSSI w DBM, a jego wartość jest ujemna.

3: Jak ponownie połączyć WIFI ESP32 za pomocą zdarzeń Wi -Fi

ESP32 ze względu na bibliotekę Wi -Fi ma wiele wydarzeń Wi -Fi, które są błogosławieństwem w przebraniu. ESP32 ma pewne konkretne zdarzenia, które automatycznie działają, jeśli nastąpi określone zdarzenie, po tym automatycznie wywoła określoną funkcję.

Poniżej znajdują się kilka ważnych funkcji, które pomagają ESP32 O automatycznie przywrócić utracone połączenie:

  • Arduino_event_wifi_sta_connected: ESP32 w trybie stacji podłączony z routerem
  • Arduino_event_wifi_sta_disconnected: ESP32 Odłącz się od routera

Kod zdarzeń Wi -Fi

Poniżej znajduje się kod trzech różnych zdarzeń połączenia Wi -Fi w ESP32. Otwórz Arduino IDE, skompiluj i prześlij dany kod.

#include /*biblioteka wifi zawiera* /
const char* ssid = "abc"; /*SSID sieci do połączenia*/
const char* hasło = "hasło123"; /*hasło dla SSID*/
void wifi_connected (zdarzenie wifievent_t, wifieventinfo_t info)
Seryjny.println („ESP32 WiFi podłączone do punktu dostępu”);

void get_ipaddress (zdarzenie wifievent_t, wifieventinfo_t info)
Seryjny.println („wifi połączone!");
Seryjny.println („Adres IP podłączonych Wi -Fi:”);
Seryjny.println (wifi.localIP ());

void wifi_disconnected (zdarzenie wifievent_t, wifieventinfo_t info)
Seryjny.println („odłączony od wifi”);
Seryjny.Drukuj („Utracony powód połączenia:”);
Seryjny.println (informacje.bezładny.powód);
Seryjny.println („Ponowne połączenie…”);
Wifi.początek (SSID, hasło);

void setup ()
Seryjny.rozpocząć (115200);
Wifi.odłączyć (true);
opóźnienie (1000);
Wifi.Onevent (wifi_connected, system_event_sta_connected);
Wifi.Onevent (get_ipaddress, system_event_sta_got_ip);
Wifi.Onevent (wifi_disconnected, system_event_sta_disconnected);
Wifi.początek (SSID, hasło);
Seryjny.println („Oczekiwanie na sieć WiFi…”);

void Loop ()
opóźnienie (1000);

W powyższym kodzie zdefiniowano trzy różne zdarzenia:

  • System_event_sta_connected: Kiedy ESP32 podłączył się do Wi -Fi
  • System_event_sta_got_ip: Kiedy ESP32 otrzymuje adres IP podłączonej sieci
  • System_event_sta_disconnected: Kiedy ESP32 został odłączony od sieci

Kiedy ESP32 jest podłączony do sieci WifistationConnected () funkcja zostanie wywołana. Po prostu wydrukuje, że ESP32 jest pomyślnie podłączony do sieci. Możemy jednak również zmodyfikować go, aby oświetlić diodę LED lub coś innego, gdy ESP32 jest podłączony do sieci.

Po drugie, gdy ESP32 otrzymuje adres IP sieci Wifigootip () funkcja będzie działać. Ta funkcja taka jak poprzednia wydrukuje adres IP.

A ostatnim wydarzeniem, które opisujemy, jest to, kiedy uruchomi funkcję Wifistationdisconnected (), Ta funkcja wydrukuje wiadomość, że Wi -Fi jest odłączona i próbuje ponownie połączyć ESP32 z siecią Wi -Fi.

Wyjście na monitorze szeregowym

Następujące dane wyjściowe pojawią się na monitorze szeregowym: Wyświetla adres IP i komunikat, który jest podłączony WIFI. Podobnie, jeśli Wi -Fi zostanie odłączone, automatycznie sprawdzi połączenie Wi -Fi co 30 sekund i spróbuje ponownie połączyć ESP32 z siecią.

Z powodzeniem rozwiązaliśmy problem utraconego połączenia ESP32 Wi -Fi przy użyciu trzech różnych metod.

Wniosek

ESP32 Wi -Fi czasami się odłącza, więc można ponownie podłączyć trzy różne metody. Pierwszym z nich jest po prostu rebegina połączenia za pomocą Wifi.Rozpocznij (SSID, hasło) Komenda. Druga metoda zawiera stałą kontrolę połączenia internetowego ESP32 i automatycznie łączy się po utracie jego połączenia. Ostatnia metoda, którą omówiliśmy, uruchomiłaby określone funkcje, gdy nastąpi określone zdarzenie Wi -Fi, takie jak łączenie lub odłączenie.