皆さんは、うっかりブレーカー落とした経験ありませんか?
「ドライヤー使う前に今の電気使用量が分かれば良いのに!」とか思ったことないですか?
最近は、その希望が簡単に叶うって知ってますか!?
と言う事で、今回は、「スマートメーターから電力状況を取得して表示する」ことが出来る機械を作ってみたお話です。
もうブレーカー落とさずに済むよん♪
前説:あなたのお宅は「スマートメーター」ですか!?
ここ数年で、全国の家庭用電力メーターがスマートメーターにどんどん置き変わっています。
2019年末時点だと、もう殆どのご家庭がスマートメーターになっているのではないでしょうか?
スマートメーターって何?って人は、コチラ↓をどうぞ。
要は、昔の「薄い円盤みたいなのがグルグル回ってたアナログ的な電力メーター」ではなく、「通信機能の付いた円盤の無いデジタル式の電力メーター」の事です。(雑ッ)
なんで、スマートメーターへの置き換えが行われているかと言うと、国策で電力需給の安定化を目標にした法改正が行われたからの様ですね。
要は、電気使用量の検針を自動化して省力化しよう! 電気使用状況を細かく計測することで、電力需給を安定化させよう! という事みたい。
(各ご家庭を毎月回る検針作業が不要になることだけ見ても、かなりの効率化になってそう)
じゃあ、美味しいのは電力会社だけなの?というと、そんなことはありません。
スマートメーターになる前は、個人でリアルタイムの電気使用状況を取得する手段は、配電盤の中の電線にクランプ型電流センサを仕込む等のかなりの力業を使うしかありませんでした。
クランプ型電流センサを使った電力モニタってこんな奴↓ですね。我が家でも使っておりました。(笑)
記事中では免許なしでも出来ると書いてありますが、素人が配電盤内の電線に触るのは大変危険なので、それなりのキチ・・もとい勇者しか手を出していないと思います。
でも、スマートメーターなら、個人でも、無線通信だけでリアルタイムの電気使用状況を取得出来るんですよ!
先の様な危険な力業はもう不要なのです! なんてスマートなんでしょう!(笑)
もし、家の電力メーターがまだスマートメーター化されてないお宅でも諦める必要はありません。
経済産業省の資料によると、日本全体で2024年末までに導入完了する計画とのこと。(更に、希望すれば先んじて交換してくれるという話も。。)
スマートメーターへの置き換えには契約者の費用負担が無い(要はタダ!)のも有り難いですよね♪
ビバ! スマートメーター!!
ちなみに、スマートメーターと通信する為には、920MHz帯特定小電力無線の「Wi-SUN」規格に対応した機器が必要となります。(特殊な事情で無線が使えない環境向けに「PLC」方式のもある様ですが、今回は対象外)
最近の新築の装備奢ってる戸建てやマンションなら、最初からHEMS電力モニタ機器として上記規格に対応したメーカー品が装備されてるかも知れませんが(羨ましい!!)、そんな方は今回の対象ではありません!
今回の対象は、既に家を建てちゃってる方や、そんなブルジョア装備付けなかった!と言う方です!!(賃貸の方も)
ハックすると何が出来る様になるのか?
本ハックの概要イメージはこんな感じです。
Wi-SUN規格に対応した通信モジュール「BP35A1」(勿論、個人でも購入可能)を使って、お手軽WiFiマイコンの「M5StickC」でスマートメーターをハックします♪
家の好きな場所で今の電気使用状況が見れます!
洗面所でドライヤー使う前に、今の電気使用状況が見れたら、うっかりブレーカー落とさずに済みます。
台所で電子レンジ使う前に・・・以下同文。(笑)
一般的なHEMS機器だとモニターが一個しかない商品も多いので、ハック出来た人ならではアドバンテージになるかも?
積算電力量データーを取得出来る!
30分毎の積算電力量データーを取得できますので、記録する方法を組み込めば過去の電気使用状況を確認することが出来るでしょう。
電気代の変化と照らし合わせて、電力自由化でお得なプランの検討にも使えるでしょう。
ハックの為に必要なブツ
以下に、ハック実現に向けて必要な機器類を示します。
親機用「M5StickC」か「M5StickC Plus」か「M5StickC Plus2」(必須)
最近モデルチェンジされており、現行モデルは「M5StickC Plus2」です。
「M5StickC(無印)」と「M5StickC Plus」は販売終息した旧モデルです。(無印は液晶が小さいです)
現状で旧モデルを買う必要はあまりないと思いますので、新しい「M5StickC Plus2」をお勧めします。
「Wi-SUN HATキット」(必須)
当ブログ主が販売している商品です。
次項の「BP35A1」または「BP35C1-J11-T01」を組み合わせることで「Wi-SUN HAT」となります。(「BP35A1」または「BP35C1-J11-T01」は同梱されません)
BOOTHの販売リンクはコチラ↓
購入時に「BOOST↑」して下さると、この詳細ガイドを書いた甲斐があるので、大変嬉しいです!
よろしくお願いしま~す!m(__)m
スイッチサイエンスの販売リンクはコチラ↓
「BP35A1」対応の「Wi-SUN HAT(無印)」
「BP35C1-J11-T01」対応の「Wi-SUN HAT-C1」
Wi-SUN通信モジュール「BP35A1」または「BP35C1-J11-T01」(必須)
Wi-SUN通信規格に対応したモジュールとして、ROHM製の「BP35A1」か「BP35C1-J11-T01」が必要です。
残念ながら「BP35A1」は生産終了となってしまいましたが、後継モジュールとして「BP35C1-J11-T01」が販売されております。(互換性は無く、入替えての使用は出来ません)
国内だとチップワンストップさんあたりで取り扱いがありますね。
モニター子機用「M5StickC」または「M5Stack」(オプション)
モニター子機には、親機と同じ「M5StickC」か、より液晶の大きい「M5Stack」が使えます。
液晶サイズが大きく文字も見やすい「M5StickC Plus」か「M5StickC Plus2」がお勧めです。
「M5Stack」にされる場合は、本用途なら基本構成の「Basic」で十分だと思います。
あ、そうそう、M5Stack Basicもモデルチェンジしてて、V2.7が現行モデルです。
一応、M5Stack Core2系も対応しています。
っと、Core2もモデルチェンジしてて、今はv1.1が現行モデルですね。
M5StickC/Plus用壁付けホルダー(オプション)
ついでに、拙作の壁付けホルダーを使うと設置しやすくなり幸せになれます。(私も商品が売れて幸せになれます♪)
(当然、新モデルのM5StickC Plus2にも対応しています)
ブログ主宅では、脱衣所(洗面所)にモニター子機にしたM5StickCを設置しており、ドライヤーを使う際に電力使用状況をチェックしつつブレーカーを落とさない様にしております♪
台所にもあると、電子レンジを使う際にも同じことが出来ますね。
こちらは、同じく拙作のM5Stack/M5Stack Core2用壁付けホルダーを使用したモニター子機の設置例です。
大電力な電化製品を使う場所には全てモニター子機を設置したいですよね♪
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」のファームウェアを更新する
M5StickC(またはM5Stack)のソフトウェア開発環境には色々な選択肢がありますが、ここでは用意したサンプルプログラム(MicroPythonで記述されてます)を使う方法をご紹介します。
まずは、MicroPythonのインタプリタとして、M5StickC(またはM5Stack)にM5Stack公式の「UIFlow」ファームウェアを書き込む必要があります。
UIFlowの内側ではMicroPythonインタプリタが動いているので、ここでは、そのMicroPythonインタプリタを利用して直接MicroPythonで記述したプログラムを実行させる手法をとっています。
ファームウェアの書き込みにはM5Stack公式の「M5Burner」というソフトウェアを使用します。
M5Burnerの使い方については、さいとてつやさんのコチラ↓の記事が大変分かりやすいので、是非参考にして下さい。(さいとてつやさん、素晴らしい記事を公開してくれて有り難う御座います!)
尚、WiFi関連のセッティングもM5Burner上でファームウェア書き込み時に一緒に行います。
「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」のファイルリストにそれぞれのファイルが追加されている筈です。
テストプログラム本体を親機「M5StickC」へ転送する
テストプログラム本体は、BP35A1向けの「Wi-SUN HAT(無印)」用が「WiSUN_HAT_A1.py」で、BP35C1-J11-T01向けの「Wi-SUN HAT-C1」用が「WiSUN_HAT_C1.py」となっています。
テストプログラム本体のアップロード先は、先程のライブラリ類とは違って「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」の値です。
親機・子機それぞれで設定可能なので、オーブンは電力消費が大きいから台所の子機だけ係数厳しめ(より小さい値)にして置く事で、それぞれの場所に合わせた使い方が出来ると思います。
BEEP音有り/無し切り替え
Aボタンのダブルクリックで、瞬間電力値が使用警告閾値を超えた際にBEEP音を鳴らすか鳴らさないかを選択できます。(画面右上のBEEPマーカーの状態も変わります)
尚、M5StickC(無印)の場合は、このBEEP機能は使えません。(ブザーが無いため)
画面表示方向180度回転
Bボタン(電源ボタンじゃない方の側面ボタン)を押すと表示が180度回転しますので、設置向きに合わせてお選び下さい。
Ambientへの通信状態マーカー
左上の2個の丸が、Ambient 1(瞬間電力値)とAmbient 2(30分毎積算電力量)の送信状態を示しています。
丸が枠だけの時は、設定はあるけどまだ一度も送信してない状態です。
送信が成功すると丸が緑塗り潰しとなり、失敗すると赤の塗り潰しとなります。
尚、設定が無い場合は、丸が表示されません。
困ったときは?
・VS Codeで「Add M5Stack」が表示されない!
VS Codeのバージョンアップにより、シリアルポート周りの問題が出ることがある様です。
VS Codeのバージョンを古い奴にすると「Add M5Stack」ボタンが現れることもありますので、参考にしてみて下さい。MicroPythonには、VS Code以外の開発方法も色々あるので、そちらをお試し頂くのも手です。
Windowsマシンで「Add M5Stack」ボタンが現れなくなってた件
1月時点のVer1.53まで遡れば大丈夫みたい開発環境は迂闊にアップデートしてはイケないのね!
なるほど、そう言う事か・・・(どういう事??) https://t.co/lzt2cSPJb8 pic.twitter.com/sOpSKgh16n— norifumi (@norifumi5001) August 10, 2021
VSCodeで「Add M5Stack」ボタンが表示されない件、対応を纏めて下さってる方がいらっしゃったので、リンクを貼っておきます。
・電力値表示が消えた!
親機は、スマートメーターからの通信が30秒(設定ファイルの「TIMEOUT」値)以上途絶えた場合は、瞬間電力値の表示が消えます。(異常時の判定用)
更に「TIMEOUT」値の4倍の時間が経っても通信が回復しなかった場合は、自動でリブートして再接続する様にしてあります。
子機は、親機からのデータ送信が30秒(設定ファイルの「TIMEOUT」値)以上途絶えた場合は、瞬間電力値の表示が消えます。(こちらも異常時の判定用ですが、WiFiが30秒以上途絶えることはままありますので、あまり気にしない様にしましょう)
・親機が起動しない! 「*」表示で止まる場合
PC等でシリアル出力をモニター出来ない時に進捗状況を確認する為に、M5の液晶画面にプログラム進捗ステータスとして「*」を表示しています。
まずはお手元のセットで表示されている「*」の個数を確認して下さい。
* :WiFi接続処理完了
** :Ambient初期化完了
*** :BP35A1用UART初期化完了
**** :BP35A1初期コマンド送受信完了
***** :Wi-SUNの過去セッションクリア完了
***** * :B-rootパスワード送信完了
***** ** :B-root ID送信完了
***** *** :Wi-SUNチャンネルスキャン完了 (数分掛かる場合もある)
***** **** :PANA接続処理完了 (数分掛かる場合もある)
***** ***** :積算電力係数要求送信・受信完了
***** ***** * :積算電力単位要求送信・受信完了
***** ***** ** :ESP NOW 初期化処理完了
以降はメインループ
公開しているサンプルプログラムのソースコードを「*」の個数を手掛かりで検索すれば、実行時にどのステップまで進んでいるのかが分かる目安としています。
・親機が起動しない 「***」で止まる場合
プログラム中のUARTピンの割当てが違っている可能性があります。
Rev0.1(2020/8/30以前の販売分)の方は、UARTポート設定部分のコメントアウト行を入れ替えて下さい。(rev0.1は [tx=0,rx=36]が正解です)
Rev0.2(2020/8/31以降の販売分)の方は、GitHubからダウンロードしたままで基本OKです。(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
本件は、2021/7/4にAmbientさんのPythonライブラリが更新されたことにより、問題解決しております。 Ambientさま、対応有難う御座います。m(__)m
・M5StickCが黒画のまま!
まずは、上記までの内容を見て、間違いを確認して下さい。
それでも画面が黒画のままの場合は、Co2 HATを外し、M5StickC/Plus単独で暫く充電して下さい。(内部バッテリーが過放電されている場合は、起動に問題が出るケースもある様です)
Macの場合はシリアルポートの問題が出るケースもあるとか・・・こういう本↓もある様です。色々と他の不具合情報も載っている様なので、ご参考まで。
・Wi-SUNモジュール「BP35A1」が買えない! 価格が高騰している!
昨今の半導体・樹脂部品の不足の影響か、ROHMさんのモジュールの入手難が続いています。
皆さん、入手にはご苦労されている様で、この様な手段で入手されてた方もいらっしゃいました。
wsrの中身を取り出して、@norifumi5001 さんのwi-sun hatに載せ替え。液晶付きでラズパイより小さくなったーhttps://t.co/6Tauwsj466
(調子に乗って@miyaichi さんのコードを導入してみたらconnecting Wi-Fiで再起動しちゃうので、頭ひねって楽しみながら勉強中 pic.twitter.com/kcHcNDDTK7
— TOMOHIRO OKADA (@to090915) September 16, 2021
数ヶ月おきにチップワンストップさんとかで通常在庫が復活する瞬間がある様なので、マメにウォッチして入手しましょう!(多分、転売屋さんとかはまだ現れて無い筈・・・)
・うまく動かないので、M5StickC(またはM5Stack)の状態を知りたい!
うまく動かない場合には、基本的に上記までの内容を再確認して頂くことになりますが、本体画面上の「*」表示以外の手掛かりとして、PCに繋いだM5StickC(またはM5Stack)のUSBシリアル通信をTeraTerm等のターミナルソフトでモニターする方法があります。
TeraTermのシリアル通信の設定例
サンプルプログラムでは、USBシリアルで動作過程のテキスト情報を出力しています(しつこい程の量なので、何が出力されるかはソースコードを見て下さい)ので、プログラムが何処で止まってるか・何処まで進んだかの手掛かりの一つとしてご活用下さい。
その他については、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
・@ryu2012さん
先程のmiyaichiさんのをベースに、最近のUIFlowファームでも動く様にカスタマイズされてます。
先日掲載したdiffに追加してこちらの修正部分もdiffを取ったので記事を更新しておいた。
M5StickCを使ってスマートメーターから電気使用量を表示した | 物欲帳 https://t.co/1JZKn7hzuU
— リュー (@ryu2012) February 1, 2021
現状のMicroPythonベースのプログラムでは一番高機能だと思われ。
(私のサンプルプログラム要らないんじゃ?と思われ・・・w)
・@waranyoさん
電子ペーパー端末の「M5Paper」を併用して、お家サイネージが出来ちゃってます!
電子ペーパーを使って、一日の消費電力をグラフで表示してみました。
M5Paper使用
norifumiさんのWi-SUN HATを併用していますhttps://t.co/PkbM1L286w pic.twitter.com/I5ESeq5rAn— wararyo (@wararyo) December 13, 2020
かっけー! コレ、欲しいーー!!(語彙が。。)
・@chasuke__さん
詳細な使用レポをブログに書いて下さってます!
私の本家サイトより詳しい!?
ブログが見やすくてとても参考になります!
・@jitenshapさん
MicroPythonではなく、Arduinoでプログラム作られてる方もいらっしゃいました!
.@norifumi5001 さんのWi-SUN Hatを使ってM5StickCをArduinoでプログラムしてスマートメーターと通信し、瞬時電力を取得するサンプル作ったhttps://t.co/oHj370zD7Q
— *じてんしゃP (@jitenshap) November 16, 2019
ブログで解説もして下さってますので、大変参考になります!
・もとろらおさん
USBドングル分解してBP35A1を入手された強者がここにも!!
・@yonmasさん
直近1週間の履歴データ取得に時間がかかるので、データ取得中であることを示すインジケータを表示した!ピコピコ、お気に入り。 pic.twitter.com/gQ4BKqMvco
— よんます (@yonmas) May 1, 2022
miyaichiさん、@ryu2012さんのプログラムをベースに更に機能追加されてます! 素晴らしい!!
・minter1999さん
新Wi-SUNモジュールの「BP35C1-J11-T01」を使ってらっしゃる方も発見!!
確かに、Wi-SUN HATのrev0.2以降で「BP35A1」だけでなく「BP35C1-J11-T01」も動く様に基板修正したのですが、現時点では「BP35C1-J11-T01」と組み合わせる為の情報を公開してなかったので、既に改造して動かしてる方が居るとは思いませんでした!いやはや凄い!!
実際に「BP35C1-J11-T01」と組み合わせて使うには、Wi-SUN HAT基板の部品実装を一部修正する必要があります。(半田付け作業が必要)
どうしてもTRYしたいという方は修正箇所をお知らせしますので、他にもチャレンジしたい方はお知らせ下さい。(プログラムも別物になりますので、ご自身で作って頂く必要があります)
・朝から昼寝さん
Wi-SUN HATキットの使用レポとして写真や解説が充実しています。
私のこの記事より詳しいかも!?
私のを見てて分かり難いと感じた方は、是非参考にして下さい。
・脳内電波パンデミックさん
奥さん! コチラ、Home Assistant連携ですってよ!!
凄いじゃないですか!!(語彙が足りなすぎて感動を伝えれないクチw)
M5StickCでスマートメーターから消費電力を取得して表示するプログラムを公開しました!@norifumi5001さんのWi-SUN HATキットを使い、Arduino環境で動作します。子機追加も可能で、Ambientでグラフで見ることもできます。 #M5Stack https://t.co/qb7zva86fx pic.twitter.com/0p7ZYoZk7b
— Kaz (@Kaz_Macintosh) December 30, 2023
Arduino系での期待の新星!
Webサーバーで外部向けにAPIアクセス可能になってたり、Ambientへの送信や子機への送信も対応されてるという、こちらも手厚すぎて卒倒しそうな構成!
凄いですね!
・hrs(ひろせ)さん
M5StickC + Wi-SUN HAT-C1 (by @norifumi5001 さん) と BP35C1-J11-T01 を使って、スマートメーターから計測値を取得できました!https://t.co/ovu23ltR6c
— hrs(ひろせ) (@yh1224) May 12, 2024
シーケンス図や分かりやすい資料がいっぱい!
何気にBP35A1とBP35C1-J11-T01の両方の情報が載ってるのも有り難いですね♪
皆さま、色んな楽しみ方で使って頂けて、製作者冥利に尽きます!!
有難てぇ! ありがてぇ!! おいら、涙で前が見えないよ・・・
コメント
最近、新しいバージョンの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の「入荷お知らせメール」機能で在庫回復時に通知が来る様に出来ます。 こちらもご活用頂けると幸いです。
素敵なポストありがとうございます。こちらの記事を見てリアルタイムでの電力計測までできました!
家のスマートメータは積算電力量係数(D3)の取得に対応していなかったようで「***** **** 」で止まってしまいました。未対応の場合1として扱うとの仕様を見つけたのでコードを共有しておきます。同じような方がいれば参考になればと思います。
https://gist.github.com/shun-sa/86c975efeb9423765d873a1cce4fa1a4#file-wisun_udp-py-L26-L34
s さん コメント有難う御座います。
スマートメーターハックを楽しんで頂けてる様で幸いです。
「***** ****」で止まるケースについては、過去にお問い合わせ頂いたことがあったのですが、スマートメーターの機種あるいは電力会社によるのか、当方の環境では再現出来ていないのです。
(何度か再起動させてるウチに抜けたという症例もありました)
スマートメーターも色々ですね~。
どうしても「***** ****」を抜けれない場合は、やはり、積算電力量係数の初期値を固定し処理をスキップする方向でご対応頂くのが確実かと思います。(いずれ、サンプルソースの方でも対応処理を追加しようと思います)
情報共有有難う御座います!
素敵な情報有難うございました。
電力計のデータを無事取得とサーバー&子機転送無事できました。
有難うございます。
温度計測でラズパイZEROで散々うまくいかなかったので
組上げて実際に動かせるまで大変判りやすかったです。
1点問題が発生しています。
データを見ていると太陽光で発電を開始し買電→売電になると数値がオーバースケール
しています。データ見てると楽しいですね・・・・
多分何かデータの変更をしなければいけないと思うのですが、MicroPython
というかプログラムが解らないもので、これから勉強して何とかしたいと思います。
・・これはそのまま置いておいて、次にCO2計の組立に入りたいと思います。
有難うございました。
yasu さん、コメント有難う御座います。
スマートメーターハックを楽しんで頂けてる様で幸いです。
当方は売電設備を持っていないので、売電情報の処理についてはテストしようがなく、値がおかしい可能性は十分にあります。
サンプルソースのtest_WiSUN_Ambient.pyとwisun_udp.pyの内容をご自身の環境に合わせて修正頂くことになります。
両方ともコメント多めで処理の流れを読みやすくする様に書いたつもりなので、MicroPythonを勉強と併せてご解読頂ければと思います。
CO2計はCo2 HATでしょうか!? ご利用ありがとうございます!m(__)m
二酸化炭素濃度計測も楽しんで下さいませ!
ずいぶん前に購入しトラブルを乗り越えながら動かしていた林です。その当時(2019年)はうまく動いており、ずいぶん重宝させていただきました。ありがとうございます!!
ところが何年か後に何かの拍子にデータが取れなくなってしまい原因不明でそのままになっていました。
M1 Macに買い替えたので新しい環境でもう一度チャレンジしようとやり始めたのですが、それから苦労の連続。
VSCodeで”Add M5Stack”とするとUSBポートは認識されるものの、M5StickCの本体内のディレクトリにアクセスできない、とかいろいろあり・・・苦節三日。
なんとかだましだましrin_ofumiさんのプログラムを流し込んで、動き始めました。Ambient.ioにもデータ送信できグラフも表示できるようになりました。
バンザ〜〜〜イと喜んだのも束の間、3日目でまた動かなくなりました。画面上には***と星が三つ出たまま先に進みません。
何度リスタートさせてもこの***で止まってしまいます。
VSCodeに接続しようと、USBモードに切替えるべく、電源を落として再起動を試みるも、今度はリブートもできなくなってしまいました(;_;)
内部の状態を見ようにも現在は真っ暗なまま動いてくれません。
VSCodeで”Add M5Stack”とするとUSBポートは見えていますので、画面が真っ暗なまま内部的には動いているようにも見えます。(ケーブルをはずすとそれまで見えていたusbポートが消えます)
これをどう攻略すればいいのか? 何か手がかりはないか、探していますが今のところ全く光明は見えません。
基板RevUpに伴い、UARTのピン割当てが変更されているということですが、ピン割り当ての変更の目的は何だったのでしょうか? 立ち上がらない原因とは関係ありませんよね?
で今、M5Bunerを見ましたらUIFlow_StickC v1.10.0(Developed based on Micropython-1.12, For M5StickC device.)というのが出ていました。
これをやったらあるいは変化があるかも、とこれからチャレンジするところです(今ここ)
何か、動かない件に関して情報をお持ちでしたら、お教えいただければ幸いです。
林 伸夫 さん、コメント&お買い上げ有難う御座います。
※自動スパム判定ツールで誤判定されていたので、コメントを見付けるのが遅くなってしまいました。
最近海外からのスパムが多くて埋もれてしまい見逃してしまいました。大変申し訳ありませんでした。
コメント頂いた内容を拝見するに、シリアルポート通信がうまく行っていない様に見受けられます。
対処法として、こちら↓の「困ったときは?」をご確認頂けると幸いです。
https://kitto-yakudatsu.com/archives/7206#toc40
他にも白いコネクタへの異物噛み込みの可能性も御座います。
一度モジュールを外しゴミが付いてないかご確認下さい。
基板RevUpでシリアルポートの入れ替えを行った件については、将来への布石として、別のWi-SUNモジュールも使える様にしたことが主な理由です。(実際に他のモジュールを使うには実装部品の入れ替えが必要となりますし、プログラムも別物になります)
M5StackCが黒画面のままになってしまうケースは、HAT未装着でもたまにネットでも拝見しますが、USB電源の問題であるケースが多い様に感じています。
A.電源ボタン長押しで電源OFF、その後数分放置してUSB電源接続して再起動
B.UIFlowファームウェアをイレースして再度書き直す
などの対処を行ってもうまく動かないでしょうか?
以上、ご参考まで。 無事にうまく動くことをお祈りします。
rin_ofumiさん、
ご返信、ありがとうございました。
その後も悪戦苦闘。起動せず、画面が真っ暗な状態が変わらないので、
すべてまっさらな状態から再開しようと、m5burnerを使って、ファームウエアをイレース、最新版のUIFlow 1.10.0を焼き込みました。
ここまでは順調。電源ボタンを6秒以上押し、再度電源ボタンを押したら起動しました。
昨日まで何しても起動しなかったので、これは前進です。
Wi-Fiモードで立ち上がるので、即座にBボタンを押して、USBモードに切替え。
ここでVSCodeにつないで
各プログラムファイルを修正した上で、流し込もうとしましたが、
私が以前ダウンロードしたリポジトリには「ntptime.py」ライブラリが入っているものでしたが、今はいらなくなっているのですね。
念のため、新しいリポジトリからすべてをダウンロードして「ambient.py」「wisun_udp.py」「test_WiSUN_Ambient.py」「wisun_set_m.txt」を修正の上、所定の位置に配置。
このあと、起動モードをAppにして起動しましたところ、画面に「user app」と表示されたまま、次に進みません。(涙)
何か忘れてますかね?
でも、前回は画面が真っ暗だったものが、「user app」と出ただけ前進です。
M5StickCの状態を確認するためのログなどはどこかに出ているんもでしょうか?
林
林 伸夫 さん、コメント有難う御座います。(コメントへの返信が遅くなり申し訳ありません)
改めて、当方でも現時点での最新のUIFlow v1.10.1で試してみましたが、特に問題なく動く様です。(M5StickC Plus版でも同様)
仰られてる『画面に「user app」と表示されたまま、次に進みません。』という状況がよく分かりませんが、M5StickCの状態を確認したいということであれば、M5StickCのUSBシリアル通信をTeraTerm等のターミナルソフトでモニターするのが一番手っ取り早いと思います。(サンプルプログラムでは、動作状況の過程をUSBシリアルで出力する様にしています。※詳しくはソースコードをご確認下さい。)
以上、ご参考まで。
>現時点での最新のUIFlow v1.10.1で試してみましたが、特に問題なく動く
わざわざ検証ありがとうございます。
それだけ分かれば、とにかく不具合はデバイスの周辺、プログラムのタイプミスなどに絞れます。もうちょっと頑張って調べてみます。USBシリアルの出力も調べてみます。
当方、Arm搭載のMacなもので、シリアル通信を表示させるところから手探りで調べなくてはなりません。頑張ります。
***** ****で止まるケースに引っかかってしまいました。
うちのスマートメーターは交換したばかりですが何か関係はありそうですか?
↑の過去のコメントで
未対応の場合1として扱うとの仕様を見つけたのでコードを共有しておきます。同じような方がいれば参考になればと思います。
https://gist.github.com/shun-sa/86c975efeb9423765d873a1cce4fa1a4#file-wisun_udp-py-L26-L34
このリンクも切れていて困っています。
なにか情報があればお願いします。
だい さん、コメント有難う御座います。
「***** ****」まで表示できてるのであれば、スマートメーターとの通信はうまく行ってそうですね。
その次の積算電力量係数の要求・受信がうまく行っていないのだと思われます。(スマートメーターの交換が関係しているかは当方では分かりかねます)
スマートメーターによっては積算電力量係数の要求に応答しないこともあるようなので(機種によるのか電力会社によるのか不明)、応答無い場合は規定値の「1」を予め代入し、積算電力量係数の要求処理をスキップする対応もアリだと思います。
具体的には、test_WiSUN_Ambient.pyの603行目の
if u.power_coefficient == 0 :
の前に
u.power_coefficient = 1 :
を挿入するなどが、参考例となります。
尚、ブログの文中でも記載してますが、公開しているプログラムは、あくまでサンプルなので、全ての環境で動作を保証するものではないことを予めご理解願います。
プログラム中ではコメント文やデバックシリアル出力なども積極的に行っておりますので、ご自宅のスマートメーターに合せてカスタマイズしてお使い下さい。
はじめまして。
親機1台、ambientへの送信を試していますが、うまくいきません。
appから起動すると、「This file from web exec」と表示される
のみです。
アドバイスを頂けたら幸いです。
ちゅうひーん さん、コメント有難う御座います。
必要なファイルが足りてないか、何らかの事情でファイルが壊れているかだと考えられます。
液晶画面以外にも、デバッグシリアル出力をモニターすることで、どこで躓いているかのヒントが得られることもあります。(「困ったときは?」の項を参考にして下さい)
うまく動くことをお祈りします。
ありがとうございました。
ambientは一旦置いて、画面表示まで
を試そうとファイル転送からやり直しました。
****** ***** * :積算電力単位要求送信・受信完了
なんとか、ここまで表示しましたが、ここで停止して
しまいます。
BルートのID、Pass?はokのようですが
ESP NOWに問題があるのでしょうか。
といっても、ESPが何のことかわからないのですが・・・・。
ESPを0してできました!。
ありがとうございました。
無事に先に進めた様で良かったです!
「ESP NOW」についてはネット検索すると色々情報出てくると思いますので、調べてみて下さい。
(子機を使用しないのであれば、「0」で問題ないと思います)
もしかすると、WiFi周りの設定がうまく行ってないのかも知れませんね。
Ambientにトライする前に、WiFiのSSIDやパスワードが正しいか確認されることをお勧めします。
お世話になります。 画面の隅に、緑で BEEP と表示されるだけですが、何が悪いのでしょうか?
素人 さん、お買い上げ、並びにコメント有難う御座います。
流石に頂いた情報だけだとアドバイスのしようがありません。
(親機の「*」表示の処理は無事に抜けられたのでしょうか?)
お手数ですが、作業を一通り見直して頂いた上で、「困ったときは?」の項の内容をご一読願います。
現在の状況を知るには「うまく動かないので、M5StickC(またはM5Stack)の状態を知りたい!」の所が一番参考になるかと思います。
またUIFlowファームウェアのバージョンについては、M5Stack社の更新頻度が高い為、GitHubの記述と同じVerにし辛い場合もあるかと思います。
当方で全てのVerを確認するのは難しい為、お問い合わせ時はお試し頂いたVerを記載頂けると助かります。
以上、宜しくお願いし致します。
素人 さんがコメントされていた状態とは違う内容ですが、一部不具合が発見されたので、追記します。
UIFlowファームウェアのV1.10.2以降だとESPNOWの処理が変わってる様で、ESPNOW機能を使う子機連携を有効にしてるとエラーが出てプログラムが止まってしまう様です。
GitHubで公開してるサンプルプログラムは公開時にv1.8.5で動作確認しておりますが、現状ではこのVerのファームウェアはダウンロード出来ない様なので、お試しになる場合はv1.10.1以前のVerを使って下さい。
以上、宜しくお願い致します。
rin_ofumiさん 、直ぐに返信ありがとうございました。こちらは、遅くなり申し訳ありません。
VSコードの、バージョン、1.67.2 M5バーナー 1.10
原因は、テキストのIDのハイフンを消さなかったことでした。 素人ですができてよかったです。
もうちょい素人な方の向けな説明が欲しいかもです。 ありがとうございました。
無事に動いたとのことで良かったです!(報告有り難いです!)
解説の粒度はずっと迷っているところですが、M5Stack社の更新頻度が高く、詳細の手順を書いてもいつの間にか違ってしまってることが多々あり、この記事を手掛かりに、ユーザー様ご自身で色々調べつつ作業して頂ければと考えています。
記事中の「なんでコレを作ったのか?」でも書いておりますが、”出来る限り、自分で何とか出来る状況にしておきたい”という目的でこのHATを起こした背景がありますので、悪しからず、ご了承願います。(ご意見は今後の参考にさせて頂きます。)
Wi-SUN HATキット購入させていただきました!
早速電力会社にBルートサービスを申し込み、Wi-SUN HATキットと一緒に手配した M5StickC PLUS2 と BP35A1 も届いたので組立てて、認証IDとパスワードが今日 (2024/02/15) 届いたのでプログラム転送して起動…が、何度やっても画面には「user app」の表示。
原因は自分のオペミスで、Bボタン+電源で電源を入れて UIFlow の画面でAボタンを押して「APPList」を選択していたためでした。Aボタン+電源で電源を入れてからメニューから「APPList」を選択するとプログラムの選択ができるようになりました。
で、プログラムは起動したものの、電力が全く表示されない。
Bボタンで反転させると、やたら大きな数字が出る。
Tera Term でコンソール出力してみると、 2147483646W と出ている。UDPデータの瞬時電力値を見ると 7FFFFFFE …
うちのスマートメーター、壊れてるんじゃない? と思って、IDとパスワードが書かれた用紙を見ると、
「データ開示日 2024年2月19日」
…単にデータが開示されてなかっただけでした。
(接続希望日があまり早いといけないと思い、先日付で申し込んでました)
ということで、動作確認は来週月曜になりそうです。
ひまじん さん、お買い上げ、並びにコメント有難う御座います。
データー開示日が先の日程のケースがあるのですね。
開示日前の挙動の報告事例は見たことが無かったので、とても参考になります!
来週月曜が楽しみですね!
スマートメーターとの通信を楽しんで頂ければ幸いです。
M5StickC Plusを2個使って親機と子機を作成しました。
親機は正常(日時、電力表示)に動作しますが、
子機は電力は表示されるものの日時表示部分(右上)に「BEEP」と表示され、
日時が表示されません。
なぜでしょうか?
最新のプログラムでは、子機の日時は表示されないのでしょうか。
うさまる さん、お買い上げ、並びにコメント有難う御座います。
サンプルプログラムの現行Verでは、子機ではBEEP状態を優先し、日時は表示されなくなりました。
元々、日時は文字が細か過ぎる上にちらつきで見難いという問題がありましたので、その対応となります。
写真の方の更新がされておらず、分かり難くて申し訳ありませんが、近く親機も同様の状態にしたく、その際に写真も更新する予定です。
以上、宜しくお願いします。
早速のお返事、ありがとうございます。
確かに親機の時計表示は、少し「ちらつき」がありますが、
NTP時計で正確であるという意味では表示意義があると思っていたので、
少し残念な気もします。
メールした後で、手持ちのM5StickCでも子機を作ってみましたが、
こちらも電力表示だけだったので、
やっぱり仕様変更したのかなと思っていたところでした。
できれば、日時表示が有り無しの両バージョンがあればいいのかなと。
とにかく、リアルタイムで電気使用量が見えるという凄い機器であることは間違いなく、
こういった機器を安価で容易に製作できるとして紹介していただいたことに、
非常に感謝しています。
ありがとうございました。
今後の作品も期待しています。