#はじめに
額縁の絵をリモートで差し替える、素敵、と思ってつくってみたくなりました。
https://dailyportalz.jp/kiji/e_paper-gakusou
作業環境
- Mac Mojave
- Arduino IDE
どんなことか動画で調べる
e-paperは初見なので。
ESP32,ESP8266でのPIN接続について
https://www.youtube.com/watch?v=AeYbX0zaJTY
手順
はまったところはあとでまとめました。
ライブラリをダウンロード・アップデート
ツール > ボード:ESP32 Dev Module > ボードマネージャ
ソースコードをダウンロード・修正
Arduino IDEを用いてWifi版とbluetooth版両方のサンプルを試して、Wifi版での操作に絞りました。
bluetooth版は途中までなので、ここでは割愛します。
Loader_esp32wf
に含まれるepd.hのPINを都合に合わせて書き換えました。
以下は一例として、ご都合に合わせてください。
電子ペーパーモジュール用ESP32ドライバボードを接続・実行
シリアルポートが表示されなかったらドライバをいれる
https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers
転送がおわったらシリアルモニターを監視します。
うまくいっていれば、IPアドレスが表示されるのでアクセスするとサイトが表示されます。
詳しくはドキュメントをみましょう。
今現在はP.12あたりです
https://www.waveshare.com/w/upload/4/4a/E-Paper_ESP32_Driver_Board_user_manual_en.pdf
ハマったところ
シリアルポートが表示されなかった
issueを確認し、ドライバをインストールを実施
https://github.com/espressif/arduino-esp32/issues/1084#issuecomment-363294312
サンプルコードを実行してもe-Paperに表示されない
ESP32の方のフローは正しい気がしていたのでe-Paper側になにか問題があるのだとおもってましたが
epd.hのPINの番号が他ESP32の開発ボードサンプルと全然違った。
bluetoothの例はAndroidのソースを改修
ソースコードはminSDKがAPI23あたり、手持ちのAndroidがAndroid API21(version5.0.2)だったのでソースコードの改修を途中まで行いました。
PermissionHelperを
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
}
でくくる作業をして、ファイルをだすところまでで一度止めました。
ファイル転送で応答なしになったので、PINの指定で動線が切れてしまっていたのだと思います。
そのためWifiで接続する方法に切り替えました。
家のWifiが弱い
接続がとても遅いのか、ドアに遮蔽されているのか、私の自宅はwifiがヨワヨワで非常にストレスでした。
画像の転送ができない理由がWifiが弱いからなのかと疑ってPINの番号指定が違うことに気づくのが遅れました。
#さいごに
素材のお買い物の話で、素通りでいい話です。
自作用のe-paperはwaveshareから通販で買うことにしました。
国内で高解像度のものは流通していなかったから
7.5inch HD e-Paper HAT (B)
https://www.waveshare.com/7.5inch-hd-e-paper-hat-b.htm
ラズパイのHATだなあと注文した後で気づいて(適当)
waveshareのe-paper部分はgood displayから仕入れている、とどこかで見知って
ESP32だけならこっちにすればよかったと思いもしました。
ラズパイでも使えばいいかと。
http://www.good-display.com/products_detail/productId=535.html
届くのに時間がかかるのは承知なので、理解のための実装の材料は全部せんごくで揃えました。
https://www.sengoku.co.jp/index.php
デイリーポータルの方はキットを売り出すそうなので、材料を揃えるならそっちもオススメです。
https://twitter.com/tokyo_ff/status/1272905514368860162
参考サイト
全体的な流れ
https://macsbug.wordpress.com/2017/09/07/e-paper-with-esp32/
https://asukiaaa.blogspot.com/2019/01/esp32154epaper.html
サンプルコードについて理解する
ここにPINの番号を書き換える記述があったのに見逃してはまってしまいました
https://garretlab.web.fc2.com/arduino/lab/epd/
##マニュアルとサンプルコード
Universal e-Paper Raw Panel Driver Board, ESP32 WiFi / Bluetooth Wireless
https://www.waveshare.com/wiki/E-Paper_ESP32_Driver_Board#Documentation
2.9inch e-Paper Module (B)
https://www.waveshare.com/wiki/File:E-Paper_ESP32_Driver_Board_Code.7z
e-paperだけのサンプルコード
https://github.com/ZinggJM/GxEPD/tree/master