测试硬件:
唤醒功能需要飞线,把RST跟GPIO16连接在一起。
如图:
唤醒原理:定时器到时间后gpio16发出一个电平信号到RST引脚,使8266复位。
测试代码:
#include <ESP8266WiFi.h>
#define WLAN_SSID "sky"
#define WLAN_PASS "00000000"
void setup() {
Serial.begin(115200);
delay(10);
pinMode(LED_BUILTIN, OUTPUT);
// Connect to WiFi access point.
Serial.println(); Serial.println();
Serial.print("Connecting to ");
Serial.println(WLAN_SSID);
WiFi.begin(WLAN_SSID, WLAN_PASS);
while (WiFi.status() != WL_CONNECTED) {
digitalWrite(LED_BUILTIN, LOW);
delay(500);
digitalWrite(LED_BUILTIN, HIGH);
delay(500);
Serial.print(".");
}
Serial.println();
Serial.println("WiFi connected");
Serial.println("IP address: "); Serial.println(WiFi.localIP());
}
void loop() {
ESP.deepSleep(10 * 1000000);//10秒
}
效果:连接上wifi之后进入睡眠,10秒后会唤醒。
这个开发板连接上wifi之后电流(5v)100ma,睡眠后也有30ma,可能是外围器件的损耗。
参考资料:http://www.yfrobot.com/thread-11978-1-1.html
https://www.esp8266.com/wiki/doku.php?id=esp8266_power_usage