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

必要な部品など

URGENT緊急のお知らせ
メインサーバの調子が悪いので、サブサーバで運用中です
最終更新日2025-07-01 09:58
更新日2025-03-23 10:05:113ヶ月前R.1.4

センサ BME280

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

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

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

BME280(左) BMP280(右)
BME280(左) BMP280(右) 3367x2594
基盤右上のチップの形の違いに注目。基盤にはBME/BMP両方の記載があるので余計に??

2023年頃からBME280の価格が上がっています。 Aliでまとめ買いした方が格安です。

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

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

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

このWebページでも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)が必要です。 スイッチサイエンスで販売されている製品はESP32の表面が綺麗で、輝いています。

Amazonや中華から購入した怪しげな製品は、これがくすんでいます。

ネットショップでESP32の開発ボードを探すと、部品の配置パターンが異なるいくつかの製品が見つかります。 色々と試した結果、下記の写真のように ESP32、LT1117(三端子レギュレータ)、CP2102(USB-UART Bridge)、USB端子がこの配置になっている製品がいいような気がします。

ESP-32U
ESP-32U
外部アンテナが接続できるタイプのESP32です。AliExpressで購入 (452円)

下記の製品はさらに格安です(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モードでも大丈夫なはず。

URGENT緊急のお知らせ
メインサーバの調子が悪いので、サブサーバで運用中です
最終更新日2025-07-01 09:58
印刷日: 2025-07-01 13:50:33
User:
URL: https://ketaitracker.info/esp32-wx/index.php?page=materials