数码之家

 找回密码
 立即注册
搜索
查看: 1039|回复: 3

[Arduino] Esp8266低功耗模式介绍

[复制链接]
发表于 2022-11-28 11:36:05 | 显示全部楼层 |阅读模式
Esp8266提供三种睡眠模式,用户可以结合具体需求选择睡眠模式并进行配置。三种睡眠模式分别是Modem-sleep、Light-sleep、Deep-sleep。
1.    Modem-sleep
1.1.    特性
esp8266Modem-sleep仅工作在Station模式下,连接路由器后生效。esp8266通过Wi-Fi的DTIM Beacon机制与路由器保持连接。一般情况下,路由器的 DTIM Beacon间隔为100ms~1000ms。
在Modem-sleep模式下,esp8266会在两次DTIM Beacon间隔时间内,关闭Wi-Fi模块电路,达到省电效果,在下次Beacon到来前自动唤醒。睡眠时间由路由器的DTIM Beacon时间决定。睡眠同时可以保持与路由器的Wi-Fi连接,并通过路由器接收来自手机或者服务器的交互信息。
1.2.    测试Modem-sleep功耗
1.    设置esp8266Station模式,如图所示。
2.    设置睡眠模式为Modem-sleep,出厂默认也是该睡眠模式,如图所示。
3.    连接到路由器。

4.    连接后,esp8266自动进入Modem-sleep睡眠模式,也会自动唤醒,如图所示,最大电流69.8mA,最小电流14.4mA,平均电流17.5mA。

5.    进行TCP client单连接

6.    此时电流消耗如所示,平均电流增大至19mA。如图所示。
7.    esp8266进入透传模式,每隔1秒发送20字节的电流消耗,如图所示
2.    Light-sleep
2.1.    特性
Light-sleep的工作模式与Modem-sleep相似,仅工作在Station模式下,连接路由器后生效。station模式不同的是,除了关闭Wi-Fi模块电路以外,在Light-sleep模式下,还会关闭时钟并暂停内部CPU,比Modem-sleep功耗更低。
在Light-sleep模式下,CPU在暂停状态下不会响应来自外围硬件接口的信号和中断,因此需要通过外部GPIO信号将esp8266唤醒,硬件唤醒过程大约为3ms。由于Wi-Fi初始化过程需要大约1ms,所以建议用户5ms之后再对芯片进行操作。
2.2.    测试Light-sleep功耗
1.    设置esp8266station模式,如图所示。
2.    设置睡眠模式为Light-sleep,如图所示。
3.    设置Light-sleep睡眠模式的唤醒源和唤醒引脚。
相关指令如下,以GPIO唤醒为例:
AT+SLEEPWKCFG=0,1000  //定时器唤醒,1000ms后唤醒
AT+SLEEPWKCFG=2,12,0  //GPIO 12唤醒,低电平

4.    连接到路由器。

5.    连接成功后,CPU处于空闲状态时,会自动进入Light-sleep状态。此时发送AT指令等操作可能失败。此时的功耗如图所示,平均电流约8.5mA。
6.    将GPIO 12保持低电平,模块被唤醒。将GPIO 12保持高电平,模块会自动进入Light-sleep状态。
3.    Deep-sleep
3.1.    特性
相对于其他两种模式,系统无法自动进入deep sleep,需要由用户发送AT指令AT+GSLP来控制。在该模式下,芯片会断开所有Wi-Fi连接与数据连接,进入睡眠模式,只有RTC模块仍然工作,负责芯片的定时唤醒。
3.2.    测试Deep-sleep功耗
1.    先将esp8266GPIO 16与RST短接,用于Deep-sleep自动唤醒。
2.    无论esp8266处于什么Wi-Fi模式,Wi-Fi是否连接,使其进入Deep-sleep,如图所示。
将AT+GSLP=900000,使模块长期处于深度睡眠,便于测试,此时功耗如图所示,平均电流约267uA。
3.    自动唤醒
进入Deep-sleep 10秒后,模块通过GPIO 16给RST引脚一个低电平脉冲,模块即可被重启并被唤醒,如图所示。
4.    外部唤醒
在Deep-sleep状态下,可以通过外部IO在模块RST引脚上产生一个低电平脉冲,模块即可被重启并被唤醒。唤醒时间 3-5s

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
发表于 2022-11-28 13:01:18 | 显示全部楼层
做的很详细  感觉测试设备也很高大上
回复 支持 反对

使用道具 举报

发表于 2022-11-28 21:47:04 | 显示全部楼层
我用正常模式,WiFi正常通信,随时收发。
还有 DeepSleep模式,模块休眠,耗电微安级别,定时唤醒,或者外部中断唤醒。
回复 支持 反对

使用道具 举报

发表于 2022-11-30 17:19:07 | 显示全部楼层
这个只是AT模式的,而且deepsleep也没讲完全,deepsleep硬件接好的话,可以定时唤醒的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-4-25 17:12 , Processed in 0.156000 second(s), 11 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表