Forum: Mikrocontroller und Digitale Elektronik ESP8266 (ESP-1) wakeup Details


von Rainer U. (r-u)


Lesenswert?

Ich versuche gerade zu verstehen, wie man den ESP2866 aus dem Tiefschlaf 
(deep sleep) wieder wecken kann, außer über einen Timer.

Reicht ein Flankenwechsel an einem (welchem?) IO-Pin (L->H oder H_>L), 
oder muss man immer wie bei Reset (H->L->H) schalten, damit er wach 
wird?

von Mick (Gast)


Lesenswert?

Du kannst den Reset Pin verwenden. Schalten auf GND.

von Rainer U. (r-u)


Lesenswert?

Das wäre ja genau in meinem Sinne -

Aber läuft er dann schon los während RESET auf L ist (hast Du das 
probiert), oder erst, wenn der Reset wieder auf H ist?

von Timmo H. (masterfx)


Lesenswert?

Eigentlich sollte er erst wieder bei "H" loslaufen.

von Johannes S. (8n1) (Gast)


Lesenswert?

Der läuft erst los wenn Reset wieder HIGH ist.
Das ist aber bei Mikrocontrollern glaub generell der Normallfall.

Ich stand bei einem Projekt vor dem gleichen Problem(ESP soll durch 
einen Flankenwechsel HIGH->LOW und auch LOW->HIGH aufwachen) und hab das 
mit einem externen µc (ATTiny -> PinChange Interrupt und Power-down) 
gelöst.
Der ATtiny toggelt dabei aber nicht den Reset Pin des ESP(CH_PD toggeln 
wäre auch möglich) sondern aktiviert den 3V3 Spannungsregler den ich 
sowieso brauche über dessen Enable/Shutdown Pin.

von Rainer U. (r-u)


Lesenswert?

Johannes S. (8n1) schrieb:
> Ich stand bei einem Projekt vor dem gleichen Problem(ESP soll durch
> einen Flankenwechsel HIGH->LOW und auch LOW->HIGH aufwachen)

Und hat es mit nur einer der beiden Flanken funktioniert? Also jetzt 
nicht nur das RESET wieder auf H, sondern das Wecken aus dem Tiefschlaf, 
mit vorher geringstem Stromverbrauch?

Extern beschalten geht immer, aber falls es vermeidbar ist..

von Rainer U. (r-u)


Lesenswert?

Hier nochmal ein Auszug aus dem "Datenblatt"

8.4.2
General Purpose IO

There are up to 16 GPIO pins. They can be assigned to various functions 
by the firmware. Each GPIO can be configured with internal pull-up/down, 
input available for sampling by a software register, input triggering an 
edge or level CPU interrupt, *input triggering a level wakeup 
interrupt*, open-drain or push-pull output driver, or output source from 
a software register, or a sigma-delta PWM DAC.

Aber es steht irgendwie nirgends (oder ich habe es nicht gefunden) wie 
man einen Pin so einstellt

von Johannes S. (8n1)


Lesenswert?

Über einen Interrupt aufwachen ist wohl nicht möglich.
Es gibt da zwar eine auf den ersten Blick vielversprechende Funktion 
(gpio_pin_wakeup_enable), das klappt aber laut hier(1, 2, 3) nur im 
Light Sleep.

Mein Datenblatt sagt es sind 17 GPIOs: :/
http://bbs.espressif.com/download/file.php?id=714 (PDF: 
0A-ESP8266__Datasheet__EN_v4.4.pdf)

1)http://bbs.espressif.com/download/file.php?id=536 (PDF: 
9B-ESP8266__Sleep__Function Description__EN_v1.0.pdf)
2)http://bbs.espressif.com/viewtopic.php?t=215 (Forum Thread)
3)http://bbs.espressif.com/viewtopic.php?t=259 (Forum Thread)


Die zwei pdfs stammen von hier:
http://bbs.espressif.com/viewtopic.php?f=67&t=225 (Complete Listing of 
Documentation Released)
bzw. hier:
http://bbs.espressif.com/viewtopic.php?f=21&t=412&p=1545#p1545 
([Document list 0A-0D] ESP8266 Hardware Guide)

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.