前回作成したワットチェッカーですが、色々と使い勝手が悪くて作り直すことにしました。こちらについて紹介したいと思います。
特徴
前回は他の方のプロジェクトを利用させてもらったのですが、たまにリクエストを処理することが出来なかったり、グラフの表示の仕方を変更したかったので、自作しました。
このワットチェッカー用プログラムのために、MicroPythonで動くWebサーバーから準備しています。既存のプロダクトを参考にしていますが、以下のような特徴を備えています。
- Flask のようなルーティングハンドラの設定
- WebSocket 通信のサポート
- 並列動作
使用しているデバイス
デバイスは前回のものと同じです。
Raspberry Pi Pico W
Raspberry Pi Pico W に、値の取得や可視化を担当させます。最近になって Wi-Fi および Bluetooth の両対応版のファームウェアが提供されるようになったので実現できました。
SwitchBot スマートプラグミニ
本来はアレクサから操作したり、 SwitchBot の提供する管理API やアプリケーションで操作するのですが、Bluetooth でも情報を得ることができるようになったのでこのデバイスを選択しました。
動作画面
Webブラウザで Pico Wにアクセスするとこのような確認をできるようになりました。複数のブラウザでアクセスしても同じようにリアルタイムでの確認ができます。
プログラム
今回作成したワットチェッカーのプログラムは GitHub で公開しています。このプログラムを Thonny から実行することを想定しています。
実行するとコンソールに IP アドレスが出力されるので、そのアドレスに Web ブラウザからアクセスするという流れとなっています。そのため起動時には Wi-Fi のセットアップ、また現在の時刻取得も行うようにしています。
この中で使用しているWebサーバー部分は、他のプロジェクトでも利用できるよう切り出しをしました。これもまたGitHubに公開しています。
まとめ
ワットチェッカーはいろいろなものがあると思いますが、自作するメリットは好きなように視覚化できたり、データを好きな形で残すことが出来るという点にあると思います。
消費電力を単純に表示するだけのものは多くありますが、データを外部からリアルタイムで取得できるようなものとなると少しお値段が高くなるように感じます。このスマートプラグミニは安価で実現できると思ったのでトライしたのですが、うまく実現ができてよかったと思います。
コメント