mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ESP8266 + deep sleep mode


Autor: Alexander B. (alexander95)
Datum:

Bewertung
0 lesenswert
nicht 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:
  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

Autor: Arduino Fanboy D. (ufuf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alexander B. schrieb:
> Allerdings
> möchte ich nur das WIFI deaktivieren

WiFi.mode(WIFI_OFF);

???

Autor: G. H. (schufti)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht 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
  ESP.deepSleep(WAIT, RF_DISABLED);    
  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
  ESP.deepSleep(WAIT, RF_CAL);    
  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
Autor: Arduino Fanboy D. (ufuf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meine ESP haben kein EEProm...
;-) ;-)

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.