SlideShare a Scribd company logo
1 of 26
自宅の消費電力をリアルタイムに
グラフ化してみた
2020/03/27
PHPerKaigi Online #1 発表資料 @hnw
1
今日お話しすること
● 自宅の現在の電力値を取得・可視化した
2
● スマートメーターとBルートとは
● スマートメーターで遊ぶ準備
● 電力値取得の安定化
● 可視化しての知見
3
電力スマートメーターとは
● 最新の電力メーター
○ 消費電力をリアルタ
イムに送信・集約
■ 検針不要
● 電力自由化はこの仕
組みのおかげ
4
スマートメーターの通信方式: Wi-SUN
● 日本発の省電力無線通信方式
○ 免許不要の帯域(920MHz帯)を利用
○ 国内の電力会社のスマートメーターで採用
○ 国際規格だが、国外での普及は絶望的状況
5
Bルートとは
● 「Bルート」
○ 電力のデータ取得の仕
組みを家庭向けに解放
● 誰でも申し込める
○ 利用料無料
○ ID/PWがもらえる
6
Bルートの通常の利用方法
● HEMS機器で利用可能
● お高い
○ 定価1.5〜4万円
7
Bルートをハックする
● Wi-SUNモジュールからアクセス可能
○ ググると先人が10人くらい見つかる
● お高い
○ 定価0.8〜2万円
● 今回はこの方針で頑張った話をします
8
● スマートメーターとBルートとは
● スマートメーターで遊ぶ準備
● 電力値取得の安定化
● 可視化しての知見
9
Bルート申し込み
● 東京電力のページから申し込める
○ IDが郵送されてくる
○ パスワードはメールで来る
10
Wi-SUNモジュールの入手
● 私はUDG-1-WSNEを入手
○ NTT東日本が自社サービス利用者向けに販売
● 他社モジュールと互換性がある
11
自宅サーバの準備
● 自宅に常時起動サーバが必要
○ Wi-SUNモジュールを接続・利用するため
● 私はRaspberry Pi 2を利用
○ 何のOSでも動かせるので常時起動だけが条件
12
自宅サーバの準備
13
● 部屋の隅に設置
○ メーターの近くに置
く必要はなさそう
● スマートメーターとBルートとは
● スマートメーターで遊ぶ準備
● 電力値取得の安定化
● 可視化しての知見
14
拾ったコードを動かしてみた
● 拾ったコードでも電力値は取れる
● ずっと動かしてると固まる
○ UDPのせいか、到達性の保障がない
○ タイムアウト処理やエラーハンドリングが大事
● 自分で作った方が良さそう
15
Wi-SUNモジュールの扱い
● OSからはシリアルデバイスに見える
○ 大抵の言語で扱えるはず
○ 私はクロスコンパイルが楽なGoを採用
16
安定動作するようになった
● hnw/mackerel-plugin-smartmeter
● 1分に1回電力値・電流値を取得
○ 値が取れないのは1日に2〜5回程度
● 総データ量を減らした方が安定した
○ 過剰にリトライするとしばらく不安定になる
● 仲間が少なすぎてノウハウが少ない
17
● スマートメーターとBルートとは
● スマートメーターで遊ぶ準備
● 電力値取得の安定化
● 可視化しての知見
18
可視化ツールの選定
● サーバ監視ツール(Grafana、Muninなど)
● サーバ監視サービス
○ Datadog、Mackerel
● IoT向け可視化サービス
○ Machinist、Ambient
● 今回はMackerelを採用
19
知見(1) 大電力の家電の利用が見える
20
知見(1) 大電力の家電の利用が見える
● 電力は1分に1回、1W単位で値が取れる
● 数分以上使う大電力家電はわかりやすい
○ 40W白熱電球を付けっ放し、くらいでもわかる
○ ライフログとして面白い
● ブレーカー警報が出せそう
21
知見(2) R相T相の消費電流が見える
22
知見(2) R相T相の消費電流が見える
● 単相3線式のR相T相ごとに電流値が取れる
○ 大電流が流れたとき、コンセント位置を絞り込める
○ あまり知られていない印象
● 使い道はともかく面白い
23
24
完
読むべき仕様書
● SKコマンド
○ デバイスに送りつけるATコマンド的なもの
○ 全デバイスでほぼ共通
● ECHONET Lite
○ 家電系の業界統一の通信プロトコル、L7層相当
○ もちろん日本独自
25
自作は非合法?
● スマートメーターへの接続には認証が必要
○ 業界団体的なルール?
● 電波法的にはセーフなのではないか
○ だとしても行儀はよくない
26

More Related Content

More from Yoshio Hanawa

iOS/macOSとAndroid/Linuxのサンドボックス機構について調べた
iOS/macOSとAndroid/Linuxのサンドボックス機構について調べたiOS/macOSとAndroid/Linuxのサンドボックス機構について調べた
iOS/macOSとAndroid/Linuxのサンドボックス機構について調べたYoshio Hanawa
 
realpathキャッシュと OPcacheの面倒すぎる関係
realpathキャッシュと OPcacheの面倒すぎる関係realpathキャッシュと OPcacheの面倒すぎる関係
realpathキャッシュと OPcacheの面倒すぎる関係Yoshio Hanawa
 
家庭用ブロードバンドルータ上でWordPressを動かそう
家庭用ブロードバンドルータ上でWordPressを動かそう家庭用ブロードバンドルータ上でWordPressを動かそう
家庭用ブロードバンドルータ上でWordPressを動かそうYoshio Hanawa
 
Laungage Update PHP編
Laungage Update PHP編Laungage Update PHP編
Laungage Update PHP編Yoshio Hanawa
 
PHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作るPHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作るYoshio Hanawa
 
GitHubにバグ報告して賞金$500を頂いた話
GitHubにバグ報告して賞金$500を頂いた話GitHubにバグ報告して賞金$500を頂いた話
GitHubにバグ報告して賞金$500を頂いた話Yoshio Hanawa
 
php-buildがいかに便利かを力説する
php-buildがいかに便利かを力説するphp-buildがいかに便利かを力説する
php-buildがいかに便利かを力説するYoshio Hanawa
 
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみたOPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみたYoshio Hanawa
 
PHP7の拡張モジュール事情
PHP7の拡張モジュール事情PHP7の拡張モジュール事情
PHP7の拡張モジュール事情Yoshio Hanawa
 
PHP7の内部実装から学ぶ性能改善テクニック
PHP7の内部実装から学ぶ性能改善テクニックPHP7の内部実装から学ぶ性能改善テクニック
PHP7の内部実装から学ぶ性能改善テクニックYoshio Hanawa
 
PHPの正規表現と最長一致
PHPの正規表現と最長一致PHPの正規表現と最長一致
PHPの正規表現と最長一致Yoshio Hanawa
 
PHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイントPHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイントYoshio Hanawa
 
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちは偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちはYoshio Hanawa
 
PHP7はなぜ速いのか
PHP7はなぜ速いのかPHP7はなぜ速いのか
PHP7はなぜ速いのかYoshio Hanawa
 
zval をダイエットしてみた
zval をダイエットしてみたzval をダイエットしてみた
zval をダイエットしてみたYoshio Hanawa
 
Zend OPcacheの速さの秘密を探る
Zend OPcacheの速さの秘密を探るZend OPcacheの速さの秘密を探る
Zend OPcacheの速さの秘密を探るYoshio Hanawa
 
浮動小数点数の話 2013年度版
浮動小数点数の話 2013年度版浮動小数点数の話 2013年度版
浮動小数点数の話 2013年度版Yoshio Hanawa
 
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
PHP-FPMとuWSGI——mod_php以外の選択肢を探るPHP-FPMとuWSGI——mod_php以外の選択肢を探る
PHP-FPMとuWSGI——mod_php以外の選択肢を探るYoshio Hanawa
 
Testing PHP extension on Travis CI
Testing PHP extension on Travis CITesting PHP extension on Travis CI
Testing PHP extension on Travis CIYoshio Hanawa
 

More from Yoshio Hanawa (20)

iOS/macOSとAndroid/Linuxのサンドボックス機構について調べた
iOS/macOSとAndroid/Linuxのサンドボックス機構について調べたiOS/macOSとAndroid/Linuxのサンドボックス機構について調べた
iOS/macOSとAndroid/Linuxのサンドボックス機構について調べた
 
realpathキャッシュと OPcacheの面倒すぎる関係
realpathキャッシュと OPcacheの面倒すぎる関係realpathキャッシュと OPcacheの面倒すぎる関係
realpathキャッシュと OPcacheの面倒すぎる関係
 
家庭用ブロードバンドルータ上でWordPressを動かそう
家庭用ブロードバンドルータ上でWordPressを動かそう家庭用ブロードバンドルータ上でWordPressを動かそう
家庭用ブロードバンドルータ上でWordPressを動かそう
 
Laungage Update PHP編
Laungage Update PHP編Laungage Update PHP編
Laungage Update PHP編
 
PHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作るPHPの拡張モジュールをGoで作る
PHPの拡張モジュールをGoで作る
 
GitHubにバグ報告して賞金$500を頂いた話
GitHubにバグ報告して賞金$500を頂いた話GitHubにバグ報告して賞金$500を頂いた話
GitHubにバグ報告して賞金$500を頂いた話
 
php-buildがいかに便利かを力説する
php-buildがいかに便利かを力説するphp-buildがいかに便利かを力説する
php-buildがいかに便利かを力説する
 
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみたOPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
OPcacheの新機能ファイルベースキャッシュの内部実装を読んでみた
 
PHP7の拡張モジュール事情
PHP7の拡張モジュール事情PHP7の拡張モジュール事情
PHP7の拡張モジュール事情
 
PHP7の内部実装から学ぶ性能改善テクニック
PHP7の内部実装から学ぶ性能改善テクニックPHP7の内部実装から学ぶ性能改善テクニック
PHP7の内部実装から学ぶ性能改善テクニック
 
PHPの正規表現と最長一致
PHPの正規表現と最長一致PHPの正規表現と最長一致
PHPの正規表現と最長一致
 
PHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイントPHP7で変わること ——言語仕様とエンジンの改善ポイント
PHP7で変わること ——言語仕様とエンジンの改善ポイント
 
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちは偶然にも500万個のSSH公開鍵を手に入れた俺たちは
偶然にも500万個のSSH公開鍵を手に入れた俺たちは
 
PHP7はなぜ速いのか
PHP7はなぜ速いのかPHP7はなぜ速いのか
PHP7はなぜ速いのか
 
PHPNGの動向
PHPNGの動向PHPNGの動向
PHPNGの動向
 
zval をダイエットしてみた
zval をダイエットしてみたzval をダイエットしてみた
zval をダイエットしてみた
 
Zend OPcacheの速さの秘密を探る
Zend OPcacheの速さの秘密を探るZend OPcacheの速さの秘密を探る
Zend OPcacheの速さの秘密を探る
 
浮動小数点数の話 2013年度版
浮動小数点数の話 2013年度版浮動小数点数の話 2013年度版
浮動小数点数の話 2013年度版
 
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
PHP-FPMとuWSGI——mod_php以外の選択肢を探るPHP-FPMとuWSGI——mod_php以外の選択肢を探る
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
 
Testing PHP extension on Travis CI
Testing PHP extension on Travis CITesting PHP extension on Travis CI
Testing PHP extension on Travis CI
 

自宅の消費電力をリアルタイムに グラフ化してみた