151227-lockoff smartmeter hands-on
TRANSCRIPT
株式会社ソニーコンピュータサイエンス研究所
スマートメーター情報への アクセス方法解説と、 生活デザインアプリコンテストへのお誘い
大和田 茂
おうちハック同好会 / Sony CSL
株式会社ソニーコンピュータサイエンス研究所
全員が持つようになるスマート家電
スマートメーター
電力会社が設置してくれるので何もする必要はない。 東京電力は2020年までに、全国でも2024年には設置が完了。 東芝製 第一号のスマートメーター
株式会社ソニーコンピュータサイエンス研究所
スマートメーターで何ができるのか?
• 電力会社が検針に来なくてよくなる
• 頻繁に電力を計測できるため、時間帯や地域電力のひっ迫度に応じた変動料金が可能になる
• 変動料金を生かした電力プランが増えることで、生活スタイルに合わせた契約ができる
• 家電と連携して、電気代が高い時間は消費を抑えるなどが可能に
• 遠隔の生活見守りができる
株式会社ソニーコンピュータサイエンス研究所
実際の電力データ
株式会社ソニーコンピュータサイエンス研究所
電力の「見える化」
• このように、宅内の電力の推移を表示することを「電力見える化」と呼ぶ
• 見える化することで、自分が無意識に使っていた電力の使用状況が把握でき、節電や家族の生活パターンの理解につなげることができる
株式会社ソニーコンピュータサイエンス研究所
業界が求めているもの
• スマートメーターって一般家庭にメリットあるの?
• 節電だけでは一般の人に興味を持ってもらえない
• 節電以外の利用法が必要なのではないか?
株式会社ソニーコンピュータサイエンス研究所
(インテリアにしてみた)
株式会社ソニーコンピュータサイエンス研究所
HAN IPv4
Bルート IPv6
HEMS GW
スマートメーターへのアクセス
株式会社ソニーコンピュータサイエンス研究所
HAN IPv4
Bルート IPv6
HEMS GW
HEMS GWは、HAN側への情報提供が必須というわけではないが、ECHONET Liteのスマートメーターオブジェクトとして透過的アクセスを可能にしているものが多い
スマートメーターへのアクセス
株式会社ソニーコンピュータサイエンス研究所
HAN HEMS GW
電力系事業主に30分間隔で計測値がアップロードされているものをクラウドAPIで提供する話もある
経産省資料によれば「各電力会社は、送配電部門がスマートメーターのAルート経由で入手した使用電力量等の情報について、 平成28年4月までには小売電気事業者へのデータ提供を開始できるよう、計画の詳細について検討を 進めている。 」とのことだが私は詳細知りません
それ以外にも(1)
送電会社/ 小売電気事業者
http://www.meti.go.jp/committee/summary/0004668/pdf/014_03_00.pdf
株式会社ソニーコンピュータサイエンス研究所
HAN HEMS GW
IIJもクラウドAPI + SaaSサービスがある
それ以外にも(2)
GW販売元 クラウド事業主
http://www.meti.go.jp/committee/summary/0004668/pdf/014_03_00.pdf
株式会社ソニーコンピュータサイエンス研究所
HAN IPv4
Bルート IPv6
HEMS GW
HEMS GWがHAN側に提供しているECHONET Liteのスマートメーターオブジェクトをいじります 最も汎用性が高く、瞬時値も取得可能
今回は最初ので(Bルートから)
株式会社ソニーコンピュータサイエンス研究所
ざっくりECHONET Lite (1)
• 家電や電力・センサー等を規定した通信プロトコル
• ISO/IECにより国際標準化されている
• OSI Layerでの5層(アプリケーション)以上の規定となっており、下位層はWiFi, Ether, PLC, Wi-Sun, ZigBeeなどいろいろ選べる。 – トランスポート層にIPv4/v6 – UDP(一部TCP)を用いる場合は推奨ポートやマルチキャストなどのガイドラインがあり、みなそれに従っている
• メーカーをまたいだプラグフェストを頻繁に開催しており、無茶なアクセスをしない限りは相互接続性は高い
• ただし、対応機器はほとんど日本メーカー
http://www.echonet.gr.jp/ http://echonet.jp/product/echonet-lite/
株式会社ソニーコンピュータサイエンス研究所
プロトコルの構成
• 通信方式を定めた「ECHONET Lite規格書」と、機器ごとの機能要件を定義した「APPENDIX ECHONET機器オブジェクト詳細規定」がある。
• 機器オブジェクトの定義は変化のスピードが速い
http://echonet.jp/spec/
株式会社ソニーコンピュータサイエンス研究所
OpenECHO
• ECHONET Lite用のオープンソースドライバ
• Java版とC++版が存在
• Processing版(ver.2 only)がある
• GitHubと神奈川工科大学認証支援センターからダウンロード可能
• 機器オブジェクトは最新に全然ついていけてないので
ご協力求む! https://github.com/SonyCSL/OpenECHO https://smarthouse-center.org/sdk/download/
株式会社ソニーコンピュータサイエンス研究所
スマートメーターへのアクセス
C++ Java
Processing
WebAPI
株式会社ソニーコンピュータサイエンス研究所
スマートメーターへのアクセス
C++ Java
Processing
WebAPI
一番簡単
株式会社ソニーコンピュータサイエンス研究所
早速
• http://app.kadecot.net/?kip=[Kadecot IP]を開く
• 一番右のAPI Toolsを押すと別タブでAPIジェネレータが開く
• パスワードを求められるので「a」を入れて送信
株式会社ソニーコンピュータサイエンス研究所
スマートメータープロパティへのアクセス (1)
• Recognized devicesからSmartElectricEnergyMeterを探す
ここを押す
株式会社ソニーコンピュータサイエンス研究所
スマートメータープロパティへのアクセス (2)
ボタンがついているものが、このスマートメーターがサポートしている機能
(プロパティ)
下の方に「MeasuredInstantaneousAmountOfElectricEnergy」というプロパティがあるので探してください。
プロパティ (機能)名
機器情報が展開され、しばらくのちにボタンが出現
株式会社ソニーコンピュータサイエンス研究所
スマートメータープロパティへのアクセス (3)
Kadecot APIを生成するボタン
W-Get : WAMP-Get W-Sub : WAMP-Subscribe J-Get : JSONP-Get
プロパティ(機能)名 Kadecotで定めたもの
スマートメーターの瞬時値を表す
プロパティID ECHONET規格で 決まっているID
Kadecot APIにはWebSocketベースのWAMP APIとREST GETのJSONP APIがある WAMPの方が便利・通知がある・認証がある、という特徴があるが、JSONP APIの方が敷居は低いので今回はこちらを用いる 「J-Get」を押してください。
株式会社ソニーコンピュータサイエンス研究所
スマートメータープロパティへのアクセス (4)
Web APIのURL (ブラウザで開ける)
規格書からOCRした 説明文字列 (時々文字化け してます)
ツール内から 呼び出すボタン (押してください)
株式会社ソニーコンピュータサイエンス研究所
スマートメータープロパティへのアクセス (5)
結果はここに出る ビッグエンディアン4バイト
1*256 + 167 = 423 W
何回でも呼び出せるが、頻繁すぎるアクセスはよくない
株式会社ソニーコンピュータサイエンス研究所
スマートメータープロパティへのアクセス (6) • 現時点のメーターの値(累積値)は
– MeasuredCumulativeAmountOfElectricEnergyNormalDirection
• 累積値の30分間隔の値(一日分)は – HistoricalDataOfMeasuredCumulativeAmountsOfElectricEnergyNor
malDirection
– 未来のデータは「-2」が入っている
• 昨日以前のデータを取るには – DayForWhichTheHistoricalDataOfMeasuredCumulativeAmountsOfEle
ctricEnergyIsToBeRetrieved
– にオフセットを設定しておいて、Histrical…のプロパティにアクセス。(ボタンにJ-Setというのが出ているはずなので、それを押し、パラメータを設定)
パラメータを設定しておく
株式会社ソニーコンピュータサイエンス研究所
Kadecotサーバーの立て方
• Google Playから「Kadecot」を落とす • インストール時にユーザー名とパスワードを設定
• 画面下のサーバー起動スイッチを入れる • 機器は自動発見されるはずだが、見つからない場合は左下のリフレッシュボタンを押す
• 右上の設定ボタンから「開発者モードを有効にする」にチェックを入れる – これでJSONP APIが使えるようになる – IPアドレスがアプリに表示される
• 元々通知領域には表示されている
– 脆弱 • 任意のWebアプリから宅内情報にアクセスできる
株式会社ソニーコンピュータサイエンス研究所
基本的にこれだけで何でもできる
• ECHONET Lite家電であれば、機器の状態取得、操作が行える
• ただ、機器側から状態変更を自動通知する「状態変更通知」を受け取ることはJSONPではできない
• これには、WAMP APIを使う必要がある
株式会社ソニーコンピュータサイエンス研究所
WAMPとは?
• IANAに認証されている、WebSocket用のサブプロトコル
• 関数呼び出し的な「RPCパターン」と、MQTTのような「PubSubパターン」を定義している
http://wamp-proto.org/
株式会社ソニーコンピュータサイエンス研究所
WAMPメッセージング(さわりのみ)
RPC パターン
• 機器に操作コマンドや情報リクエストを送るとサーバから返答が返ってくるというもの
PubSub パターン
• サーバが任意のタイミングで情報を出力
• あらかじめ購読登録しておいた機器に情報が伝達される
Webアプリ
Kadecot Server
呼び出し
返答
Webアプリ
Kadecot Server
購読 通知
(タイミングはサーバ側が決
める)
http://kadecot.net/webapi/
株式会社ソニーコンピュータサイエンス研究所
その他の機器アクセス
• Bravia
• hue
• IRKit
• Lightblue Bean
など
株式会社ソニーコンピュータサイエンス研究所
情報源
• ECHONET Lite仕様 – http://echonet.jp/spec/
• Kadecot API
– http://kadecot.net/webapi/
• 家電/スマートメーターエミュレータ
– http://kadecot.net/blog/1479/ – ただし、スマートメーターオブジェクトは割といい加減
• その他オープンソース
– https://github.com/SonyCSL
株式会社ソニーコンピュータサイエンス研究所
http://lifedesign-app.org/
株式会社ソニーコンピュータサイエンス研究所
生活デザインアプリコンテストの特徴
• カテゴリー1:見える化デザインを競う
• カテゴリー2:機械学習初学者が対象 –ソースコードを提出
• 1週間実際に使ってみて審査
• 審査結果はENEX2016(1/27-29)にて発表
株式会社ソニーコンピュータサイエンス研究所
表彰について
• 生活デザイン賞 (賞金10万円)
–カテゴリー1の最優秀賞。一週間のフィールド審査により表彰。
• 機械学習賞 (賞金10万円)
–カテゴリー2の最優秀賞。一週間のフィールド審査により表彰。
• コンセプト賞 (賞金10万円)
– ENEXに展示されたもののうち、ENEX来場者の人気が高かったものを表彰
※さらに、賞金のつかない賞が追加される予定です。
株式会社ソニーコンピュータサイエンス研究所
カテゴリ1参加方法
• 電力データを楽しく・美しく見える化する デザインを競う
• 家電操作の信号を受け取り、見える化に反映させてもよい
• HEMS Gallery上で開発し公開、またはリンクを貼って公開することにより、コンテストへのエントリーとなります。
株式会社ソニーコンピュータサイエンス研究所
HEMS Galleryについて
• コンテスト用に開発されたWebポータル
• 以下のステップにより、Processing.jsでの 開発や、リンクの登録が可能になります。
– Facebookグループ「生活デザインアプリコンテスト」への参加
–担当者による開発者登録
• リンク登録方法の詳細はこちら
http://g.lifedesign-app.org/
株式会社ソニーコンピュータサイエンス研究所
開発ツール・使用ハードウェア
• ソフトウェア – HEMS Gallery内Processing.js
– HTML5 / JavaScript
– kintone
– Choregraphe(コレグラフ)
• ハードウェア – Android端末 (+ KadecotまたはDeviceWebAPI Manager )
– μKadecot
– Pepper
– その他自作のもの
※ただし、ハードウェアとしてAndroidまたはμKadecot以外を用いたものは、フィールド審査が困難なため、生活デザイン賞の審査対象にはなりません。
株式会社ソニーコンピュータサイエンス研究所
Processing.jsによる開発
• HEMS Gallery内で開発を行うことができます。
• オンラインエミュレータで開発が可能です。スマートメーター等実機と通信するには以下が必要になります。 – Android端末
– Kadecotアプリ
– 必要に応じてKadecot Support-Plug-inのapk
• 開発方法の詳細はこちら:
• Gallery上で公開設定することで、コンテストへのエントリーとなります。
http://www.slideshare.net/sonycsl/processingjs
http://g.lifedesign-app.org/
株式会社ソニーコンピュータサイエンス研究所
HTML5/JavaScriptでの開発
• AndroidアプリKadecot または GR-SAKURA用μKadecot
または DeviceWebAPI Manager(GotAPI) のWebAPIに直接アクセスすることで開発を行います ※DeviceWebAPI Manager経由でKadecotにアクセスすることもできます。
• KadecotAPI情報はこちらから
• 作品はWeb上にアップし、HEMS Galleryからリンクを張って公開することでコンテストへのエントリーとなります。
株式会社ソニーコンピュータサイエンス研究所
kintoneでの開発
• kintoneに家電操作ログをアップロードし、それをkintoneの機能やカスタムjs/cssなどを用いて見える化するというもの
• 開発用資料はこちら
• 作品はネット上にアップし、HEMS Galleryからリンクを張って公開することでコンテストへのエントリーとなります。
株式会社ソニーコンピュータサイエンス研究所
Choregrapheでの開発
• Pepperの開発環境「Choregraphe」からKadecotへアクセスするサンプルが公開されています。
• Pepperと同一ネットワーク内のAndroid端末にKadecotサーバーを立て、そこにJSONPでアクセスする形です。
• μKadecotにもアクセスできるはずですが未確認です。
株式会社ソニーコンピュータサイエンス研究所
カテゴリー2参加方法
• IIJ提供データを用い、過去一か月分の電力データから明日一日の電力使用予測をするという課題
• 使用言語は問わない。ソースコードをメールで提出
• 1/18-25に実際のデータに適用し、最も予測精度が高かったものを表彰
• 細かい説明はこちら
株式会社ソニーコンピュータサイエンス研究所