「ESP-WROOM-02 + Si7021(SHT21 HTU21 GY-21) + Orange Pi PC2」の続き。
自分でも忘れてたが、プリント基板を眺めてたらGPIO16とRSTをつなぐジャンパが作ってあった。
Deep-Sleepからの復帰にはここをつないでおく必要がある。
Deep-Sleepそのものについてはすでに下のリンク先で試している。
「ESP8266モジュール(ESP-WROOM-02)を試す その13 Deep-Sleep」
今回の基板はいままで電源の取れる室内でしか使ってなかったのでDeep-Sleepは使ってなかったが、野外でバッテリー駆動させようとしているのでDeep-Sleepを実装してみる。
INA219で電流値を測定してみた。
Deep-Sleep中は0.3mA程度、復帰してWi-Fi接続を開始すると71mAから80mA程度を示す。
25秒ほどでWi-Fi接続と測定とデータ転送が終了する。
測定は一瞬で済むので、ほとんどがWi-Fi接続の待ち時間だ。
当然だが、測定間隔が長いほどDeep-Sleepによる節電効果は大きくなる。
Wi-Fi接続などの余計な時間はDeep-Sleepする時間から差し引いて測定間隔を一定にする、などの工夫は今のところ取っていない。
そもそも、計時はデータを受け取るサーバ側に任せてあり、データが送られてきたらその都度を時刻データを付加するようにしてある。
0.3mAはセンサー・モジュール部の消費分だと思うが、ここも眠らせるならESP8266からMOSFETを駆動してセンサー・モジュールの電源を管理するとかの工夫が必要だろう。
その場合、センサーを眠らせたら測定値への影響とかはどうなんだろう、という点も検討する必要がある。
追記
Deep-Sleepで復帰したらスケッチの最初から実行するのだそうだ、知らなかった…。
実行結果に何も違いは無いが、そのつもりで書けばスケッチがもっとすっきりする。