# ESP8266 WLAN auto-reconnect

**URL:** <https://forum.arduino.cc/t/esp8266-wlan-auto-reconnect/594267>\
**Category:** Deutsch\
**Created:** [May 29, 2019, 9:26am UTC](https://forum.arduino.cc/t/esp8266-wlan-auto-reconnect/594267 "2019-05-29T09:26:50Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Chris72622](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/chris72622/32/215363_2.png) [@Chris72622](https://forum.arduino.cc/u/Chris72622)\
**Post date:** [May 29, 2019, 9:26am UTC](https://forum.arduino.cc/t/esp8266-wlan-auto-reconnect/594267/1 "2019-05-29T09:26:50Z")

</div>

Hallo,

ich such mir grad nen Wolf, find aber nix.

Was ich suche ist eine Routine, die einen ESP8266 nach einer WLAN-Verbindungsunterbrechung automatisch dazu veranlasst, sich erneut zu verbinden.

Gruß Chris

---

<div class="post-metadata">

**Author:** ![Derfips](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/derfips/32/239088_2.png) [@Derfips](https://forum.arduino.cc/u/Derfips)\
**Post date:** [May 29, 2019, 9:32am UTC](https://forum.arduino.cc/t/esp8266-wlan-auto-reconnect/594267/2 "2019-05-29T09:32:46Z")

</div>

```cpp
if (WiFi.status() != WL_CONNECTED) Connect();

```

Gruß Fips

---

<div class="post-metadata">

**Author:** ![combie](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/combie/32/217369_2.png) [@combie](https://forum.arduino.cc/u/combie)\
**Post date:** [May 29, 2019, 10:07am UTC](https://forum.arduino.cc/t/esp8266-wlan-auto-reconnect/594267/3 "2019-05-29T10:07:04Z")

</div>

> Was ich suche ist eine Routine, die einen ESP8266 nach einer WLAN-Verbindungsunterbrechung automatisch dazu veranlasst, sich erneut zu verbinden.

Das ist doch das Standard Verhalten eines ESP, oder nicht?

---

<div class="post-metadata">

**Author:** ![amithlon](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/amithlon/32/1128454_2.png) [@amithlon](https://forum.arduino.cc/u/amithlon)\
**Post date:** [May 29, 2019, 11:33am UTC](https://forum.arduino.cc/t/esp8266-wlan-auto-reconnect/594267/4 "2019-05-29T11:33:51Z")

</div>

Hallo,

> combie:  
> Das ist doch das Standard Verhalten eines ESP, oder nicht?

ja, ist es und manchmal schneller als man denkt. Ist mein Bekannter letztens drauf reingefallen, der hat das Connect-Event eingebunden, das hat aber manchmal nicht gefeuert, weil der ESP nach Reset schon online war, bevor der Event-Handler im Sketch angemeldet wurde...  
WL\_CONNECTED kann auch tückisch sein, weil es connected meldet wenn er am Router ist. Man sollte auch auf gotIP abfragen, wenn der DHCP mal länger braucht, kann man sonst noch nicht sinnvoll weitermachen, z.B. beim MQTT-Broker anmelden.

Gruß aus Berlin  
Michael

---

<div class="post-metadata">

**Author:** ![Rentner](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/rentner/32/601027_2.png) [@Rentner](https://forum.arduino.cc/u/Rentner)\
**Post date:** [May 29, 2019, 11:54am UTC](https://forum.arduino.cc/t/esp8266-wlan-auto-reconnect/594267/5 "2019-05-29T11:54:38Z")

</div>

Hallo,

falls Du nicht genau weisst was Du mit der Zeile von Fips anfangen sollst.

schreibe die Zeile mit in den loop. connect() ist eine function in der die Verbindung dann hergestellt wird. Du musst natürlich noch überlegen was du ansonsten noch machst wenn keine Verbingung hergestellt werden kann, hängt aber von Deiner Anwendung ab.

bei mir sieht das so aus.  
Heinz

```cpp
setup(){

WIFI_login();
.
.
}

loop{

 if (WiFi.status() != WL_CONNECTED) WIFI_login();

.
.
.

}

void WIFI_login() {
  WiFi.persistent(false);   // daten nicht in Flash speichern
  WiFi.mode(WIFI_STA);
  Serial.printf("Connecting to %s ", ssid);
  WiFi.begin(ssid, password);
  WiFi.config(staticIP, gateway, subnet);
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(".");
  }
  Serial.println(" connected");
  Serial.print("local IP:");
  Serial.println(WiFi.localIP());

}

```

Edit: Hinweis von Tommy geändert, danke

---

<div class="post-metadata">

**Author:** ![Tommy56](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/tommy56/32/232943_2.png) [@Tommy56](https://forum.arduino.cc/u/Tommy56)\
**Post date:** [May 29, 2019, 12:07pm UTC](https://forum.arduino.cc/t/esp8266-wlan-auto-reconnect/594267/6 "2019-05-29T12:07:05Z")

</div>

Kleine Korrektur - der Kommentar ist falsch. Das wird im Flash, nicht im EEPROM abgelegt.

```cpp
WiFi.persistent(false);  // daten nicht in EEprom

```

Gruß Tommy

---

<div class="post-metadata">

**Author:** ![amithlon](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/amithlon/32/1128454_2.png) [@amithlon](https://forum.arduino.cc/u/amithlon)\
**Post date:** [May 30, 2019, 8:05am UTC](https://forum.arduino.cc/t/esp8266-wlan-auto-reconnect/594267/7 "2019-05-30T08:05:58Z")

</div>

Hallo,

> Tommy56:  
> Kleine Korrektur - der Kommentar ist falsch. Das wird im Flash, nicht im EEPROM abgelegt.
> 
> ```arduino
> WiFi.persistent(false);  // daten nicht in EEprom
> 
> ```

naja, alles ist relativ, da der ESP8266 ja sowieso keinen EEPORM hat. 😉

Ich schalte es nicht ab, er soll ja reconnecten und da die 24/7 laufen und immer im selben WLAN sind, leben die auch alle noch.

Gruß aus Berlin  
Michael

---

<div class="post-metadata">

**Author:** ![Tommy56](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/tommy56/32/232943_2.png) [@Tommy56](https://forum.arduino.cc/u/Tommy56)\
**Post date:** [May 30, 2019, 9:56am UTC](https://forum.arduino.cc/t/esp8266-wlan-auto-reconnect/594267/8 "2019-05-30T09:56:11Z")

</div>

Der EEPROM ist eine Emulation im Flash. Ich wollte nur vermeiden, dass jemand denkt, da wäre ein EEPROM drin.  
Für 24/7 ist das auch ok, aber für die "Experimentierprozessoren", die laufend gebootet werden, macht es schon Sinn.

Gruß Tommy

---

<div class="post-metadata">

**Author:** ![Rentner](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/rentner/32/601027_2.png) [@Rentner](https://forum.arduino.cc/u/Rentner)\
**Post date:** [May 30, 2019, 10:05am UTC](https://forum.arduino.cc/t/esp8266-wlan-auto-reconnect/594267/9 "2019-05-30T10:05:36Z")

</div>

Hallo,  
mit Bezug auf

[esp8266wifi/generic-class.rst](https://github.com/esp8266/Arduino/blob/master/doc/esp8266wifi/generic-class.rst)

Ich hab das eigendlich so verstanden das das automatische Verbinden beim starten gemacht wird oder beim aufwecken, also vor setup(). Wenn wärend des loop die Verbindung verloren geht muss man halt neu verbinden. Wenn das dann dauerhaft nicht klappt würde mit WIFI.begin() bei jedem Versuch in den Flash geschrieben. Um das zu vermeiden gibt es WiFi.persistent(false).

ich hab das aber noch nicht wirklich ausprobiert, kann also sein das ich mich da irre.

Heinz

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [May 6, 2021, 1:44pm UTC](https://forum.arduino.cc/t/esp8266-wlan-auto-reconnect/594267/10 "2021-05-06T13:44:16Z")

</div>

Closed on May 6, 2021, 1:44pm UTC


