2. Modem sleep

当ESP8266连接到Wi-Fi时才会启用此模式。在该模式下,ESP8266在两个DTIM信标间隔之间关闭Wi-Fi模块。ESP8266在下一个Beacon之前再次打开Wi-Fi模块。当需要保持CPU开启时,使用睡眠模式。

3. Light sleep

这种模式和Modem sleep模式非常相似,但在该模式下,ESP8266暂停CPU并关闭时钟。此模式比以前的模式更有效。在Light sleep模式下,应使用GPIO引脚唤醒ESP8266。

4. Deep-sleep

在此模式下,除RTC(实时时钟)外,一切都将关闭,因此ESP8266可以定期打开。这是最有效的模式。深度睡眠模式可用于设备应以特定间隔发送数据的情况。这是使用传感器的应用程序的示例。应用程序读取传感器数据,发送值并进入深度睡眠模式。

三、如何在ESP8266中使用能耗管理来降低功耗

小隐用一个简单的例子来描述如何使用深度睡眠模式来处理物联网中的能耗管理。假设我们的应用程序必须读取温度并将其发送到远程IoT平台。应用程序结构则必须是:

从传感器读取数据

发送数据

进入深度睡眠模式预定义的时间间隔

从***步开始重复

如何在ESP8266中启用深度睡眠模式:

***步是启用深度睡眠模式。如图:

在这种情况下,我们将引脚D0连接到RST。将代码上传到ESP8266时,避免将D0连接到RST。

代码如下:

#include 《ESP8266WiFi.h》 const char* WIFI_SSID=“---”; const char* WIFI_PWD=“----”; void setup() { Serial.begin(9600); connectToWifi(); // send data Serial.println(“Going to deep sleep for 15 sec”); ESP.deepSleep(15e6); } void loop() { // put your main code here, to run repeatedly: } void connectToWifi() { Serial.print(“ConnecTIng to Wifi:”); Serial.println(WIFI_SSID); WiFi.begin(WIFI_SSID, WIFI_PWD); while (WiFi.status() != WL_CONNECTED) { if (WiFi.status() == WL_CONNECT_FAILED) { Serial.println(“Error during WiFi connecTIon- ”); delay(10000); } delay(1000); } Serial.print(“Wifi IP:”); Serial.println(WiFi.localIP()); }

如此,ESP8266进入深度睡眠模式15秒。当它醒来时,它会从头开始,连接到Wi-Fi,依此类推。可以使用这种方法使用按钮启动它来唤醒ESP8266。

结语:希望此文能帮助大家认识到能耗管理在物联网设备管理中的重要性。

责任编辑:Ct

关于物联网就介绍完了,您有什么想法可以联系小编。