ESP8266 – ESP8266WiFiGeneric库 – setSleepMode

位置导航: ESP8266库 / ESP8266WiFiGeneric库 / 本页

说明

设置ESP8266的睡眠模式,从而使ESP8266降低功耗,达到节能的目的。以下是ESP8266的三种睡眠模式介绍:

WIFI_NONE_SLEEP
– 此模式将打开ESP8266所有的功能并将长期处于此状态, 缺点也是不言而喻的增大功耗;
– 但是对于ESP8266初学者,这里还是建议使用此模式进行调试和开发,因为在不进行产品开发的前提下,使用此模式不会给您带来丢包和重连等问题;

WIFI_MODEM_SLEEP
– 这是ESP8266的默认睡眠方式,但此模式仅在无线终端模式下正常运行,而且只有当您连接到WiFi的时候才生效;
– 当您设置了WIFI_MODEM_SLEEP模式并且成功连接WiFi之后,它会在ESP8266与路由器传递消息的间隔内关闭WIFI连接电路来达到节能的目的。ESP8266可以在下一次通讯到来之前自动唤醒WIFI电路来确保其工作;
– 如果您使用干电池或者是您的设备不能持久供电的情况下,可以考虑采用此模式

WIFI_LIGHT_SLEEP
– 此模式在WIFI_MODEM_SLEEP基础上还会暂停ESP8266的CPU、系统时钟等,从而达到比前者更加节能的目的。

语法

WiFi.setSleepMode(type, listenInterval)
WiFi.setSleepMode(type)

参数

type: 此参数用于设置睡眠模式。ESP8266开发板一共有以下几种睡眠模式。
WIFI_NONE_SLEEP (非睡眠模式)
WIFI_LIGHT_SLEEP (轻度睡眠)
WIFI_MODEM_SLEEP (深度睡眠)

listenInterval:睡眠间隔时间, 单位毫秒。(参数类型: int)

返回值

返回值类型为布尔型。
设备成功进入指定睡眠模式,返回值为true。否则返回值为false。

示例程序

关于本函数的具体使用方法,请参考以下代码,尤其是代码中高亮的语句部分。

当您将WiFi连接信息修改后并且将本示例程序上传ESP8266开发板后,开发板随即会自动连接WiFi。WiFi连接成功后,ESP8266将会定时向www.example.com网站发送HTTP请求,并且将该网站服务器的响应信息显示在串口监视器中。

请留意在以下示例程序中,我们使用了WiFi.setSleepMode(WIFI_LIGHT_SLEEP); 对ESP8266的睡眠模式进行了设置。

位置导航: ESP8266库 / ESP8266WiFiGeneric库 / 本页