われがわログ

最適化アルゴリズムとかプログラミングについて書きたい

M5Paperで部屋の環境監視用ダッシュボードを作った

最近発売されたM5Paperで、部屋の温湿度・CO2監視用ダッシュボードを作ったのでメモしておく。

成果物は下記の写真の通り。

f:id:estshorter:20210101193314j:plain
M5Paperの画面

ソースコードは以下に置いた。

github.com

M5Paper

M5Paperは2020/11/27に発売されたESP32搭載マイコンボードで、その特徴は大型電子ペーパー(540x960、4.7インチ)を搭載していることだ。発売当初は即品切れになってしまい入手できなかったのだが、年末の再入荷でやっと購入できた。

www.switch-science.com

成果物詳細

今回作ったシステムの構成は以下のとおり。

f:id:estshorter:20210109145633p:plain
システムダイアグラム

M5Paperには環境センサ(ENV II)が接続されており、ここから温湿度情報を取得している。M5Paperにも温湿度センサは内蔵されているが、本体の熱の影響を遮断するため外部センサを用いた。また、ENV IIユニットは気圧も測定できるが、今回は取得していない。CO2データは、以前の記事で紹介したCO2Miniで測定したものだ。Raspberry Pi 4でCO2データを取得し、http通信でM5Paperに渡している。LED UnitはCO2のインジケータとして使用している。

waregawa-log.hatenablog.com

時刻は外部のNTPサーバ(NICT)に接続して同期する。多機能ボタンを押し込むか、一週間経過毎に同期するようにした。また、多機能ボタンを右へ倒すと画面のリフレッシュを、左に2秒以上倒し続けるとシャットダウンするよう設定してある。

画面の文字がギザギザしていることが今後の課題。IPAフォントの40ptをLovyanGFXで3倍に拡大して表示していることが原因だとは思うのだが、滑らかに表示させるにはどうしたらよいかよくわからない、、

感想

数日使ってみた感想としては、 以前購入した、Xiaomi製電子ペーパー時計では30分に一回画面がリフレッシュ(暗転)して視覚的にうるさかったのだが、M5Paperを使うとリフレッシュタイミングを自由に制御できるのがよい。ちゃんと測定していないが、1日くらいの間なら暗転させなくても大丈夫なように思える。