MicroPython project / Wi-SUN HAT & M5StickC / Data storage uses Ambient
- M5StickCとRHOM製Wi-SUN通信モジュール「BP35A1」を使って、家庭用スマートメーターをハックするプログラムです。
- 「BP35A1」をM5StickCへ簡単に装着する為の「Wi-SUN HATキット」(BOOTHで販売中)を使えば、半田付けもジャンパー線配線も無しで使えます。
- AmbientというIoTデータ可視化サービスを使って、記録を残すことも可能です。(無料枠で使えます)
- MicroPythonで記述しています。(ファームウェアは UIFlow-v1.4.1-beta を推奨)
この様な電力データグラフを取得出来るようになります。
洗面所のドライヤー近くや、キッチンなどの大電力家電を使う場所にモニター子機を設置することで、うっかりブレーカーを落とす危険を排除します。
Ambientへのデータ送信(記録)を使う場合は、こちらのライブラリが必要です。
「ambient.py」を親機のM5StickCのルートに保存して下さい。
NTP時刻同期機能は、こちらのライブラリを使っています。
「ntptime.py」をダウンロードし、下記部分を修正して下さい。(日本時間へ設定を変える為)
NTP_DELTA = 3155673600
↓
NTP_DELTA = 3155673600 - (9*60*60)
修正したら「ntptime.py」を親機と子機のM5StickCのルートに保存して下さい。
親機のM5StickCのルートに保存して下さい。
M5StickCのプログラム選択モード「APP.List」から起動させる場合は、親機のM5StickCの「Apps」配下に保存して下さい。
- Bルートの「認証ID」を「BRID:」以降に、「パスワード」を「BRPSWD:」以降に追記して下さい。※必須です!
- Ambientで瞬間電力計測値を記録する場合は、「チャネルID」を「AM_ID_1:」以降に、「ライトキー」を「AM_WKEY_1:」以降に追記して下さい。
- Ambientで30分毎積算電力量を記録する場合は、「チャネルID」を「AM_ID_2:」以降に、「ライトキー」を「AM_WKEY_2:」以降に追記して下さい。
- 電力契約のアンペアブレーカー値を「AMPERE_LIMIT:」以降に追記して下さい。
- 電力使用過多警告の係数を「AMPERE_RED:」以降に追記して下さい。
- 子機向けのESN_NOW発信を止めたい場合は、「ESP_NOW:1」を「ESP_NOW:0」に修正して下さい。
※全てにおいて、空白文字、"などは含まない様にして下さい
修正後、親機のM5StickCのルートに保存して下さい。
「test_WiSUN_read.py」がM5StickC用で、「test_WiSUN_read_m5stack.py」がM5Stack用です。
プログラム選択モード「APP.List」から起動させる場合は、「Apps」配下に保存して下さい。
- 電力契約のアンペアブレーカー値を「AMPERE_LIMIT:」以降に追記して下さい。
- 電力使用過多警告の係数を「AMPERE_RED:」以降に追記して下さい。
※全てにおいて、空白文字、"などは含まない様にして下さい
修正後、子機のM5StickC(あるいはM5Stack)のルートに保存して下さい。
- 親機のプログラム起動させると、M5StickCの画面に「*」が表示して積み上がっていきます。数十秒から数分すると時刻が、更に数十秒で電力値が表示されます。
- 5秒毎に瞬間電力計測値をスマートメーターから取得しています。(通信が重なったりした場合は数回途切れることもあります)
- 30分毎に積算電力量をスマートメーターから取得しています。
- 30秒毎に瞬間電力計測値を、30分毎に積算電力量をAmbientへ送信しています。(オプション設定した場合)
- 時刻が赤文字の時はAmbientへの通信が出来ていない事を示します。(初回通信してない起動直後は時計は赤文字)
- ESP_NOWにより、子機へ瞬間電力計測値を一斉同報しています。(オプションで一斉同報OFFにも出来ます)
- 親機はスマートメーターからの通信が[TIMEOUT]秒以上無かった場合に、子機は親機からのESP_NOW同報が[TIMEOUT]秒以上無かった場合に電力値表示が消えます。
- Aボタン(M5ロゴの有るボタン)を押すと画面消灯します。もう一度押すと画面点灯します。(電力が警告値を超えてる場合は、強制点灯されます)
- Bボタン(電源ボタンじゃない方の側面ボタン)を押すと表示が180度回転しますので、設置向きに合わせてお選び下さい。
- Aボタン(3ボタンの左のボタンです)を押すと画面消灯します。もう一度押すと画面点灯します。(電力が警告値を超えてる場合は、強制点灯されます)
その他の情報についてはブログをご参照下さい。
- UIFlow-v1.4.2 ファームへの対応。(但し、ESP NOW同報で不具合が出てます。ESP NOW同報を使いたい場合はUIFlow-v1.4.1-betaファームをお使いください)
- 初回起動時にUARTの塵が出るケースへの対応。
- AmbientのチャネルID桁数チェックの削除。(5桁縛りだと勘違いしてました)
- UIFlow-v1.4.2 ファームへの対応。(但し、ESP NOW同報で不具合が出てます。ESP NOW同報を使いたい場合はUIFlow-v1.4.1-betaファームをお使いください)
- その他バグFix
- 最初のリリース