CrowPanel ESP32 E-Paper HMI 5.79-inch Displayをベースに、お天気情報のデジタルサイネージを作成しました。
気象庁のJsonを読み込んで天気情報を表示します。
動作は神奈川の東部地域のみ確認しています。他の地域を読み込ませるとうまく動かないかもしれません。
$ curl -LO https://micropython.org/resources/firmware/ESP32_GENERIC_S3-SPIRAM_OCT-20250415-v1.25.0.bin
$ pip install esptool
$ esptool.py erase_flash
$ esptool.py --baud 460800 write_flash 0 ESP32_GENERIC_S3-SPIRAM_OCT-20250415-v1.25.0.bin
環境はVSCodeにMicroPico拡張を利用しました。
- config.py.sampleを別名でコピーしてWiFi情報を設定してください。
$ cp config.py.sample config.py
- edit config.py
- CrowPanelには自動で接続できていると思います。以下は接続後の操作になります。
- エクスプローラーを左クリックで「Upload project to Pico」を実行します。
- この操作により、*.py ファイルは全てアップロードされます。
- 最後にmain.pyを開いた状態で左下の「▷Run」を実行します。
- うまくいけば画面が表示され、インストールは完了です。
- Elecrow 5.79" screen library for Micropython
- Elecrow CrowPanel 5.79" E-Paper display
- MicroPython-ESP32-S3
- fonts.googleからさわらびフォントをダウンロード
- 必要となるキャラクターのフォントを作成
$ curl -LO https://raw.githubusercontent.com/peterhinch/micropython-font-to-py/c24761448e6ef1c40716b9b2b629e6fa37b2c9d2/font_to_py.py
$ python font_to_py.py -c " 0123456789.C°℃:%%" SawarabiGothic-Regular.ttf 32 SawarabiGothicRegularNumeric32.py
- 参考: peterhinch/micropython-font-to-py
- devにフォルダにJupyterNoteがあるので参考にしてください。
ImageMagickのconvertコマンドでsvgをpngに変換した後、icons.py にアイコンファイルをまとめます。
- ImageMagickのconvertコマンドでsvgをpngに変換
$ for i in `ls *.svg`; convert -size 128x128 $i $i.png
- icons.py にアイコンファイルをまとめる処理
CrowPanel用のモノクロ画像の作成にはTimHanewich/MicroPython-SSD130のコードを利用しました。
下記からダウンロードして利用します。
$ curl -LO https://raw.githubusercontent.com/TimHanewich/MicroPython-SSD1306/refs/heads/master/src/convert.py
- devにフォルダにJupyterNoteがあるので参考にしてください。