Forum: Mikrocontroller und Digitale Elektronik ESP8266 + deep sleep mode


von Alexander B. (alexander95)


Lesenswert?

Hey,

ich würde gerne meinen ESP8266 in den deepsleep modus setzen. Allerdings 
möchte ich nur das WIFI deaktivieren solange zum Beispiel ein button 
nicht gedrückt wurde. Ich arbeite mit der Arduino IDE und habe herraus 
gefunden, das ich mit:
1
  ESP.deepSleep(sleepTime, MODE);

noch einen mode mit übergeben kann. Weiss jemand von euch ob es dafür 
einen Mode gibt und ob man während dessen noch eine Abfrage machen kann?

LG
Alex

von Einer K. (Gast)


Lesenswert?

Alexander B. schrieb:
> Allerdings
> möchte ich nur das WIFI deaktivieren

WiFi.mode(WIFI_OFF);

???

von G. H. (schufti)


Lesenswert?

deepSleep ist deepSleep. Da tut sich gar nichts bis wieder aufgewacht 
wird.
Die Modes steuern grob, ob dir nach dem Aufwachen WiFi zur Verfügung 
steht oder nicht; ist es aus, bleibt es aus bis zum nächsten Poweroff 
oder deepSleep mit akt. WiFi-Mode.

Wenn nur WiFi aus sein soll siehe Vorpost, oder frage Tante Googel nach 
"modemsleep" im Zusammenhang mit esp8266.

von Michael U. (amiga)


Lesenswert?

Hallo,

Bedingung ist natürlich, daß GPIO16 mit Reset verbunden ist, damit er 
sich selber wieder wecken kann, sonst bleibt er im DeepSleep bis Reset 
oder PowerOff/On.

Die komplette Abschaltung geht mit
1
  ESP.deepSleep(WAIT, RF_DISABLED);    
2
  delay(100);

WAIT auf 1 setzen, dann startet er parktisch gleich wieder ohne WLAN.
Die Stromaufnahme des Moduls ist dann ca, 15mA statt 85mA.

Wieder einschalten dann mit
1
  ESP.deepSleep(WAIT, RF_CAL);    
2
  delay(100);

Wenn sich nicht im SDK irgendwas geändert hat, ist das komplette 
Abschalten des WLAN nur so möglich.

Natürlich daran denken, daß man im Programm dafür sorgen muß, was 
passiert, also Flags o.ä. im EEPROM hinterlegen, damit beim Start klar 
ist, was das Progrmm machen soll.

Sinn kann es machen, wenn man z.B. alle paar Minuten Sensoren abgraft, 
die eine recht lange Zeit brauchen, bis siegültige Werte liefern.
ESP schalfen schicken, Wecken ohne WLAN, Messungen machen, Werte ins 
EEPROM und schlafen schicken mit RF_CAL.
Beim Aufwachen Werte aus dem EEPROM holen und versenden und wieder 
schalfen schicken.
Kann bei Batteriebetrieb etliches sparen.

http://bbs.espressif.com/viewtopic.php?t=133

Gruß aus Berlin
Michael

: Bearbeitet durch User
von Einer K. (Gast)


Lesenswert?

Meine ESP haben kein EEProm...
;-) ;-)

von Michael U. (amiga)


Lesenswert?

Hallo,

Arduino F. schrieb:
> Meine ESP haben kein EEProm...
> ;-) ;-)

psssst... sag dem ESP das bloß nicht, sonst mussen wir dieA 
rduino-Funktionen in virtualEEPROM_im_FLASH.write() usw. umbenennen und 
das gibt dann Probleme... ;-) ;-)

Gruß aus Berlin
Michael

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.