DIYで作る電子ペーパー額縁の作り方(ソフト編)

ソフト編といっても描画するだけならサンプルプログラム通りで終わりです。

電子ペーパー(WaveShare用)のライブラリを追加します。

sudo pip install epd-library

epd-library · PyPI

Python libraries for Waveshare e-paper series ということで、今回の電子ペーパーシリーズ用のライブラリですね。

今回使ったのは赤白黒の3色の電子ペーパーなので、白黒用と赤用の2枚の白黒2値画像を準備してあげます。

私は GIMP で作成しました。こんな感じの手順。

  • 電子ペーパーのサイズである800×480にリサイズ
  • 赤にしたい箇所を範囲指定して切り取って別レイヤーにペースト。
  • 全体を白黒2値化。絵によってここの2値化の方法で出来栄えが大きく変わっててきます。
  • 白黒のレイヤーだけでBMPに保存。次に赤のレイヤーだけでBMPに保存。

このあたりの作成手順はできればまた別記事にて!

準備した画像ファイルを使って、こんな感じで電子ペーパーに描画できます。

from PIL import Image, ImageDraw, ImageFont

from waveshare_epd import epd7in5b_V2

epd = epd7in5b_V2.EPD()

Himage_bnw = Image.new('1', (epd.width, epd.height), 255)
Himage_red = Image.new('1', (epd.width, epd.height), 255)
Himage_bnw.paste(Image.open('白黒用の白黒2値画像ファイル名'), (0,0))
Himage_red.paste(Image.open('赤用の白黒2値画像ファイル名'), (0,0))
epd.init()
epd.display(epd.getbuffer(Himage_bnw), epd.getbuffer(Himage_red))
epd.sleep()

描画できればあとはここにいろんな機能を追加していくだけです。

たとえば・・・

  • 仕事中、会議中、仕事してない時間…で表示する内容を変える。
  • 何分かに一度表示している絵や画像を変更する。
  • SwitchBotプラグと連動して仕事用のPCの電源が入ったら表示を仕事中に変える。
  • ifttt を経由してなにかのトリガー(例えばwebhook)で表示を切り替える

とかとか…。とりあえず上記は実現済みです!

どんな感じで実現したかはまた別の記事にて。

Raspberry Pi

Posted by toshyon