インテリアになじむ壁掛け天気予報、電子ペーパーとラズパイで製作

FabScene(ファブシーン)

天気予報を壁に掛けて常時確認できたら便利だ。しかもスマホの画面ではなく、紙のような質感で部屋のインテリアになじむものがいい。Damov氏がRaspberry Pi Pico 2 WとWaveshare製5.65インチ電子ペーパーディスプレイを使い、白と黒のミニマルな天気予報表示デバイスを製作した。壁掛け用の3DプリントマウントとあわせてソースコードをGitHubで公開している。

デバイスはWi-Fi経由でノルウェー気象研究所が運営するMET Weather APIから天気データを取得し、600×448ピクセルの電子ペーパーに表示する。画面には現在の天気に加え、4時間後、8時後、翌日正午の予報を並べて表示する。天気アイコンはフラッシュメモリーに保存した小さい画像と、サーバーから取得する大きい画像を組み合わせて描画する。大きいアイコンを外部APIから取得するのは、Pico 2 Wのフラッシュ容量では全サイズを収納しきれないためだ。

ソフトウェアはMicroPythonで記述した。制作者が開発した「EasyWriter」ライブラリを使い、電子ペーパーへのテキストやバイナリ画像の描画を簡略化している。Waveshare純正のドライバーも改良しており、枠線の色変更やバッファーの外部確保に対応させた。バッファーをクラスの外で管理するようにしたのは、純正ドライバーで発生していたメモリーリークを解消するためだ。データの更新は1時間ごとに自動で行われ、ゴースティング(前の表示が残る現象)を防ぐため、毎日午前2時(UTC)に画面を全消去する。

電源はUSBケーブルでの常時給電のほか、Adafruit PowerBoost 1000CとLiPoバッテリーを組み合わせたバッテリー駆動にも対応した。SPI接続で配線もシンプルで、表示したい地点の緯度、経度、標高をコード内で設定するだけで任意の場所の天気を表示できる。5.65インチのWaveshareディスプレイ以外でも、解像度の設定を変えれば他のWaveshare電子ペーパーにも対応可能だ。ソースコードはGitHubで公開されている。

関連情報

micropython-ePaperWeatherStation(GitHub)

fabsceneの更新情報はXで配信中です

この記事の感想・意見をSNSで共有しよう
  • URLをコピーしました!