トップ > 興味のあること > コンピュータ > ハードウェア > マイクロコンピュータ
モッピー!お金がたまるポイントサイト
日々の生活にhappyをプラスする|ハピタス

ESP32

2019年4月29日

Wi-FiとBluetoothを備えたワンチップマイコン。 ArduinoのIDEを流用して、 ほぼ同じ感覚でプログラミングできる。 電源と無線LANを確保すれば、 単体でネットワークにつながるのがミソ。

秋月電子温湿度気圧センサと組み合わせて使ってみた。 BME280とESP32をI2Cで接続するという記事は結構あるが、 一番参考になったのはhttps://trac.switch-science.com/wiki/BME280である。 基本的な部分は丸パクリした。 センサのジャンパはすべて半田ブリッジして、 I2Cで通信するように設定した。 接続はセンサの4番ピンをESP32の21番ピン、 センサの6番ピンをESP32の22番ピンで、 Wireライブラリで読み書きする。 ちなみにGPIO34を電源端子につないで、 電圧も測っている。

データを読み出した後の計算は、 前述のページにあったプログラムそのままだ。 で、Wi-Fiにつないでambientに投げて、 グラフ化は丸投げする。 300秒Deep Sleepするのがちょっと工夫したくらいか。 これとて先人の努力の成果なのだが。

https://gist.github.com/tom-a/8f95230c25b903f54492387ffe499888

11行近辺のchannelID、writekey、ssid、 passwordは各人の環境にあわせて変更する必要がある。

2019年5月1日

何も考えず単三乾電池を2本直列にして、 3.3V端子とGND端子に接続。 一応動いているようだが、 どのくらい持つだろうか。

写真:ESP32とBME280

2019年5月12日

ストロベリー・リナックスのモジュールを使って、 太陽発電システムのモニタを試してみた。 太陽電池パネルからコントローラー、 コントローラーから鉛蓄電池までの配線に、 モジュールを割り込ませる。

写真:ESP32でINA226

ソフトウェアに関しては、 今回も先人の成果を拝借した。

https://gist.github.com/tom-a/dc6ed3a380a8f8158f8ca080974fee1d

書き換えたのは、

  1. モジュールを二つ使うので、セットアップや読み出しをアドレスで区別して行えるようにした。
  2. wordで読み込んだデータはintに代入してもunsignedのままなので、MSBが1だったら0x10000を引いて負数にした。I2Cでレジスタを読み出す関数はwordを返す。で、wordはunsigned shortなので、電流値を計算する式の中でshortにキャストした。
  3. 1分deep sleepする。
  4. ambientにデータを投げる。

くらいか。 とりあえず動くようになったので、 ResetReasonに応じた処理などリファクタリングしたいところ。

2019年5月14日

11:00を最後に、 BME280でモニタしているデータの送信が途絶えた。 電池は1.2V程度の電圧だったが、 Wi-Fiの起動には耐えられなかったのか? エネループに交換してみる。

2019年5月24日

09:10を最後に通信途絶。 意外と持たなかった。

2019年6月25日

18650で3500mAhなリチウムイオン電池で駆動していたが、 21:00頃通信途絶。 1ヶ月程度と今のところ最長記録。 ダイソーの500円モバイルバッテリーを試してみたが、 やはりすぐに電源供給が止まってしまう。 低消費電力というのも善し悪しである。 予備のリチウムイオン電池に交換して、 2.8Vになったリチウムイオン電池を充電。

2019年7月17日

前回と同じバッテリーで駆動したが、 今回は測定を5分おきではなく1分おきにしてみた。 すると、今日の08:22頃に通信が途絶。 22日ほどの稼働時間になるので、 1/5とは言わないがそれなりに短くなるのがわかった。

2019年8月2日

太陽光発電発電をモニタしているESP32を、 マキタの18V3Ahなバッテリーで駆動するようにしてみた。 こうしないと、 MacBook Pro + USBハブ + 外付けHD 全部を動かすためのACコンセントが足りないのだ。

2019年8月5日

母屋の気温測定器が、 11:16ごろ沈黙。 バッテリーが尽きていた。 充電後、20:42くらいに再起動。

2019年8月23日

太陽発電システムのモニタが電源断。 マキタのバッテーリも、意外ともたなかった。 前回は保存状態のまま使ったが、 今回はフル充電してから接続してみた。

2019年8月26日

母屋の気温測定器バッテリーを使い切ったので、 再充電後。