ESP-WROOM-02のスリープモードまわり

esp8266のSleepモードについて

sleepモードは3種類ある

  • deep-sleep

    • 記事
    • sleepモードのうち最も消費電力が少ない
    • 復旧時、再起動されて、setup()から実行される
    • IO16ピンをRST(リセット)に繋ぐ必要がある
    • 一定間隔で何かを実行するのに向いている
    • マイコン部分まですべて電源が切れるので、変数を所持したい場合などは、工夫が必要
    • RTCメモリーというメモリーが動き続けているので、それに変数等データを書き込むことができる
    • RTCメモリーはユーザーエリアが512バイトある.
    • 先人によると、最初の4バイトはなぜか読み込めないので、正確には508バイトしか使えないらしい
  • light-sleep

    • deep-sleepの次に消費電力が少ない
    • WIFI_STA mode(ステーションモード)のみで実行可能
    • 通信が行われないときにはWiFi用のRF回路をオフにし、CPの実行をサスペンドする
    • WiFiとの接続は維持されたまま
    • 0.9mA消費
  • modem-sleep

    • sleepモードの中で最も消費電力が大きい
    • CPUの動作を維持したまま、非通信時にWiFi用のRF回路をオフにして電力をおさえる
    • WiFiとの接続は維持されたまま
    • 15mA消費

Light-Sleepについて調べてみる

この記事によると、

WiFi.mode(WIFI_STA);
wifi_set_sleep_type(LIGHT_SLEEP_T);

のようにコードを書くだけで、delay関数の間、自動的にLight-Sleepモードい移行してくれるらしい.

しかし、今回は、センサーの値が一定のときはLight-sleepをしておいて、センサーの値が大きく変化したときにWi-Fiに接続する方法を用いたいので、この方法は使えない.

今後できるようになりたいこと

時間を設定して復帰するのではなく、光センサの値が変化したときにだけ、それがトリガーになってESP-WROOM-02がdeep-sleepモードから起動するような回路をくみたい.

この記事では、人感センサのHIGH,LOWを(回路的に)用いて、deep-sleepモードからの復帰をしている.

光センサの値によってdeep-sleepモードから復帰することは可能なのか.

このような記事のように、回路をうまく組めばいけそう.

だが、これをやるには回路の知識がないと時間だけがかかりそう.

参考記事

By @Hidemaro in
Tags : #電子工作, #ESP-WROOM-02,