esp8266 深度睡眠初探

 esp8266是乐鑫公司开发的一片具有较高性价比的wifi芯片。它既可以用厂家提供的ide开发,也可以较为简便的用arduino开发。

    但是在实际使用中发现esp8266的功耗较大,这在使用电池的场合是个问题,为此笔者用arduino进行了低功耗实验。esp8266有深度睡眠模式。以下程序就使用该模式。

通过实验发现,esp8266进入深睡后,工作电流在毫安表上读不出,从深度睡眠唤醒后电流为20到40毫安之间。可见,进入深度睡眠后功耗大大降低。以下就是arduino程序。

#include <Arduino.h>

 

int num_sleep = 5;//设置深度睡眠时间为5秒钟

void setup() {

  Serial.begin(9600);//串口启用

// 设置D0为深度睡眠唤醒脚

  //  将D0与RST脚连接,

  pinMode(D0,WAKEUP_PULLUP);

}

   

void loop() {

  

//  进入深度睡眠模式,5秒后自动唤醒

  ESP.deepSleep(num_sleep * 1000000, RF_DEFAULT);

}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ESP8266是一款低功耗的Wi-Fi模块,它支持深度休眠功能,可以有效地降低功耗。在深度休眠模式下,ESP8266将进入低功耗状态,以达到节能的目的。 要使用ESP8266的深度休眠功能,你需要按照以下步骤进行设置: 1. 在你的代码中包含ESP8266的休眠库:`#include <ESP8266WiFi.h>` 2. 调用以下函数以设置深度休眠模式: ```cpp ESP.deepSleep(time_in_microseconds); ``` `time_in_microseconds`参数指定了ESP8266要休眠的时间,单位为微秒。注意,ESP8266只能在唤醒之后重新启动,所以你需要设置一个唤醒源来唤醒它。 3. 选择一个唤醒源来唤醒ESP8266。常见的唤醒源有定时器唤醒、外部中断唤醒和GPIO唤醒。你可以根据自己的需求选择合适的唤醒源。例如,使用定时器唤醒: ```cpp ESP.deepSleep(time_in_microseconds, WAKE_RF_DEFAULT); ``` 这将设置ESP8266在指定时间后由RF唤醒。 4. 在你的代码中处理唤醒事件。当ESP8266被唤醒时,它将执行唤醒后的代码。你可以使用以下函数来判断ESP8266是被唤醒还是正常启动: ```cpp if (ESP.getResetReason() == ESP_DEEPSLEEP_RESET) { // 进入深度休眠后的代码 } else { // 正常启动的代码 } ``` 通过以上步骤,你可以在ESP8266中实现深度休眠功能,以降低功耗并延长电池寿命。请注意,具体的实现细节可能会根据你的应用场景和需求而有所不同,你可以根据自己的情况进行相应的调整和改进。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值