
温湿度センサーをクラウドに繋ぐのは定番のIoT入門課題だが、ひと手間加えると途端に実用的になる。制作者のalessandro-001氏がGitHubで公開したこのプロジェクトは、ESP32-S3とAM2302センサーの組み合わせで温湿度を計測し、MQTTでThingsBoard Cloudへ5秒ごとに送信しながら、基板上のRGBLEDが温度域に応じてリアルタイムで色を変えるというものだ。
配線はジャンパーワイヤー3本で完結する。AM2302の電源ピンをESP32-S3の3V3ピンに、データピンをGPIO 4に、GNDをGNDに繋ぐだけだ。READMEでは「5Vには繋がないこと」と明示されており、3V3での駆動が前提となっている。
クラウド連携にはThingsBoard Cloudの無料プランを使い、PubSubClientライブラリでMQTT接続を確立する。デバイストークンをコード内の定数に設定するだけで、{"temperature":25.5,"humidity":60.7}という形式のJSON電文が5秒ごとに送信される。ThingsBoard側ではタイムシリーズチャートウィジェットで温湿度のライブグラフを表示でき、閾値を超えたときのアラームも設定可能だ。
視覚的なフィードバックとして、ESP32-S3基板上のWS2812B RGB LED(GPIO 48)が温度に応じて色を変える。18℃以下は青、18〜26℃は緑、26℃超は赤で、起動してWiFi接続中はオレンジになる。温度の境界値はコードで変更できる。
ソフトウェア構成はPlatformIO+Arduinoフレームワークで、必要なライブラリ(AdafruitのDHTライブラリ、Adafruit NeoPixel、PubSubClient)はplatformio.iniから自動インストールされる。MITライセンスで公開されている。

