Pin RST w pracującym ESP8266 ma zawsze stan wysoki. Jeśli podamy mu stan niski zrestartuje mikrokontroler.
Jeśli wprowadzimy ESP8266 w stan głębokiego uśpienia za pomocą metody ESP.deepSleep(czas w mikrosekundach) po upływie podanego przez nas czasu mikrokontroler wyśle na GPIO16 stan niski. Jeśli fizycznie połączymy Reset z GPIO 16 mikrokontroler zostanie zresetowany. To cała idea wybudzania ESP8266 z głębokiego uśpienia po zadanym czasie.
Kod
Pamiętajmy, że na czas wysyłania kodu RST z GPIO16 nie może być połączony.
#include <Arduino.h>
#define LED D1
void setup() {
pinMode(LED, OUTPUT);
// 15 sekund mrugania diody
for (int i = 0; i < 15; i++) {
digitalWrite(LED, LOW);
delay(500);
digitalWrite(LED, HIGH);
delay(500);
}
// 15 sekund uśpienia
ESP.deepSleep(15e6);
}
void loop() {
}
Połączenie
Pobór prądu
Mruganie ~ 68mA
Głębokie uśpienie ~ 0,125 mA