builderscon の電子名札に家庭のメトリクス表示
やってること
- prometheus の API を叩く
- 表示する
だけ。 表示部分はせっかく python の骨格があるので基本的にはそのまま python で書いてる。けど Pillow (python の画像処理ライブラリ) はそれほど高機能というわけではなくて、文字表示時に細かいオプションが一切指定できなかったりするので Ruby と Cairo とか慣れた他の方法でやったほうがよかったかも。
フォントは Noto Sans CJK の Black。Pillow が OTF をちゃんと読めてよかった。
表示はフルリフレッシュを避けるように数値部分だけを部分書き換えしている。これにより表示更新が早くなるのと、フルリフレッシュ時みたいな全体が反転するチラツキがなくなるので常時していても邪魔くさく感じにくいはず。
部分書き換え (partial update)
↑ 試している様子 (値はランダム)。起動時はフルリフレッシュしてその後は常に部分書き換え
Ben Krasnow: Fast partial refresh on 4.2" E-paper display from Waveshare / Good Display の記事を参考に LUT をコピペしたらできたが LUT が何をしてるのかさっぱりわからない。
コード
https://github.com/cho45/electronic_badge_2018/blob/partialupdate/sketch/sketch.py
lib/epd4in2.py とかにもかなり変更を入れてる。LUT まわりが↑のエントリの epd4in2.cpp からのコピペなのでライセンス的に微妙。
関連エントリー
- E-paper display の覚え書き (LUT ってなんだ) Waveshare 4.2 Black/White EPD https://www.waveshare.com/w/upload/6/6a/...
- WaveShare 4.2inch E-paper 用のフレーム 画面外になる部分が partial update でもチラチラ更新されてしまうので、これを隠すためにフレームをつくってつけた。 https:...
- Stable Diffusion で prompt 情報を画像に保存しておく PNG にはメタデータを保存するチャンクがある。Python からも簡単に読み書き可能なので、ここに prompt を保存しておくと、あとか...
- LPC11U35 の mbed ローカル開発環境構築 秋月でLPC11U35 が乗っているボードを買った。うっかり3枚買っていた。EA LPC11U35 QuickStart Board と互換...
- daemontoolsのsetuidgidが補助グループ (supplementary groups) 権限をつけてくれない問題 (python) いままでハマったことがなかったのだけど、ついにハマってしまった。 補助グループ権限もつけてくれるsetuidgidのようなもの - (ひ)メ...

