ESP32 と 単三乾電池3本で,ワイヤレス温度センサーを324日間屋外で動作させることができましたので紹介します.
機能概要
作ったのはこんな感じの温度センサーです.
- 30秒ごとに温湿度を計測し,10分ごとに WiFi 経由で計測データを送信
- 電源は 単三乾電池3本
データーの送信は Fluentd を使用し,InfluxDB にデータを蓄え,Kindle や Grafana 等で表示するようにしています.
特に Kindle による屋外気温の表示が便利で,外出する前には家族全員が活用しています.今では無くてはならないインフラです.
回路構成
使った回路は次のようなシンプルなものです.
- 単三乾電池3本の先に,Strawberry Linux の TPS62742 モジュールを接続
- TPS62742 の出力電圧は 3.0V 設定にし,ESP-WROOM-32 と Sensirion SHT-35 温度センサに電源供給
- ESP-WROOM-32 の GPIO25, 33 を SCL, SDA として SHT-35 と接続
- 乾電池の電圧を 1MΩ 抵抗2本で分圧し,GPIO32 に接続 (電圧モニタ用)
これらをタカチの防水ケース WH145-33-M3-WN に収めるとこんな感じになります.写真は1年間屋外に設置した後のものなので,カバーがやや黄色くなっています.
ソフト
ソフトは,ESP32 の ULP を使い,メイン CPU を Deep Sleep モードにしたまま,温湿度計測する作りにしてあります.また,電池消費をなるべく抑えるため,いくつかの工夫を仕込んでいます.
この辺りは,以下の記事に記載してありますので,適宜参照いただければと思います.
ソフト全体は Github に登録してあります.
※21年10月時点では,上記リンク先の説明において GPIO14 も使うことになっていますが,これは電源ICとして TPS61291 を使っていた頃の名残で,今回は使っていません.
乾電池の電圧推移
最後に,324日間動作させたときの,乾電池の電圧推移を紹介したいと思います.
5月に電圧がガクンと落ちていますが,これはこのタイミングで Fluentd サーバが落ちたために,ESP32 が接続リトライを繰り返したためです.このトラブルがなければ,あと1~2週間は粘れたかもしれません.
長期動作の過程で得られた情報を『ESP32 の長期屋外動作データ』で紹介していますので,興味のある方は読んでみてもらえるとありがたいです.
今後について
次は 電源IC を変更して 1年以上の動作を目指してみようと思っています.
コメント