家で使っている電気の消費電力ってどのくらいなんだろう?これつけたらブレーカー落ちるかな?これってどのくらい電力食うんだろう?電気って目に見えないからはっきりとはわからないですよね。そんな疑問を解決すべく、スマートメーターから現在の消費電力を取得して表示するデバイスを作ってみました。
セットアップ手順などはGitHubのページに書いてあるので、ここでは雑感などを書いていきたいと思います。
今回使用したもの
いきさつ
実はこれを制作するずっと昔から、rin_ofumiさんのWi-SUN HATキットのプログラムで使っていました。何年もずっと使っていたのですが、あるとき起動しなくなってしまい、もう一度プログラムを書き込もうとしたらうまくできなかったんです。
最初の難関はUIFlowで、VSCodeからUIFlowのFlash領域内にプログラムを転送する必要があるのですが、拡張機能のvscode-m5stack-mpyをインストールしても、Add M5Stackボタンが現れません。どうやらVSCodeのバージョンが上がったことが理由で、vscode-m5stack-mpyがもう長いことメンテナンスされていないようでした。
仕方なく別のPCに古いバージョンのVSCodeをインストールしたところ(メインPCのバージョンは下げたくないので)、今度はちゃんとAdd M5Stackボタンが現れ、プログラムを転送することができました。よし、これで完成!のはずだったのですが…
M5StickCを起動するとuser appとだけ表示されて起動しません。別の本体でもM5StickC Plusでも試しましたが結果は同じです。うーん、わからーん。
じゃあ作ろう
ここはもう諦めて、Arduino環境のC++で作ることにしました。
といってもライブラリやテクニックは既存のプログラムを参考にさせていただきました。Wi-SunモジュールのBP35A1と通信するためのライブラリはkatsushun89さんのBP35A1.hを利用させていただきました。普段ライブラリつを使ってると、どうやってデータのやりとりをしているのか考えなくてもできてしまいますが、シリアルで通信してたんですね。パラメーターはさっぱり意味不明だったので、データシートを見て一から自分で作るのはとても大変そうでした。
また、通信方法のノウハウや、活用のアイディアはrin_ofumiさんのWi-SUN HATキットを参考にさせていただきました。こちらと同じように子機が接続できて、Ambientでグラフが見れるようになっています。
オリジナルな機能としては、親機と子機はWi-FiでHTTPで通信するようにしていて、子機はM5StickCでなくてもWebブラウザからでもアクセスできるようにしました。
作り方
詳しくはGitHubのページをご覧ください。
最後に
ということで、消費電力を可視化することができました。ブレーカーが落ちないように闇雲に契約アンペア数を大きくしていたのですが、契約アンペアを超えるようなことはなかなか無いことがわかりました。考えてみればIHで料理しながら電子レンジもつけて全部屋エアコンつけてゲーミングPCでVRやることもないですからね。
ヒーターなんかなかなか温まらないくせにアホほど電気食うのに、エアコンはすぐに温まって消費電力もすぐ下がるのもわかりました。エアコン優秀すぎ!
逆に日中使ってる機器をすべてオフにしていても、常時動いている機器の消費電力が結構あるんだなというのもわかりましたね。サーバーはやっぱクラウドにした方がいいのかな。(まぁ手元で動かしてるところが面白いんですけどね)