乐鑫技术交流
直播中

李斌

7年用户 1422经验值
私信 关注
[问答]

NodeMCU 12E esp 8266深度睡眠的功耗问题求解

我正在使用 NodeMCU 12E esp8266,我连接到 Wifi,在 GPIO 2 上测量温度,将它发送到数据库,然后我用这个命令 ESP.deepSleep(1200e6) 进入睡眠状态。功耗始终在 77mA 左右,数据表显示功耗应在 20 毫安培左右。请帮忙。
威廉希尔官方网站 板进入深度睡眠 20 分钟并唤醒,没问题,但深度睡眠中的功耗是个问题。这是代码:
代码:全选#include
#include
#include "ESP8266WiFi.h"
#include
#include

const char* ssid = "njka Local";
const char* password = "!3bNwjSf9";

const char* serverName = "http://controltemp.online/emmezeta/connect_dako.php";

String sensid = "dse1p2";

const int oneWireBus = 2;

OneWire oneWire(oneWireBus);

DallasTemperature sensors(&oneWire);

void setup() {
  Serial.begin(115200);

  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED)
  {
     delay(500);
     Serial.print("*");
  }

  sensors.begin();

  sensors.requestTemperatures();
  float temperatureC = sensors.getTemPCByIndex(0);

  if(WiFi.status()== WL_CONNECTED){

    HTTPClient http;

    http.begin(serverName);

    http.addHeader("Content-Type", "application/x-www-form-urlencoded");

    String httpRequestData = "&sensid=" + sensid + "&temp1=" +
String(temperatureC) + "";
    Serial.print("httpRequestData: ");
    Serial.println(httpRequestData);

    int httpResponseCode = http.POST(httpRequestData);

    if (httpResponseCode>0) {
      Serial.print("HTTP Response code: ");
      Serial.println(httpResponseCode);
    }
    else {
      Serial.print("Error code: ");
      Serial.println(httpResponseCode);
    }
    // Free resources
    http.end();
  }
  else {
    Serial.println("WiFi Disconnected");
  }
  //Send an HTTP POST request every 20 minutes
  ESP.deepSleep(1200e6, WAKE_RF_DEFAULT);
}

void loop() {

}


               


                        

回帖(1)

从未拥有

2024-5-28 16:13:00
您可以尝试以下方法来解决 NodeMCU 12E esp 8266深度睡眠的功耗问题:

1. 确保所有不必要的传感器和组件在进入睡眠状态之前已经关闭或断电。这将有助于降低功耗。

2. 将 NodeMCU 12E esp 8266进入睡眠状态前,使用 ESP.deepSleepInstant() 命令来降低功耗。

3. 使用外部 RTC(实时时钟)模块,它可以作为一个时钟源来唤醒 NodeMCU 12E esp 8266。

4. 降低数据传输频率,例如每小时或每天传输一次数据,而不是每分钟或每小时。

5. 禁用所有不必要的 Wi-Fi 功能,如 Beacon、Probe Request等。

6. 尝试使用更高效的代码和算法,以便在同样的时间内,使用更少的资源和功耗来完成相同的任务。

希望这些解决方法可以对您有所帮助。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分