【STEP2】取得した電力使用量をグラフ化 (Ambient)
節電対策&興味のため、自宅のスマートメーターから電力使用量を取得してみました。
別記事のSTEP1にて、Bルートサービスを利用し、M5StickC Plusにより、自宅のスマートメーターからリアルタイムの電力使用量を表示しました。
本記事では、STEP2として、取得した電力使用量をAmbientでグラフ化します。
基本的な内容は、M5StickCで家庭用スマートメーターをハックする! | きっと何かに役立つでしょ!? (以降、サポートサイト) を参考にさせていただき、実践したものです。
手順やプログラム等の詳細については、このサポートサイトをご覧ください。
本記事は、実践してみて気付いた点や、少しずつ実装していくため工程をスモールステップに分解し、自分なりに整理したものです。
以前のステップまでのあらすじ
STEP1では、Bルートサービスを利用し、M5StickC Plusにより、自宅のスマートメーターからリアルタイムの電力使用量を表示しました。

本記事では、続きのステップについてまとめます。
各ステップの整理
少しずつ実装していくため、工程をスモールステップに分解しています。
- STEP0 必要なモノやサービスの用意
- STEP1 ひとまず電力使用量を表示
- STEP2 Ambientでグラフ化 (本記事)
- STEP3 子機を接続 (仮)
- (その他) 何かネタがあれば (仮)
STEP0 必要な環境やモノの用意
全工程を通して必要な環境やモノについては、機会があれば別記事にまとめます。
以下は、STEP2だけのために必要となる環境やモノの説明です。
STEP2のために必要な環境
STEP2を実践するために必要な環境は以下です。
- Ambientのユーザー登録とチャネル作成
IoTデータの可視化サービスであるAmbientを使用します。

出典:Ambient
ユーザー登録と、チャネル作成を済ませておきます。
チャネルは2つ作成し、それぞれのチャネルIDとライトキーを、後ほど使用します。
瞬間電力計測値用のチャネルと、積算電力量用のチャネルです。

STEP2のために必要な機器やパーツ
STEP2を実践するために必要となる機器やパーツは、特にありません。
STEP1までに用意したものを引き続き使用します。
STEP2 Ambientでグラフ化
手順は、サポートサイトの内容を実践したものなので、詳細はそちらをご覧ください。
本記事では、アウトラインと実践してみて気付いた点をまとめておきます。
使用するファームウェアやプログラム、バージョン等
(STEP2を実践した2023年6月時点)
- AmbientのPython/MicroPythonライブラリ (Ambient公式)
AmbientDataInc/ambient-python-lib (e3f97b8) の ambient.py
プログラムの配置
サポートサイトの説明に沿って、VSCodeで、M5StickC Plusにプログラムを配置します。
STEP1からの差分
STEP1で配置したプログラムはそのまま使用します。
設定の一部修正と、追加のライブラリ配置を行います。
操作方法はSTEP1と同様、USBモードで行います。
プログラムの設定修正 (wisun_set_m.txt)
wisun_set_m.txt の以下の箇所を編集します。
- AM_ID_1: Ambientの瞬間電力計測値用チャネルのチャネルID
- AM_WKEY_1: Ambientの瞬間電力計測値用チャネルのライトキー
- AM_ID_2: Ambientの積算電力量チャネルのチャネルID
- AM_WKEY_2: Ambientの積算電力量チャネルのライトキー
編集方法としては、VSCode上でM5StickC Plus上のファイルを直接修正することもできますし、あらかじめPC側で修正したファイルをアップロードし直すこともできます。
プログラムの配置 (ambient.py)
追加でAmbientライブラリ、”ambient.py” を配置します。
AmbientDataInc/ambient-python-libからダウンロード可能です。
VSCodeでアップロードすれば配置完了です。
Ambientのチャート設定
一部動作確認を兼ねますが、以下のようにボードを作成し、そのボードにチャートを2つ登録します。
[ボード]
├─ [瞬間電力計測値用チャート] ─ [瞬間電力計測値用チャネル]
└─ [積算電力量チャート] ─ [積算電力量チャネル]
ボード ( “わがや” という名前 ) にチャートを2つ登録しました。

チャートは、チャネルのデータを表示するよう設定します。

チャネルは、M5StickC Plusから取得するデータ定義を設定します。

動作確認
Ambientでグラフが表示されるようになりました。

我が家の電力契約は、深夜~早朝の料金が安いプランなので、エコキュートの沸き上げや食洗器、洗濯乾燥機といった大物はその時間帯に動いてもらうことにします。
STEP2は、ここまでです。

(補足) Ambient 無償ユーザのデータ保存期間は4か月
従来、Ambientのデータ保存期間は1年でしたが、利用者増大に伴い、無償ユーザのデータ保存期間は2023年5月1日から4ヶ月に短縮されています。
有償ユーザの場合は従来通り1年間です。
諸元/制限 Ambientに記載されています。
まとめ
本記事では、STEP1に続いて、取得した電力使用量をAmbientでグラフ化してみました。
やはり可視化されると見やすいので、料金の高い日中帯に大きな電力消費が無いか等、一目でチェックできます。
なかなか自分だけではここまで実装できませんが、サポートサイトのおかげで、スムーズに進められました。ありがたいです。
引き続き、以降のステップも進めていきたいと思います。