皆さんは、うっかりブレーカー落とした経験ありませんか?
「ドライヤー使う前に今の電気使用量が分かれば良いのに!」とか思ったことないですか?
最近は、その希望が簡単に叶うって知ってますか!?
と言う事で、今回は、「スマートメーターから電力状況を取得して表示する」ことが出来る機械を作ってみたお話です。
もうブレーカー落とさずに済むよん♪
【2020.09.05】「M5StickC Plus」対応に併せ、内容を更新しました!
前説:あなたのお宅は「スマートメーター」ですか!?
ここ数年で、全国の家庭用電力メーターがスマートメーターにどんどん置き変わっています。
2019年末時点だと、もう殆どのご家庭がスマートメーターになっているのではないでしょうか?
スマートメーターって何?って人は、コチラ↓をどうぞ。
要は、昔の「薄い円盤みたいなのがグルグル回ってたアナログ的な電力メーター」ではなく、「通信機能の付いた円盤の無いデジタル式の電力メーター」の事です。(雑ッ)
なんで、スマートメーターへの置き換えが行われているかと言うと、国策で電力需給の安定化を目標にした法改正が行われたからの様ですね。
要は、電気使用量の検針を自動化して省力化しよう! 電気使用状況を細かく計測することで、電力需給を安定化させよう! という事みたい。
(各ご家庭を毎月回る検針作業が不要になることだけ見ても、かなりの効率化になってそう)
じゃあ、美味しいのは電力会社だけなの?というと、そんなことはありません。
スマートメーターになる前は、個人でリアルタイムの電気使用状況を取得する手段は、配電盤の中の電線にクランプ型電流センサを仕込む等のかなりの力業を使うしかありませんでした。
クランプ型電流センサを使った電力モニタってこんな奴↓ですね。我が家でも使っておりました。(笑)
記事中では免許なしでも出来ると書いてありますが、素人が配電盤内の電線に触るのは大変危険なので、それなりのキチ・・もとい勇者しか手を出していないと思います。
でも、スマートメーターなら、個人でも、無線通信だけでリアルタイムの電気使用状況を取得出来るんですよ!
先の様な危険な力業はもう不要なのです! なんてスマートなんでしょう!(笑)
もし、家の電力メーターがまだスマートメーター化されてないお宅でも諦める必要はありません。
経済産業省の資料によると、日本全体で2024年末までに導入完了する計画とのこと。(更に、希望すれば先んじて交換してくれるという話も。。)
スマートメーターへの置き換えには契約者の費用負担が無い(要はタダ!)のも有り難いですよね♪
ビバ! スマートメーター!!
ちなみに、スマートメーターと通信する為には、920MHz帯特定小電力無線の「Wi-SUN」規格に対応した機器が必要となります。(特殊な事情で無線が使えない環境向けに「PLC」方式のもある様ですが、今回は対象外)
最近の新築の装備奢ってる戸建てやマンションなら、最初からHEMS電力モニタ機器として上記規格に対応したメーカー品が装備されてるかも知れませんが(羨ましい!!)、そんな方は今回の対象ではありません!
今回の対象は、既に家を建てちゃってる方や、そんなブルジョア装備付けなかった!と言う方です!!(賃貸の方も)
ハックすると何が出来る様になるのか?
本ハックの概要イメージはこんな感じです。
Wi-SUN規格に対応した通信モジュール「BP35A1」(勿論、個人でも購入可能)を使って、お手軽WiFiマイコンの「M5StickC」でスマートメーターをハックします♪
家の好きな場所で今の電気使用状況が見れます!
洗面所でドライヤー使う前に、今の電気使用状況が見れたら、うっかりブレーカー落とさずに済みます。
台所で電子レンジ使う前に・・・以下同文。(笑)
一般的なHEMS機器だとモニターが一個しかない商品も多いので、ハック出来た人ならではアドバンテージになるかも?
積算電力量データーを取得出来る!
30分毎の積算電力量データーを取得できますので、記録する方法を組み込めば過去の電気使用状況を確認することが出来るでしょう。
電気代の変化と照らし合わせて、電力自由化でお得なプランの検討にも使えるでしょう。
ハックの為に必要なブツ
以下に、ハック実現に向けて必要な機器類を示します。
親機用「M5StickC」(必須)
既に持ってる人も多いかも知れませんね。
無い人は、この機会にゲットしましょう。
最近発売された大型液晶版の「M5StickC Plus」にも対応しています。(まだまだ取り扱い店が少ないですが。。)
「Wi-SUN HATキット」(必須)
当ブログ主がBOOTHで販売している商品です。
次項の「BP35A1」を組み合わせることで「Wi-SUN HAT」となります。(「BP35A1」は同梱されません)

購入時に「BOOST↑」して下さると、この詳細ガイドを書いた甲斐があるので、大変嬉しいです!
よろしくお願いしま~す!m(__)m
Wi-SUN通信モジュール「BP35A1」(必須)
Wi-SUN通信規格に対応したモジュールとして、ROHM製の「BP35A1」が必要です。
モニター子機用「M5StickC」または「M5Stack」(オプション)
モニター子機には、親機と同じ「M5StickC」か、より液晶の大きい「M5Stack」が使えます。
最近発売された大型液晶版の「M5StickC Plus」にも対応しています。(取り扱い店が少な過ぎるッ!!!)
「M5Stack」にされる場合は、本用途なら基本構成の「Basic」で十分だと思います。
WiFi環境(オプション)
当然ありますよね!?
無い人は・・・親機でスマートメーターからのリアルタイムの電気使用状況をモニターすることだけは出来ます。(モニター子機への通信はWiFiを使うので諦めて下さい・・・)
注意事項
当然ですが、全ての環境で動作を保証するものではありません。
スマートメーターの通信方式は、環境条件等によって設置が困難な場合などはWi-SUN以外にPLCになっているケースもある様です。
各自の判断で自己責任としてご利用願います。
モニター子機と親機は全て同じWiFiチャネルに繋がっている必要があります。(「SSID」ではなく「チャネル」)
WiFi中継機等を使っている場合はチャネルが違っている可能性がありますので、ご注意下さい。(チャネルが違っていた場合は、子機への通信は出来ません)
これは、サンプルプログラムで親機からの同報通信に「ESP NOW」という機能を採用した為の制約事項です。
WiFiチャネル外への送信を可能にするには、サンプルプログラムを「ESP NOW」を使わない方法にご自身でカスタムして下さい。
ハックの前に必要な事務手続き
まず、お住まいの地域の電力会社へ「電力メーター情報発信サービス(Bルートサービス)」の申請をする必要があります。
Bルートというのは、経済産業省の資料によると「①スマートメーター」と「④需要家」間の通信ルートのことで、どうやら他に「②電力会社等」と「①スマートメーター」を結ぶAルートや、Cルートがある様ですね。(さも”知ってて当然”の様にBルートと出てくるのでビックリですよね。。)
(経済産業省の資料2ページより引用)
ちなみに、この申請先の電力会社は「小売電気事業者」ではなく、送配電を担っている地域の電力会社になります。(電力自由化で「小売電気事業者」契約を変えられている場合はご注意下さい!)
尚、申請にあたり、
「供給(受電)地点特定番号」(電気代の明細に「地点番号」として記載がある)
「本人確認書類」(当然、赤の他人は申請出来ません)
が必要になりますので、事前に用意しましょう。
各電力会社の「電力メーター情報発信サービス(Bルートサービス)」の申請リンク
※一般的な家庭用は低圧電力メーターになります(高圧と間違えない様にご注意を!)
ちなみに、IDとパスワードを入手するまでには、申請から1週間以上(場合によっては3週間くらい)は掛かる様ですね。
Bルートサービスの「認証ID」と「パスワード」を無事ゲットしたら、次のステージに進みましょう。
作業の大まかな流れ
公開しているサンプルプログラムを使う場合は、以下のステップで進めます。
- 「Wi-SUN HAT」を組み立てる
- 「M5StickC」のファームを更新する
- 「VS Code」をインストールし「M5StickC」を接続する
- 「Ambient」に登録する
- 必要なファイルを親機の「M5StickC」へ転送する
- 必要なファイルをモニター子機の「M5StickC」(M5Stack)へ転送する
- 親機とモニター子機を設置する
- グラフを確認する
作業はコレだけです♪(実質一時間と掛からないでしょう)
では、早速始めましょう!
「Wi-SUN HAT」を組み立てる
まずは届いたブツを確認して下さい。半完成品の「Wi-SUN HAT」とスペーサー2個が入っています。
「W-SUN HAT」のケースが組み立った状態になっていると思いますので、2本のネジを外して裏蓋を外してください。(裏蓋は写真の様に外すと爪が折れないで外れます)
「BP35A1」の組み込み
別途ご用意頂いてる「BP35A1」を「W-SUN HAT」基板に合体させます。
「BP35A1」と「W-SUN HAT」基板の白いBoard to Board(BtoB)コネクタのオスメスを合わせて、真直ぐに挿し込みます。(斜め挿しすると壊れますのでご注意を!)
こんな感じ↓で綺麗に水平に嵌ればOKです。
続いて、スペーサーを滑り込ませますが、位置合わせの為に先程ケースを留めていたネジを仮に差し込んでおきます。(組み立て時にスペーサーが移動しない様にする為のケア)
(写真は金属スペーサーですが、同梱のスペーサーはショート防止でプラ版になってます)
スペーサーを2か所共取り付けたら、ケースに仮置きします。 そーっとね♪
ネジが浮いてる筈なので、スペーサーを動かさない様に、そーっとネジを外しましょう。
続いて、裏蓋を取り付けます。写真↓の様に斜めに挿してからパタンと倒す様にすると付けやすいです。
スペーサーがズレない様に裏蓋を嵌めれたら、ネジを2本締めます。
横に隙間が残りますが、「BP35A1」の実装ズレを吸収する為の意図的なスリットですので、この状態で正常です。
「M5StickC」に挿し込んで「Wi-SUN HAT」完成です♪
「Wi-SUN HAT」と「M5StickC」の固定がぐらぐらする場合は、「ひっつき虫」等を使って、固定させて下さい。
以降の写真では、親機の「M5StikC」で「Wi-SUN HAT」が付いてない状態のモノもありますが、付けたままでもOKです。
「M5StickC」のファームを更新する
M5Stack公式のクイックスタートを参考にして、「WiFiセッティング」まで作業を進めて下さい。
最初のM5Burnerのダウンロードリンクが404 Not Foundになってますが、メゲちゃダメです。
右上の「SOFTWARE」の「Downloads」で真のダウンロードページに遷移できます。
(いい加減リンク直そうぜ >M5Stackさん)
M5StickCにUIFlowを入れる件
公式のクイックスタート↓がやや情報古くて、凄く初歩的な所で躓いてしまったので、私の様な超初心者向けに公式との差分を残しておきますhttps://t.co/JowDvI8KjB(詳しい方にはお目汚し失礼)
— norifumi (@norifumi5001) July 7, 2019
尚、「M5StickC」へ書込むファイルは出来るだけ最新が望ましいです。
ということで、クイックスタートを見つつ、WiFi接続までとっとと済ませちゃって下さい。
「VS Code」をインストールし「M5StickC」を接続する
「M5StickC」へMicroPythonプログラムを転送する方法は色々ありますが、今回は、最近流行りの統合開発環境「Visual Studio Code(VS Code)」を使ってみます。
無料で使えますので、「VS Code」初めてという方もぜひ試してみてください。
(細かいところは追々学べば良いと思います。つか、私も分からないので誰か教えて・・・)
「VS Code」をインストールする
こちらからお使いのPC環境に合った「VS Code」をダウンロードしインストールしましょう。
(私はWindowsユーザーなので「User Installer 64bit」を選択しました)
M5Stack公式のVS Code機能拡張をインストールする
「VS Code」が起動したら、下記の赤矢印のExtensionsボタンを押します。(機能拡張ボタン)
現れた機能拡張エリアの「Marketplaceで機能拡張を検索する」の場所に「m5stack」を入力し、リスト上のM5Stack社公式の機能拡張「vscode-m5stack-mpy」を選択してインストールします。
「M5StickC」をPCに接続し、COMポート番号を確認する
「M5StickC」をPCに繋ぐ前に「USB接続モード」へ遷移させる必要があります。
M5社の公式情報が見当たらないのですが、私が試したところ、下記方法でUSB接続モードへ遷移させることが出来ました。
UIFlow1.5.3ファームのM5StickCでUSB接続モードに遷移する方法が分かった!
さっき紹介した「Button A押しながらPower Buttonを押す方法」には何故かUSB接続モードは無い模様
んで、「Button Bを押しながらPower Buttonを押す度にモード切替わる方法」が追加されたみたいで、こっちだとUSB接続出来る pic.twitter.com/7gtOnIjlOd
— norifumi (@norifumi5001) May 30, 2020
「Button B」を押しながら「Power Button」を押す度にモード切替わるので、USBのロゴが出る画面になるまで操作を繰り返してください。
これでUSB接続モードになります。
続いて、USBケーブルでPCへ繋ぎます。
「M5StickC」を繋いだ際にPCが認識したCOMポート番号をデバイスマネージャー等で控えます。
(公式クイックスタートのファーム更新の際と同じです)
私の場合は「COM9」で認識してました。
「VS Code」で「M5StickC」を繋ぐ
「VS Code」画面左下の「Add M5Stack」をクリック。
上の方に現れたCOMポートリストで、先程控えたCOMポート番号をチェックし「OK」をクリック。
次に「VS Code」の左上のエクスプローラーボタンでエクスプローラーを開きます。
エクスプローラーウィンドウ内の「M5STACK DEVICE」を選択すると、先程チェックしたCOMポート番号が現れます。
このCOMポートを選択すると、「M5StickC」の中のファイルリストが見える様になっている筈です。
はい。見えましたね。
これで「VS Code」で「M5StickC」にプログラムを流し込む準備が整いました!
リストが現れない場合は下記をご確認ください。
PC上で認識されてる「M5StickC」のCOMポート番号が合ってるか?
「M5StickC」が「USB接続モード」になっているか?
それでもダメなら一度USBケーブルを抜き差しし、「M5StickC」を電源OFF(電源ボタン6秒長押し)して再起動させるなどを試してみてください。
ここまで進んだところで、一旦「VS Code」はそのまま置きます。(終了させる必要はありません)
「Ambient」に登録する
「Ambient」とはIoTデーターの可視化サービスです。
デバイスで取得したデーターをネットワーク越しにAmbientサーバーに投げるだけで、後はAmbientサーバー上で簡単にグラフにしてくれます。
無料枠だと制限がありますが、気圧グラフくらいは問題無く作れるので、今回はこのサービスを活用させて頂きます。
まずは、ユーザー登録(無料)を行いましょう。
ログイン後、「Myチャネル」の左下の「チャネルを作る」を選択し、チャネルを2個作ります。(「瞬間電力計測値」用と「積算電力量」用)
新たに生まれたチャネル名の「チャネルID」と「ライトキー」をそれぞれ控えます。(※「リードキー」は今回は使いません)
必要なファイルを親機「M5StickC」へ転送する
必要なファイルを用意する
サンプルプログラムはGitHubに置いてありますので、GitHubのリンクより、必要なファイルを取得しましょう。
「Clone or download」のDownload ZIPにて、ZIPファイルがダウンロードされますので、任意の場所で解凍しておきましょう。
他に必要なファイルは、GitHubのREADMEに記載してありますので、そちらをご参照下さい。
続いて、設定ファイル「wisun_set_m.txt」へご自身の各種ID等を入力して頂く必要があります。
※修正内容については、先のGitHubのREADMEにて説明しておりますので、そちらをご参照下さい。
ライブラリと設定ファイルを親機「M5StickC」へ転送する
続いて、Ambientライブラリ「ambient.py」、Wi-SUNのUDPデータ解析ライブラリ「wisun_udp.py」、設定ファイル「wisun_set_m.txt」をアップロード(転送)します。
「VS Code」上で、「M5StickC」のCOMポート番号のファイルリスト右上の「upload」ボタンをクリックし、先程ダウンロードしたファイル群から各ファイルを選択して「M5StickC」へ転送します。
転送が終了すると、「M5StickC」のファイルリストにそれぞれのファイルが追加されている筈です。
テストプログラム本体「test_WiSUN_Ambient.py」を親機「M5StickC」へ転送する
テストプログラムのアップロード先は、先程のライブラリ類とは違って「apps」配下である必要があります。(後述するプログラム指定モードで選択出来るのが「apps」配下のファイルだけの為)
といっても何も難しいことではなく、「VS Code」の「M5STACK DEVICE」リスト上で「apps」の横のuploadボタンを押すだけです。
この画面キャプチャ上では色々と余計なファイルが置かれてますが、気にしちゃダメです(笑)
M5StickC用「Wi-SUN HAT」も販売再開しました!https://t.co/4uM4XwpxDo
コチラは今回販売分から、基板改版が行われております。
従来のやや変則的なシリアルポート割り当てから、M5StickCのオーソドックスな割り当てに変更となりました。([rev0.1] tx=0,rx=36 ⇒ [rev0.2] tx=0,rx=26)— norifumi (@norifumi5001) August 31, 2020
「M5StickC」をプログラム指定モードにして、プログラムを起動する
「Power Button」を6秒長押しして「M5StickC」を一旦電源OFFし、モード選択操作(「Button A」を押しながら「Power Button」を押す)で「APP.List」を選択し、先程転送したテストプログラムを選択します。
以降は、電源OFFしても次回起動時にこのプログラムが自動起動する様になります。
起動すると、「M5StickC」の画面上に「*」マークが増えていきます。
初回起動はスマートメーターのチャンネルのスキャンなどの処理が走るので、数分掛かるかも知れません。(正しく起動すれば、次回以降はチャンネルスキャン処理はスキップされます)
ある程度「*」マークが増えたところで、画面クリアされて時計表示になり、更に10秒程待つと今の電力値が表示されます。(テストプログラムのデフォルト設定だと、電力値は5秒毎更新です)
グラフを確認する
今回のテストプログラムでは、「瞬間電力計測値」を30秒毎に、「積算電力量」を30分毎に「Ambient」サーバーへ投げています。
今回のテストプログラムでは、「瞬間電力計測値」は丸一日分以上、「積算電力量」は2ヶ月分以上が見える状態になっている筈です。(超えた分は自動的に消えます)
数分待ったら、「Ambient」にログインし、Myチャネルより対象のチャネルをクリックし、グラフを確認します。
もし出てこない様なら下記をご確認下さい。
プログラム上の「チャネルID」や「ライトキー」が間違えてないか?
「M5StickC」がちゃんとWiFiでインターネット接続出来ているか?
尚、グラフの表示状態はカスタマイズが可能です。
私のカスタマイズ例を以下に示します。
「瞬間電力計測値」のAmbient設定
この設定だとおおよそ1日分の「瞬間電力計測値」の変化がこんな感じで表示されます。
「積算電力量」のAmbient設定
この設定だと1日単位の「積算電力量」の変化が棒グラフ表示される様になります。 こんな感じね。
必要なファイルをモニター子機「M5StickC/Plus」(M5Stack)へ転送する
続いて、子機を使う場合です。
事前に子機のファーム更新も親機同様に行いましょう。(「M5Stack」の場合はM5Burnerの操作が変わりますのでご注意を!)
必要なファイルを用意して子機へ転送する
サンプルプログラムは親機と同様にGitHubに置いてありますので、GitHubのリンクより、必要なファイルを取得しましょう。
他に必要なファイルも、同様にGitHubのREADMEに記載してありますので、そちらをご参照下さい。
子機では、設定ファイル「wisun_set_r.txt」は必須ではありません。(無い場合はデフォルト設定値で動作します。)
※修正内容については、親機同様にGitHubのREADMEにて説明しておりますので、そちらをご参照下さい。
ライブラリと設定ファイルを子機へ転送する
(カスタム値を使いたい場合は)続いて、設定ファイル「wisun_set_r.txt」をアップロード(転送)します。
テストプログラムを子機へ転送する
子機のテストプログラムは、「M5StickC/Plus」用と「M5Stack」用の2種類存在します。
詳しくは、先のGitHubのREADMEにて説明しておりますので、そちらをご参照下さい。
尚、テストプログラムのアップロード先も、親機同様に、先程のライブラリ類とは違って「apps」配下である必要があります。(後述するプログラム指定モードで選択出来るのが「apps」配下のファイルだけの為)
子機をプログラム指定モードにして、プログラムを起動する
親機で前述した方法と同じ様に、「M5StickC」を一旦電源OFFし、モード選択操作で「APP.List」を選択し、先程転送したテストプログラムを選択します。(「M5Stack」の場合はボタンが違います)
以降は、電源OFFしても次回起動時にこのプログラムが自動起動する様になります。
親機とモニター子機を設置する
お好きな設置方法で設置して下さい。
拙作の壁掛けホルダー等もご活用頂けると嬉しいです!
「M5StickC」用壁掛けホルダー ※M5StickC Plusでも使用できます!

「M5Stack」用壁掛けホルダー

基本的な使い方
サンプルプログラムには下記の機能を盛り込んであります。
画面消灯/点灯切り替え
Aボタンに割り当ててあります。(「M5StickC」だとM5ロゴの有るボタンで、「M5Stack」は3ボタンの左のボタンです)
瞬間電力値が使用警告閾値(「ブレーカー契約値」×「警告係数」×100)を超えている場合は、消灯モードでも勝手にLCDが点灯します。この場合は閾値を下回れば自動消灯します。
「ブレーカー契約値」は、設定ファイルの「AMPERE_LIMIT」の値です。
「警告係数」は、設定ファイルの「AMPERE_RED」の値です。
親機・子機それぞれで設定可能なので、オーブンは電力消費が大きいから台所の子機だけ係数厳しめ(より小さい値)にして置く事で、それぞれの場所に合わせた使い方が出来ると思います。
画面表示方向180度回転(「M5StickC」用のみ)
Bボタン(電源ボタンじゃない方の側面ボタン)を押すと表示が180度回転しますので、設置向きに合わせてお選び下さい。
M5StickC Plusだとこんな感じです。 液晶大きいと文字が読みやすくて良いですね♪
困ったときは?
・親機は、スマートメーターからの通信が30秒(設定ファイルの「TIMEOUT」値)以上途絶えた場合は、瞬間電力値の表示が消えます。(異常時の判定用)
・子機は、親機からのデータ送信が30秒(設定ファイルの「TIMEOUT」値)以上途絶えた場合は、瞬間電力値の表示が消えます。(異常時の判定用ですが、WiFiが30秒以上途絶えることはままありますので、あまり気にしない様にしましょう)
・親機が起動しない 「*」表示で止まる場合
PC等でシリアル出力をモニター出来ない時に進捗状況を確認する為に、M5の液晶画面にプログラム進捗ステータスとして「*」を表示しています。
まずはお手元のセットで表示されている「*」の個数を確認して下さい。
* 319行目:WiFi接続処理完了
** 337行目:Ambient初期化完了
*** 344行目:BP35A1用UART初期化完了
**** 401行目:BP35A1初期コマンド送受信完了
***** 417行目:Wi-SUNの過去セッションクリア完了
***** * 432行目:B-rootパスワード送信完了
***** ** 448行目:B-root ID送信完了
***** *** 509行目:Wi-SUNチャンネルスキャン完了 (数分掛かる場合もある)
***** **** 596行目:PANA接続処理完了 (数分掛かる場合もある)
***** ***** 617行目:積算電力係数要求送信・受信完了
***** ***** * 637行目:積算電力単位要求送信・受信完了
***** ***** ** 645行目:ESP NOW 初期化処理完了
以降はメインループ
・親機が起動しない 「***」で止まる場合
プログラム中のUARTピンの割当てが違っている可能性があります。
Rev0.1(2020/8/30以前の販売分)の方は、341行目をアクティブにして、342行目をコメントアウトして下さい。([rev0.1] tx=0,rx=36)
Rev0.2(2020/8/31以降の販売分)の方は、GitHubからダウンロードしたままで基本OKです。341行目がコメントアウト、342行目がアクティブになっている筈です。([rev0.2] tx=0,rx=26)
・電力表示まで出来てるのにAmbientにデーターが送られない場合
【2020/09/05時点の情報】最新のAmbient.pyライブラリだとAmbientへのデータ送信がうまく行えない事象が報告されています。 Mar 17.2018時点のライブラリだと正常に送信出来ますので、問題がある場合はそちらもお試しください。
GithubでAmbientさんのリポジトリを開いて、写真1枚目の場所(時計巻き戻し?アイコン)をクリック
写真2枚目のMar 17.2018の履歴の<>ボタンをクリック
で該当時期のリポジトリページが開くと思います!
(GitHub全然分からない人なので、間違えてたら御免なさい) pic.twitter.com/SaSFhcKsUA
— norifumi (@norifumi5001) September 4, 2020
その他については、GitHubでサンプルのテストプログラムのソースコードを公開しておりますので、そちらを読んでください。
(MicroPythonで記述していますから、Python読める人ならなんとかなりますよね?)
親機用ソースコードの直リンク↓
尚、公開しているプログラムは、あくまでサンプルなので、全ての環境で動作を保証するものではないことを予めご理解願います。
まとめ
なんでコレを作ったのか?
最近は企業の採算悪化などで唐突にサービス停止されて、今まで使えてたモノが急に使えなくなることが起こりかねないご時世です。
出来る限り、自分で何とか出来る状況にしておきたいよね!?・・・というのが最初に始めた経緯です。
「M5Stack」を使ったシステムは昨年末からありましたが、今年になって「M5StickC」というもっとお値打ちでシンプルなデバイスが発売されたので、多数のモニター子機を家の好きな場所に置きたい!とか、親機も「M5StickC」にすれば内蔵バッテリー付きで停電時もダウンしないんじゃね!?とか、色々と妄想が膨らんだ結果が、今回の成果となります。
謝辞
・@cinimlさん
Wi-SUN HATの最初のきっかけを下さった方です!!
それ以外にも、いつも色々なアドバイスを有難う御座います。m(__)m
昨日見たコレ
モニター付きのM5Stackとロームモジュールの組み合わせは良いアイデアだよなぁラズパイとUSBドングルで済まそうかと入手性の良さそうなデバイス探しでずっとペンディングしてたスマートメーターからの情報取得システムの再考をぼちぼち始めようと思う https://t.co/kzWe6MCLJo
— norifumi (@norifumi5001) September 15, 2018
@cinimlさんは、BOOTHでM5Stack用Wi-SUNスタックを販売されてます。(今は休止中?)
拙作のWi-SUN HATのサンプルをお渡ししたところ、速攻でUIFlowで動かすプログラムを作って下さったりと、もう感謝しかない!!(足を向けて寝れないです)
とりあえずCustom Block作ってUIFlowで @norifumi5001 さんのWi-SUN HAT動かせるようになった。流石にCustom Blockのコード領域に全部の制御コード突っ込むのは無理なので、Resource Managerでバイトコード化したモジュールを突っ込んでimportしてる。 #M5Stack #M5StickC pic.twitter.com/uWsAQWBtEH
— Kenta IDA (@ciniml) October 22, 2019
ひっつき虫のアイデアはこの方から頂きました。
https://t.co/FP3W2od6B1
私はひっつき虫をつかっています— さいとてつや (@saitotetsuya) September 28, 2019
素晴らしいアイデアです! 有難う御座います。m(__)m
・@mokjpnさん
7セグLEDによる見やすい表示器の制作例。
@norifumi5001 さんのM5StickC Wi-SUN HAT用プログラムからESPNowで出ているデータをESP-WROOM-32で拾って、 @ShigezoneAkiba さんで購入したピンク極小7セグLEDシールドに表示させてみた https://t.co/WtjIhRyUk9
— Masafumi Okada (@mokjpn) May 8, 2020
モニタとしては大きい表示器が正義ですよね!!
もっと大型の7セグLED探して試してみたいところ。
・miyaichiさん
車輪の再発明はハックの王道ですよね!!
BOOTHで販売中のM5StickC用「Wi-SUN HAT」を使った活用実例を頂戴しました!!!
車輪の再発明、大歓迎です♪(ハックの醍醐味ですよね)https://t.co/Lsa3qO98rL
— norifumi (@norifumi5001) July 8, 2020
有難う御座いま~す!!m(__)m
コメント
最近、新しいバージョンのBP35C1-J11-T01の販売が開始されたようですが、これも使うことはできるのでしょうか?
mogw2さん コメント有難う御座います。
「BP35C1-J11-T01」は「BP35A1」とコネクタは共通で基板サイズも同じですが、信号割り当ての変更と端子処理の変更があるので、(恐らく)そのままでは使用できません。
通信方式も違う様なので、プログラムの流用も難しいと思います。
こんにちは。
記事を見てやってみようとおもったのですが、WiSUN HATが売り切れでできないようです。
再入荷の予定はありますか?
ぼへみあ さん コメント有難う御座います。
「Wi-SUN HAT」の在庫切れ、誠に申し訳ありません。
只今、増産作業に掛かっておりますので、今週末には在庫回復させれると思います!!
お待たせして大変申し訳ありませんが、もう暫しお待ち下さいませ。m(__)m
BOOTHの「入荷お知らせメール」機能で在庫回復時に通知が来る様に出来ます。 こちらもご活用頂けると幸いです。
こんにちは。
先日親機のみで運用を始めたのですが、大体1日くらい経つと通信できない状態(電力の表示オフ)になってしまいます。
コードを見た限り、再接続処理が無いように思われます。
PANAのセッションには24時間の有効期限があるようです。
http://route-b.iij.ad.jp/archives/128
dbcさん コメント有難う御座います。
加えて、情報有難うございます。
仰られる通り、GitHub上で公開しているサンプルプログラムではセッションの再接続処理は行っておりません。
一定時間情報更新が無ければ電力表示が消える動作にしているので、そこで再接続処理を行うロジックを入れれば期待される動作に近づけるかも知れませんね。
ただ、スマートメーターの機種の違いか、電力会社の違いか、他の要素かは分かりませんが、セッションの有効期限の挙動は環境によって違いがある様です。
記事中でも書いておりますが、全ての環境で動作を保証するモノではありませんので、お手元の環境で動く様にプログラム改修頂ければ幸いです。
(GitHubで公開しているプログラムは、MITライセンスと比較的弄りやすいライセンスにしてあります)
お返事ありがとうございます。
修正できたらpull-requestを送ってもいいですか?
> 修正できたらpull-requestを送ってもいいですか?
勿論です!
当方、GitHubに初心者故に儀式が分からず色々と失礼してしまうかも知れませんが、生暖かく見守って頂けると幸いです。
今後も宜しくお願いします!
有益なプログラムと情報をありがとうございます。
無事に電力測定とグラフ化することができました。
ただ1点、有識者の方には既知の問題かもしれませんが、Ambientへのデータ送信で躓いた箇所がありましたのでお知らせします。
MicroPythonではurequestsでtimeout機能が無いので、post処理の引数にあるtimeoutを削除しないとデータ送信失敗のままでした。ご参考まで。
石渡登 さん コメント有難う御座います。
MicroPyhtonにはurequestsでtimeout機能が無いんですね。
記事中ではAmbientさんのライブラリは古い版を使う様に推奨してましたが、確かにその後の版でtimeout関連のコードが追加されてるので、ご推察通りの状況だと思われます。
Ambientさんのライブラリの問題なので、対応はお任せするしかないですが、当面は古い版を使用して頂くしかないかも知れませんね。
情報有難う御座います。
拙作のご利用と併せて、重ねて感謝申し上げます。m(__)m
初めまして
Wi-SUN HATキットの再販予定はございますか?
イケ さん コメント有難う御座います。
「Wi-SUN HAT」の在庫切れ、誠に申し訳ありません。
只今、増産作業に掛かっておりますので、数日中には在庫回復させれると思います!!
お待たせして大変申し訳ありませんが、もう暫しお待ち下さいませ。m(__)m
BOOTHの「入荷お知らせメール」機能で在庫回復時に通知が来る様に出来ます。 こちらもご活用頂けると幸いです。