眠っていたかわいい電子ペーパーデバイスを活用してあげたくなったので、夫と一緒におうち掲示板を作りました。というか夫がだいたい作ったあとで私が割り込んで微調整をしました。ハードウェアに明るくない私でも開発することが出来たので、簡単に記録を残しておきます。私たちにしては珍しくノーコード開発です。
What We Wanted: 欲しかったもの
私たちがぼんやりと欲しがっていたものはおうち掲示板のようなもので、やることリストやおかいものリスト、カレンダーなど、家庭生活に必要な情報がまとまった物理ダッシュボードでした。目に入るところにそういった情報があると意外と便利ですが、使いやすいものを作るのは意外と難しいのです。
今までは壁掛けのホワイトボードに手書きでなんとかする、という運用をしてきましたが、毎回TODOを整理して書き直すのは少し面倒なように感じていました。また、大きなタブレットを吊るすことも考えましたが、ちょうどいい位置にコンセントが無く、手書きのほうが早いようなことも意外と多いので、結局実現しませんでした。今回は M5Paper を使いたかったこともあり、ホワイトボード + やることリスト用電子ペーパー、というスタイルにしてみることに決めました。
What We Implemented: 作ったもの
カバー画像にあるとおりの TODO リスト表示デバイスを作りました。M5Paper にはマグネットもついているので、先述のホワイトボードにくっつけて設置しています。
今回使ったものは以下のとおりです。
- M5Paper: タッチ操作可能な電子ペーパーを搭載した M5Stack のコアデバイス。今回はタッチ操作は実装しませんでした。
- UIFlow / M5Flow: M5Stack シリーズ向けの開発環境。ビジュアルプログラミングと MicroPython でのプログラミングに対応していますが、今回は前者を使ってみました。
- Notion: Notion にカンバン形式のタスクボードを作り、その内容を M5Paper に表示することにしました。
実際に組んだブロックはこんな感じになりました。写っている範囲では、右下にQRコードを出してみたり、電池残量メモリを力技で表示したりしています。カラフルでかわいいですね。
ノーコードでの開発には、初心者に優しいこと以外にも、ブロック同士の依存関係が分かりやすく処理の順番を入れ替えるのが簡単、タイプミスが減る、などのメリットがあるように思います。正直なところ「Pythonで書きたいよ〜〜😢」となった場面もありましたが、慣れれば開発スピードも早くなるのかもしれません。ちなみに今回は使いませんでしたが、「ベタ書きされた Python コードを実行する」という楽しいブロックもありました。
充電頻度を減らすために、今回の実装では Notion から TODO を取ってきて表示するという操作を30分に1回行うようにしました。電子ペーパーなので、更新の時間以外はほぼ電力を消費せずに済むようです。数週間は電池が保つことを期待しつつ見守ろうと思います。
TODO
日本語対応
ほぼ思った通りのものが出来ましたが、一点だけ気になっているのが日本語対応です。フォントの都合で使える漢字が少なく、対応していないものは * で表示されてしまいます。なんとなく分かりはするものの気になるので、いずれ直したいです。
おわりに
私は普段ハードウェアにはほぼ触れないのですが、開発環境が整っていたおかげで意外と簡単に入門できました。電子工作も出来る人と一緒に何かを作るというのは新鮮で楽しかったです。ノーコード開発も面白かったし、機会があればまたやってみたいと思いました。
使っていく中で新しく追加したい機能も出てくるはずなので、定期的にメンテナンスをしつつ活用していきたいです。