Hyunseok Byun · ビョン・ヒョンソク
← indexesp32-weather
ESP32 Weather — 卓上天気ディスプレイ ファームウェア
AI · Hardware·稼働中·2026-05: 進行中

ESP32 Weather

卓上天気ディスプレイ ファームウェア

毎朝 Siri を呼ぶルーティンを簡素化し、天気を視覚的にはっきり確認するために ESP32 で作った ambient ダッシュボードです。 浴室に設置しており、在宅中は常時稼働しています。

技術スタック

ESP32C++PlatformIOArduinoKMA API

制作の動機

毎朝シャワー後に Siri を呼ぶルーティンを簡素化し、天気を視覚的にはっきり確認するために ESP32 でダッシュボードを作成しました。 ちょうど手元に ESP32 があったため、一度自分で組んでみることにしました。

コメント

組み込みを実際に構築・体験・利用しています。 ファームウェア (C++) → b-hub (TypeScript) → MySQL → KMA のフルスタックの流れを完成させ、Web では当然視していたメモリ・画面バッファ・フォント描画を機械側から再考する契機になりました。

主な特徴

  • 01ESP32-D0WD-V3 + ILI9341 2.8" TFT (320×210) + XPT2046 抵抗膜タッチ: "Cheap Yellow Display"
  • 02State machine: BOOT → WIFI_SETUP → LOCATION_SEARCH → WEATHER ⇄ SETTINGS / DISPLAY_SETTINGS
  • 032 ボル式ハングルキーボードを自前実装 (位置検索用): ライブラリなしで作成、再利用可能に分離
  • 04u8g2 unifont ハングル + drawJamoGlyph() で互換字母をピクセル描画
  • 05自己復旧: 60 秒 heap 監視、KST 00 / 12 時に自発 reboot、fetch all-or-nothing (stale 維持)
  • 06b-hub /weather/* プロキシ: KMA API キー非露出、格子座標変換を委任、weatherApiKey でクォータ管理

備考

  • ·ILI9341 標準ドライバの色反転 / 軸入替バグ: ILI9341_2_DRIVER + setRotation(1) + invertDisplay(1) で回避 (3〜4 時間の試行錯誤)
  • ·WiFi の遅延接続時のバックグラウンド自動再接続を追加予定