「外は暑いのにオフィスは寒い!」毎朝の服選びで失敗する問題を解決するため、ハッカソンで開発したクローゼットアプリにESP32を使った遠隔温度モニタリング機能を組み込みました。家にいながらオフィスの温度がリアルタイムで分かる機能です。
クローゼットアプリを作っていて気づいたのが、天気予報だけじゃ服装選びは完璧にできないということ。特に夏場、外は35度なのにオフィスは極寒の20度とか、もう何着ていけばいいか分からない。ハッカソンメンバーからも「私もオフィスのエアコンで凍えてる」「私も毎朝カーディガン持っていくか悩む」という声があがって、それならESP32でオフィスの温度を取得して、アプリに組み込んじゃえばいいじゃん!と思って実装しました。
技術的にはESP32にDHT11温湿度センサーを接続して、5秒ごとにFirebase Realtime Databaseへデータ送信。クローゼットアプリ側ではDatabaseReferenceの.observe(.value)でリアルタイム監視して、取得した温度データを服装提案アルゴリズムに組み込みました。ESP32側でハマったのがFirebaseの時刻同期問題で、NTPサーバーで時刻合わせしないとトークン発行でエラーになって2時間溶かしました。Firebase.reconnectWiFi(true)の設定で、オフィスのWi-Fiが不安定でも安定動作するようになったのは大きな発見でした。
アプリ側では温度によって服装提案を変える仕組みを実装。オフィス温度20度未満なら「カーディガン必須」、27度以上なら「半袖OK」といった具合に、外気温とオフィス温度の両方を考慮した提案ができるようにする予定です。IoTデバイスとモバイルアプリを連携させることで、身近な課題を解決したいです。