ESP32 verbindet sich nicht mit dem WLAN-Netzwerk – beheben
English
Deutsch
Wenn Sie ein Programm wie unser minimales ESP32-WLAN-Beispiel verwenden:
example-5.txt
#include <WiFi.h>
void setup() {
Serial.begin(115200);
WiFi.begin("MyWifiNetworkName", "MyWifiPassword");
while (WiFi.status() != WL_CONNECTED) {
Serial.println("Wifi connecting...");
delay(500);
}
Serial.println("Wifi connected");
}
void loop() {
// Platzieren Sie hier Ihren Hauptcode, der wiederholt ausgeführt wird:
}und Sie nur eine Schleife von
example-4.txt
Meldungen sehen, drücken Sie die RESET-Taste Ihres Boards (oder trennen Sie die Stromversorgung und verbinden Sie sie erneut zum Zurücksetzen) und versuchen Sie es erneut. Wenn Sie nach 5 Versuchen immer noch nur Wifi connecting...-Meldungen sehen, sind Ihre WLAN-Zugangsdaten höchstwahrscheinlich falsch oder der ESP32 kann Ihr WLAN-Netzwerk nicht sehen!
Wenn Ihr ESP32 sich manchmal fast sofort mit dem WLAN-Netzwerk verbindet und manchmal scheinbar gar nicht verbindet, verwenden Sie stattdessen diesen Code, um den ESP32 automatisch zurückzusetzen, wenn er sich nicht innerhalb von 5 Sekunden verbindet:
example-3.cpp
uint32_t notConnectedCounter = 0;
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.println("Wifi connecting...");
notConnectedCounter++;
if(notConnectedCounter > 150) { // Board zurücksetzen, wenn nach 15s keine Verbindung besteht
Serial.println("Reset aufgrund von Wifi-Verbindungsfehler...");
ESP.restart();
}
}Vollständiges Beispiel:
example-2.cpp
#include <WiFi.h>
void setup() {
Serial.begin(115200);
WiFi.begin("MyWifiSSID", "MyWifiPassword");
// Auf WLAN-Verbindung warten
uint32_t notConnectedCounter = 0;
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.println("Wifi connecting...");
notConnectedCounter++;
if(notConnectedCounter > 150) { // Board zurücksetzen, wenn nach 5s keine Verbindung besteht
Serial.println("Reset aufgrund von Wifi-Verbindungsfehler...");
ESP.restart();
}
}
Serial.print("Wifi verbunden, IP-Adresse: ");
Serial.println(WiFi.localIP());
}
void loop() {
// Platzieren Sie hier Ihren Hauptcode, der wiederholt ausgeführt wird:
}Alternativ verwenden Sie diese Funktion:
example-1.cpp
* Auf WLAN-Verbindung warten, und bei Nichtverbindung neu starten
*/
void waitForWiFiConnectOrReboot(bool printOnSerial=true) {
uint32_t notConnectedCounter = 0;
while (WiFi.status() != WL_CONNECTED) {
delay(100);
if(printOnSerial) {
Serial.println("Wifi connecting...");
}
notConnectedCounter++;
if(notConnectedCounter > 150) { // Board zurücksetzen, wenn nach 5s keine Verbindung besteht
if(printOnSerial) {
Serial.println("Reset aufgrund von Wifi-Verbindungsfehler...");
}
ESP.restart();
}
}
if(printOnSerial) {
// WLAN-IP-Adresse ausgeben
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
}Check out similar posts by category:
Arduino, ESP8266/ESP32, PlatformIO
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow