Schließen Sie ESPTOP 10 nach WLAN -Netzwerk nach verlorener Verbindung wieder an

Schließen Sie ESPTOP 10 nach WLAN -Netzwerk nach verlorener Verbindung wieder an
ESP32 ist ein WLAN -basierter Mikrocontroller -Board. ESP32 verfügt über ein vorinstalliertes WLAN-Modul, das es mit drahtlosen Kommunikationsfunktionen bietet. ESP32 kann in drei WLAN -Modi betrieben werden Bahnhof, Zugang, oder beides. Manchmal wird ESP32 -WLAN getrennt, wenn ESP32 im Stationsmodus ist, sodass wir es anpassen oder wieder verbinden müssen. Lesen Sie diesen Leitfaden, um zu erfahren, wie Sie ESP32 wieder mit dem WLAN -Netzwerk verbinden:

Wie man ESP32 wieder mit dem WLAN -Netzwerk verbindet

Drei verschiedene Funktionen können verwendet werden, um das WLAN nach einer verlorenen Verbindung wieder zu verbinden. Im Folgenden finden Sie die drei Möglichkeiten:

  1. W-lan.Funktion wieder anschließen () Funktion wiederverbinden
  2. Esp.Neustart()
  3. ESP32 WLAN -Ereignisse

1: WiFi mit WLAN wieder miteinander verbinden.Funktion wieder anschließen () Funktion wiederverbinden

Um ESP32 mit WLAN wieder zu verbinden, können wir die folgende Funktion verwenden, die nach den verfügbaren WLAN. Sobald WiFi getrennt ist, wird das ESP32 -Board versuchen, sich erneut mit ihm zu verbinden.

W-lan.wieder anschließen ()

Oder alternativ können wir zuerst das vernetzte Netzwerk mithilfe des vernetzten Netzwerks zuerst trennen W-lan.trennen() und dann beginnen Sie erneut die WLAN -Verbindung mit dem Befehl W-lan.Beginnen Sie (SSID, Passwort).

2: Verbinden Sie nach WLAN -Verbindung mit WLAN wieder mit dem WLAN -Netzwerk ein.restart () Funktion

Eine andere Möglichkeit, ESP32 mit Lost WiFi zu verbinden, besteht darin, den ESP32 neu zu starten, sobald die Verbindung verloren geht. Jetzt schreiben wir einen Code, der alle 30 Sekunden auf den Verbindungsstatus prüft. Wenn die Verbindung verloren geht, startet er die Verbindung neu und versucht, sich erneut mit ESP32 mit dem verloren.

Öffnen Sie Arduino IDE und führen Sie den Code aus.

#include /*WiFi -Bibliothek enthalten* /
const char* ssid = "abc"; /*Ssid des Netzwerks zum Verbinden*/
const char* password = "password123"; /*Passwort für SSID*/
nicht signiert langen Vorhermillis = 0;
nicht signiertes langes Intervall = 30000;
void initwifi ()
W-lan.Modus (WiFi_Sta);
W-lan.Beginnen Sie (SSID, Passwort);
Serie.print ("Anschließen mit WiFi ...");
während (WiFi.Status() != Wl_connected)
Serie.drucken('.');
Verzögerung (1000);

Serie.println (WiFi.localip ());

void setup ()
Serie.Beginnen Sie (115200);
initwifi ();
Serie.print ("rssi (WiFi -Stärke):");
Serie.println (WiFi.Rssi ());

void Loop ()
nicht signierte lange Strommillis = Millis ();
/*Wenn Bedingung zum Überprüfen der WiFi -Wiederverbindung*/
if ((WiFi.Status() != Wl_connected) && (currentMillis - vorhermillis> = intervall))
Serie.print (Millis ());
Serie.println ("Wiederverbinden mit WiFi ...");
W-lan.trennen();
W-lan.wiederverbinden ();
vorhermillis = currentMillis;

Hier im obigen Code schreiben Sie zuerst die SSID und das Passwort für das Netzwerk, das man herstellen möchte. Definieren Sie als nächstes die Millis und die Gesamtzeit, wonach ESP32 den Verbindungsstatus überprüft. Denken Sie daran, frühere Millis beim Start zu definieren, da jedes Mal, wenn der Code -Auslauf ESP32 als Referenz für die Zeit für die Berechnung von 30 -Sekunden -Zeitintervallen nimmt.

Der Code prüft das verfügbare Netzwerk, wenn das Netzwerk verfügbar ist und die korrekten Anmeldeinformationen im Code ESP32 geschrieben werden, wird automatisch mit ihm verbunden.

Ausgang auf dem Serienmonitor

Der folgende Ausgang wird auf dem Serienmonitor angezeigt. Hier können wir sehen, dass die IP -Adresse und Stärke des WLAN -Netzwerks ESP32 angeschlossen sind mit.

Notiz: RSSI -Maßnahmen in DBM und sein Wert ist negativ.

3: Wie man ESP32 WLAN mit WLAN -Ereignissen wieder verbindet

ESP32 wegen seiner WLAN -Bibliothek hat mehrere WLAN. ESP32 hat einige bestimmte Ereignisse, die automatisch ausgeführt werden, wenn ein bestimmtes Ereignis stattfindet. Danach wird automatisch eine bestimmte Funktion aufgerufen.

Im Folgenden finden Sie einige wichtige Funktionen, mit denen ESP32 o die verlorene Verbindung automatisch wiederhergestellt hat:

  • ARDUINO_EVENT_WIFI_STA_CONNECT: ESP32 im Stationsmodus mit dem Router verbunden
  • ARDUINO_EVENT_WIFI_STA_DISCONNECTED: ESP32 werden vom Router getrennt

Code für WLAN -Ereignisse

Unten finden Sie den Code für drei verschiedene Ereignisse der WLAN -Verbindung in ESP32. Öffnen Sie Arduino IDE, kompilieren Sie und laden Sie den angegebenen Code hoch.

#include /*WiFi -Bibliothek enthalten* /
const char* ssid = "abc"; /*Ssid des Netzwerks zum Verbinden*/
const char* password = "password123"; /*Passwort für SSID*/
void wifi_connected (Wifievent_t Ereignis, WifieventInfo_t Info)
Serie.println ("ESP32 WiFi, das an Access Point angeschlossen ist");

void get_ipaddress (Wifievent_t Ereignis, WifieventInfo_t Info)
Serie.println ("WiFi verbunden!");
Serie.println ("IP -Adresse von Connected WiFi:");
Serie.println (WiFi.localip ());

void wifi_disconnected (Wifievent_t Event, WifieventInfo_t Info)
Serie.println ("von WiFi getrennt");
Serie.print ("Verbindungsverluster Grund:");
Serie.println (info.getrennt.Grund);
Serie.println ("Wiederverbinden ...");
W-lan.Beginnen Sie (SSID, Passwort);

void setup ()
Serie.Beginnen Sie (115200);
W-lan.trennen (wahr);
Verzögerung (1000);
W-lan.OneVent (WiFi_Connected, System_event_sta_connected);
W-lan.ONEND (get_ipaddress, System_event_sta_got_ip);
W-lan.OneVent (WiFi_Disconnected, System_Event_Sta_Disconnected);
W-lan.Beginnen Sie (SSID, Passwort);
Serie.println ("Warten auf WLAN -Netzwerk ...");

void Loop ()
Verzögerung (1000);

Im obigen Code werden drei verschiedene Ereignisse definiert:

  • System_event_sta_connected: Wenn ESP32 mit WLAN verbunden ist
  • System_event_sta_got_ip: Wenn ESP32 die IP -Adresse des vernetzten Netzwerks erhält
  • System_event_sta_disconnected: Als ESP32 von einem Netzwerk getrennt wurde

Wenn ESP32 mit einem Netzwerk verbunden wird Wifistationconnected () Funktion wird aufgerufen. Es wird einfach drucken, dass ESP32 erfolgreich mit einem Netzwerk verbunden ist. Wir können es jedoch auch so ändern, dass es eine LED oder etwas anderes anzündet, wenn ESP32 mit einem Netzwerk verbunden wird.

Zweitens, wenn ESP32 die IP -Adresse eines Netzwerks erhält WiFigotip () Funktion wird ausgeführt. Diese Funktion wie die vorherige wird die IP -Adresse drucken.

Und das letzte Ereignis, das wir beschreiben, ist, wann die Funktion ausgeführt wird WifistationDisconnected (), Diese Funktion druckt die Nachricht, dass WLAN getrennt ist, und versucht, ESP32 mit dem WLAN -Netzwerk wieder zu verbinden.

Ausgang auf dem Serienmonitor

Die folgende Ausgabe wird im seriellen Monitor angezeigt: Es wird die IP -Adresse und eine Nachricht angezeigt, dass WLAN verbunden ist. Wenn das WLAN getrennt ist.

Wir haben das Problem der ESP32 -WLAN -Verbindung mit drei verschiedenen Methoden erfolgreich ausgesucht.

Abschluss

ESP32 WiFi wird manchmal getrennt, um drei verschiedene Methoden wieder zu verbinden. Zunächst ist es einfach, die Verbindung mit der Verbindung zu neu neu zu erstellen W-lan.Beginnen Sie (SSID, Passwort) Befehl. Die zweite Methode enthält eine konstante Überprüfung für die ESP32 -Internetverbindung und verbindet automatisch, sobald die Verbindung verloren geht. Die letzte Methode, die wir abgedeckt haben.