準備 / ハードウェア/ 必要部材/部品

必要な部品など

$Date: 2022/01/02 08:05:42 $
$Revision: 1.2 $

センサ BME280

気温、湿度、気圧を計測することができるセンサチップBME280です。周辺回路も実装したモジュール基板が多数販売されていますので、それを用意してください。

このモジュールは SDA, SCLのプルアップ抵抗が実装されているようです。

BME280に似たチップにBMP280があります。 こちらは気圧+気温センサチップで湿度は測れません。 BME280は真四角、BMP280は長方形です。

いきなり壊れて、ぐずり出すことがありますので、複数個のまとめ買いをおすすめします!

ESP32 (ESP32-WROOM-32 DevKit C)あるいは M5Stack

ESP32(開発ボード) あるいは M5Stack が必要です。

ESP32、ESP32-WROOM-32、ESP32開発ボード、M5Stackと色々と言葉がでてきますが、次のような関係です。

ESP32 \( \subset \) ESP32-WROOM-32 \(\subset\) ESP32開発ボード
あるいは
ESP32 \( \subset \) ESP32-WROOM-32 \(\subset\) M5Stack
あるいは
ESP32 \( \subset \) ESP32-WROOM-32 \(\subset\) ESP32開発ボード \( \subset \) M5Stack

また、ESP32-WROOM-32には次の3種類があるそうです。

  • ESP32-WROOM-32 (初期:Dual Core)
  • ESP32-WROOM-32S(その後に登場した Single Core版)
  • ESP32-WROOM-32D(同、Dual Core版)

ESP32開発ボード

ESP32

色々なところから様々な開発ボードが販売されていますが、私が動作確認したのは下記の2製品です。

ESP32を内蔵したESP32-WROOM-32をさらに基板上に実装しているESP32 DevKitCです。 Wi-Fiを内蔵しています。 これは安定して動作しました。

スイッチサイエンスのESPr Developer 32は足が生えていないので別途足(10 x 2)が必要です。

下記の製品はさらに格安です(1個 840円也)。こちらはArduino IDEでボードとしてNodeMCU-32Sを選択してください。ESP32 Dev Moduleを選ぶと実行時にエラーを吐きます(吐くときもあります。挙動がよく分かりません...)開発基板上のLEDはGPIO 2で制御できます。

購入直後は、なにをどうやってもプログラムコードの書き込みがうまくいかず、しばらく放置していましたが、ある日突然、これまでがうそのようにちゃんと動くようになりました。 なにが悪かったのか、未だに??のままです。

あやしげなESP32開発ボードの場合、三端子レギュレターがESP32側(の下)にある製品の方が安定するようです。 USB端子側に三端子レギュレターがあるものは、なんとなく不安....(個人的観測と体験によるものです)

M5Stack

M5STACK

オールインワンのESP32です。(モニター、バッテリー、スピーカー装備)

ブレッドボード及び配線部材少々

ESP32の開発ボードは幅があるので通常のブレットボードでは、開発ボードは刺さりますが、周辺回路の実装ができません。 そこでちょっとだけ幅が広いサンハヤトのSAD-101がお勧めです。

周辺部品はたいした数ではありませんので、手持ちのユニバーサル基板でも十分に間に合うと思います。

LEDと抵抗 [option]

ESP32

開発ボードの場合は、LEDを加えると、Busy / Idle 状態や気象情報を表すことができます。なくても、かまいません。 Busy / Idle状態は、基本的に5分に1回、一瞬光るだけです(超地味)。 気象情報を表すLEDは、一定間隔でモールスで気温、湿度、気圧をお知らせします。

3.3Vで駆動できる圧電ブザーなどを用いれば、音でモールスができると思います(私の方では試していませんし、たぶん、うるさいだけだと思います)。

  • LED (お好きな色とサイズ)
  • 220\( \Omega \)から1k\( \Omega \)程度の抵抗(LEDの電流制御用)

M5Stackの場合は、LCD画面上に状態を表示しますのでLEDは不要です。

USB電源

ESP32は突入電流が大きいらしいので、それなりに大電流が流せるUSB電源が必要です(最近のUSB電源であれば大丈夫だと思います)。 電圧降下が起こらない程度の容量が必要です。 ただし、M5Stackの場合は、さらに大電流を要します。足りない場合、途中でリブートを繰り返します。

Wi-Fiアクセスポイント

2.4GHzのアクセスポイントが必要です。 ESP32はWiFiの掴みが弱いので、Wi-Fi APの設置条件は重要です。

電源の確保

USB電源

ESP32

ESP32開発ボードの場合は、Idle状態で50mA程度、WiFi送信時で85mA程度。

M5STACK

M5Stackの場合、Idle状態で300mA程度、WiFi送信時で350mA程度必要です。

ちまたの情報ではいずれも突入電流が大きいらしいので、ある程度余裕をみたUSB電源が必要です。

deep sleep

スケッチの設定によりESP32のdeepsleepモードを利用できるようになっています。 5分おきにに数秒だけ数十mAの電流が流れるだけで、待機時(deep sleep時)は数\( \mu \)Aしか流れません。 よって、計算上は長期間のバッテリー駆動が可能です。 ただし、USBポータブル電源の場合、deep sleep時に流れる電流が小さすぎて、USBポータブル電源自体が自動的に電源OFFになってしまいdeep sleep自体から復帰しなくなります(生命維持装置が外されてしまった状態になる)。 したがって、勝手にOFFにならないタイプのポータブル電源を探すか、乾電池駆動を行うことになります。

空いているGPIOを使って電源電圧を監視し、バッテリーが怪しくなったらメールで通知なんてことも簡単にできるはずです(今回は未実装)。

現在の機能の範囲であれば、deep sleepモードではなく、さらに待機時の電流が少ないhibernationモードでも大丈夫なはず。

印刷日: 2024-12-28 03:33:04
User:
URL: https://ketaitracker.info/esp32-wx/index.php?page=materials