ESP8266 (ESP-WROOM-02)으로 전력 소비를 줄이려면 (절전 모드 요약)
개요
ESP8266 (이하, WROOM02)의 소비 전력 억제
소개
WROOM02에는 몇 가지 저전력 모드가 있으므로 그 요약.
Deep-Sleep이 가장 낮은 소비 전력이지만 (타이머로 복구하기 때문에) 서버 모드에서는 사용할 수 없다.
Modem-Sleep/Light-Sleep은 무선 통신과 같은 인터럽트에 의해 복구됩니다.
데이터시트
아키즈키 WROOM02 데이터시트
소비 전력
Parameters
Typical
Unit
Modem-Sleep
15,000
uA
Light-Sleep
900
uA
Deep-Sleep
10
uA
Modem-Sleep/Light-Sleep
정의
~/Library/Arduino15/packages/esp8266/hardware/esp8266/2.0.0/tools/sdk/include/user_interface.h
enum sleep_type {
NONE_SLEEP_T = 0,
LIGHT_SLEEP_T,
MODEM_SLEEP_T
};
bool wifi_set_sleep_type(enum sleep_type type);
사용법
setup 함수 내에서 wifi_set_sleep_type( type ) 을 실행한다. → 나중에는 적당한 타이밍에 자동으로 수면과 각성을 반복한다.
예
extern "C" {
#include <user_interface.h>
}
void setup() {
// ... Wi-Fi設定等
wifi_set_sleep_type(MODEM_SLEEP_T);
}
void loop() {
}
회로도
회로에 변경은 불필요
참고
이하, 일련의 정리 기사가 엄청 상세하다.
ESP-WROOM-02: 수면 조사 결과 ↑ 그래프로 보면, 몹시 잘 알 수 있다.
Deep-Sleep
정의
~/Library/Arduino15/packages/esp8266/hardware/esp8266/2.0.0/cores/esp8266/Esp.h
// compatibility definitions
#define WakeMode RFMode
#define WAKE_RF_DEFAULT RF_DEFAULT
#define WAKE_RFCAL RF_CAL
#define WAKE_NO_RFCAL RF_NO_CAL
#define WAKE_RF_DISABLED RF_DISABLED
void deepSleep(uint32_t time_us, RFMode mode = RF_DEFAULT);
사용법
setup 함수의 끝에서 ESP.deepSleep( ) 을 실행하면 된다. → loop 는 한번도 실행되지 않고, 수면에 돌입할 수 있다. → setup만으로 처리가 완결된다 (setup만을 반복한다) 스케치가 최적.
예
void setup() {
// ... Wi-Fi設定等
// setup の末尾に記述する
ESP.deepSleep(10 * 1000 * 1000);
}
void loop() {
}
회로도
IO16을 RST에 연결합니다.
예
"ESP8266 (ESP-WROOM-02)으로 센서 취급" 회로도
참고
이하, 일련의 정리 기사가 엄청 상세하다.
요약
WROOM02의 저전력 모드를 요약했습니다.
각각은 장점과 단점이 있기 때문에 용도에 맞게 선택해야합니다.
Modem-Sleep과 Light-Sleep의 명백한 차이점은 확실하지 않았습니다. (→ 그렇다면 Light-Sleep을 선택하면 좋지 않습니까?)
소비 전력을 시계열로 자세하게 측정할 수 있는 계측기를 갖고 싶다.
Reference
이 문제에 관하여(ESP8266 (ESP-WROOM-02)으로 전력 소비를 줄이려면 (절전 모드 요약)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/exabugs/items/9edf9e2ba8f69800e4c5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)