WiFi.persistent(false) <--> WiFi.persistent(true)

Hi,

hab mal ne Frage zu dem Befehl WiFi.persistent();

Liege ich damit richtig:
WiFi.persistent() steht defaultmäßig auf true und sorgt dafür, dass nach einem "WiFi.begin(ssid, password)" die SSID und das Passwort im Flash gespeichert werden. Ab dann brauche ich quasi nur noch Wifi.begin(ohne Parameter) aufrufen (oder gar nichts mehr) und die Zugangsdaten holt sich der liebe ESP selbstständig aus dem Flash. Liege ich soweit richtig?

Aber:
Damit die Zugangsdaten überhaupt mal in den Flash gelangen, muss ja zumindest einmal Wifi.begin(ssid, password) ausgeführt werden. D.h. wenn ich einen wiederverwendbaren Sketch schreiben will (also den ich auch mal auf einen neuen ESP hochladen will, der noch nichts im Flash gespeichert hat), kann ich zwar das machen

WiFi.persistent(true);
WiFi.begin(ssid, password);

hätte aber mit dem hier das gleiche Ergebnis:


WiFi.persistent(false);
WiFi.begin(ssid, password);

Somit sehe ich noch nicht wirklich einen Vorteil von Wifi.persistent(true).

Ich bin verwirrt.

Hi @basementmedia,

schau mal hier...

http://www.franksalomon.de/123456/esp8266/index.html

Dort gibt's auch ein Beispiel für die Nutzung.

In Kürze:

  • Im setup() prüfen, ob eine WiFi-Verbindung bereits besteht, dann ohne, anderenfalls mit WiFi.begin() weiter.

Aber wenn bereits eine WiFi-Verbindung besteht, muss ich mich doch gar nicht mehr Verbinden, auch nicht ohne ssid und password, oder? Dann brauch ich ja auch kein WiFi.begin();

Und wenn noch keine besteht, brauch ich WiFi.begin(ssid, password);

Oder denk ich zu kompliziert?

Vielleicht... :wink:

Es geht darum, bei einem Neustart des Boards die bestehenden Daten zu verwenden, ohne diese erneut zu flashen. Letztlich also, um unnötigen "Verschleiß" des Flashspeichers zu vermeiden.

Zitat aus dem Link

Der ESP8266 benutzt einen Teil des Flash-Speichers als EEPROM. Dieser kann nur begrenzt oft beschrieben werden. EEPROMs koennen ca. 1000000 mal beschrieben werden. Der Flash-Speicher nicht. Meine Empfehlung wenn der Chip lange halten soll:

1 Like

Der Vorteil von persistent(false) ist, dass nicht bei jedem Neustart die Daten ins Flash geschrieben werden.

Gruß Tommy

1 Like

Die beiden Inhalte haben im Flash nichts miteinander zu tun. Die EEPROM-Emulation liegt in einem anderen Speicherbereich, als die WiFi-Daten.

Gruß Tommy

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.