LoginSignup
1
2

More than 1 year has passed since last update.

e-paperで低消費電力ダッシュボード作った

Last updated at Posted at 2022-06-30

やったのは2021年10月ごろです

きっかけ

Amazonでe-paperを購入できることを知って、低消費電力ダッシュボードを作ることを思いついた。
意外にもカラーのものがあるのでそれを使ってみる。
GoogleのAPIからカレンダー、予定を表示させます。あと天気も気象庁のページから。
あとせっかくカラーを買ったので、背景はGoogle Photoのアルバムからランダムに選択するようにしました。

全体像

ラズパイで作れば簡単なのですが、ラズパイは消費電力がでかいのでESP32を電池で駆動させる。
マイコン使うのは初めてです。MicroPythonのファームウェアを書き込んで作る。
マイコンに画像生成するような能力はないので、PaaS上で画像生成APIを作ってそれを介して表示させる。
マイコンからGoogleのアクセストークンと画像生成パラメータ(JSON)を送信して、画像を生成。

工夫したところ

・欲張ってカラーにしたら画像のサイズがRAM容量を超えてしまったので、uhttpライブラリのコードを書き直して受信→ディスプレイのコントローラーに送信を繰り返して表示させるようにした。
・e-paperの特性上、画像が表示されるまで時間がかかる。その間にWiFiモジュールを付けていると電力を食うので通信終わったら即座にオフに
・表示させたら設定した時間だけDeep sleepして節電。ただマイコンの内部タイマーはあまり正確でないらしいので、起きるたびにNTPで時刻を補正。

完成

IMG_20211106_171119.jpg
単3電池2本から昇圧して駆動させています。節電したつもりだったのですが、10分間隔では3日程度しか持ちませんでした。
まあ10分ごとに更新する必要もないと思うので、1時間とかにすれば、実用範囲のものになるかなと思います。
ただ、カレンダーは複雑な漢字を表示するには画素数不足を感じてしまいますね。

おまけ

FCWniISUcAEeX93.png
設定ファイル生成用GUIを作ってみた。時間かかった割にビジュアルがプアな感じでちょっと悲しい。

ソースコード

API
https://github.com/phabet/e-indicator-api
ESP32
https://github.com/phabet/e-Paper-Micropython
コンフィグGUI
https://github.com/phabet/e-indicator-configure

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2