M5Stack CoreS3を使って、気象衛星ひまわりの画像を表示する小型ガジェットを作りました。
ひまわりの赤外画像を定期的にダウンロードし、SDカードに保存して、アニメーションのようにループ表示します。
完成品

画面には、気象衛星ひまわりの最新画像が表示されます。
保存済みの画像を順番に表示することで、雲の動きがゆっくり確認できます。
主な機能
今回作ったガジェットには、以下のような機能を入れました。
- 気象衛星ひまわりの画像を表示
- 起動時に最新画像を取得
- 1時間ごとに画像を自動取得
- Wi-Fi接続時だけダウンロード
- 画像はSDカードに保存
- 日付ごとにフォルダ分けして保存
- 保存済み画像をループ再生
- タップで情報パネルを表示
- Wi-Fi再接続、画像リロード、画面OFF操作に対応
保存形式
ダウンロードした画像は、SDカードに保存します。
保存先は次のような形式にしました。
/himawari/YYYYMMDD/HH.jpg
例えば、2026年5月27日の14時台の画像は、
/himawari/20260527/14.jpg
のように保存されます。
同じ時間の画像がすでに保存されている場合は、再ダウンロードしないようにしています。
これにより、同じ画像が何枚も保存されるのを防いでいます。
タッチ操作
通常時は衛星画像だけを表示します。
画面をタップすると、情報パネルが表示されます。
表示される情報は、
- バッテリー残量
- 充電状態
- Wi-Fi接続先
- 電波強度
- 保存画像数
- SDカード使用量
- 表示中の画像ファイル名
などです。
もう一度タップすると、情報パネルは消えます。
また、情報表示中は画像のループ再生を一時停止するようにしました。
これにより、画面のチラつきがかなり減りました。
画面OFF中の動作
画面OFFは、バックライトを消す簡易的なOFFです。
ESP32自体は動作しているので、画面OFF中でも定期的な画像ダウンロードは継続できます。
そのため、しばらく画面を消しておいても、あとで表示を戻すと保存された画像が増えている、という動きになります。
作ってみた感想
M5Stack CoreS3の画面サイズは320×240ですが、ダウンロードするひまわりの画像は512×512です。
そのため、画像全体が見えるように240×240に縮小して中央表示しています。
画面いっぱいに表示すると上下が切れてしまうため、左右に少し黒帯を出す形にしました。
結果として、雲の全体像が見やすくなりました。
SDカードに画像を残しておけるので、電源を入れ直しても過去の画像を再生できる点も便利です。
まとめ
M5Stack CoreS3とSDカードを使って、手のひらサイズの気象衛星ビューアを作ることができました。
ネット接続時に画像を取得し、オフライン時でも保存済み画像を表示できるので、
小型の気象モニターとしてなかなか楽しいガジェットになりました。
今後は、取得時刻の表示や、日付ごとの再生切り替えなども追加してみたいです。