23
株式会社ソニーコンピュータサイエンス研究所 GotAPI×Kadecot Plugin Technical Manual 大和田茂 株式会社ソニーコンピュータサイエンス研究所 ×

GotAPI-Kadecot plugin Technical Manual

  • Upload
    sonycsl

  • View
    164

  • Download
    0

Embed Size (px)

Citation preview

Page 1: GotAPI-Kadecot plugin Technical Manual

株式会社ソニーコンピュータサイエンス研究所

GotAPI×Kadecot Plugin Technical Manual

大和田茂

株式会社ソニーコンピュータサイエンス研究所

×

Page 2: GotAPI-Kadecot plugin Technical Manual

株式会社ソニーコンピュータサイエンス研究所

概要

• GotAPIとKadecotの乗り入れを可能にするプラグインの解説 – GotAPI:OMA準拠のIoT向けWebAPIプロトコル仕様

– GotAPI⇒Kadecotと、Kadecot⇒GotAPIの相互呼び出しが可能になる予定 (現在は前者のみ)

• GotAPI対応機器はウェアラブル機器が中心、Kadecotは家電中心なので、組み合わせることで 対応機器の網羅度が一気に広がる (2015/7現在)

GotAPI : http://device-webapi.org/ Kadecot : http://kadecot.net/

Page 3: GotAPI-Kadecot plugin Technical Manual

株式会社ソニーコンピュータサイエンス研究所

インストール

• GotAPIのサーバーアプリとKadecotを、同一のAndroid端末内にインストールする (どちらもGoogle Playで取得可能) – GotAPIサーバの例 : GClue社「 Device Web API Manager 」

https://play.google.com/store/apps/details?id=org.deviceconnect.android.manager

– Kadecotはこちら: https://play.google.com/store/apps/details?id=com.sonycsl.Kadecot

• Kadecotで機器発見を行い、右上ボタンの設定から「開発者モードを有効にする」にチェックを入れる

http://kadecot.net/install/

Page 4: GotAPI-Kadecot plugin Technical Manual

株式会社ソニーコンピュータサイエンス研究所

GotAPI ⇒ Kadecot

GotAPIを使ってKadecotの機能を呼び出す 方法についての解説

Page 5: GotAPI-Kadecot plugin Technical Manual

株式会社ソニーコンピュータサイエンス研究所

まずKadecot JSONP APIの理解を

• Kadecotでは、機器ごとに通し番号(deviceId)を割り当てている。

• Kadecotのプラグインの種類に応じて、protocolがいろいろある。(eg. echonetlite, sonytv, iremoconなど)

– プロトコル=プラグイン という理解でほぼ合っている

– 機器制御用のパラメータの形式は、JSONだということ以外は特に決めておらず、プロトコルごとに自由に決めている

• 各プラグインは、おおまかな機能のまとまりとして、procedureというものを提供している。

– 例えばECHONET Liteであればsetやget

• 機能の呼び出しは、deviceId + procedure + パラメータで行う

– プロトコルは明示的に呼び出しには出てこないが、存在しないprocedureを呼び出すとエラーが返される。

http://kadecot.net/blog/2750/ http://app.kadecot.net/docs/ProcTopic/

Page 6: GotAPI-Kadecot plugin Technical Manual

株式会社ソニーコンピュータサイエンス研究所

GotAPIとの対応

• Profile名 は 「kadecot」

• ServiceId = deviceId ※WebAPIからは、末尾にプラグインを表すハッシュ値が付与される

• Interface = protocol (省略可能)

• Attribute = procedure

• param = パラメータ (HTTPの引数)

Page 7: GotAPI-Kadecot plugin Technical Manual

株式会社ソニーコンピュータサイエンス研究所

Kadecotプロトコル情報

• KadecotのProcedureは実際には長い文字列。 – 例:com.sonycsl.kadecot.echonetlite.procedure.set – ピリオドで区切られている。

• 最後の単語がGotAPIで用いるprocedure • 最後から3番目の単語がGotAPIで用いるinterface

• ArgumentsKwが、GotAPIでのparamパラメータそのものとなる

• ECHONET Liteの表

(http://app.kadecot.net/docs/ProcTopic/echo_devices.html)にある「DEVICE_NAME」は、GotAPIの呼び出しには使わない。

http://app.kadecot.net/docs/ProcTopic/の表の中から、「Procedure」と「 ArgumentsKw 」を探す。

Page 8: GotAPI-Kadecot plugin Technical Manual

株式会社ソニーコンピュータサイエンス研究所

呼び出し例

• 照明をON

• エアコンを25℃に設定

※[ServerIP], [ServiceID]は適宜読み替えてください。 ※API使用前にサービスごと(Kadecotが発見している機器ごと)の認証が必要です。 https://github.com/DeviceConnect/DeviceConnect-JS などを参照してください。

http://[ServerIP]:4035/gotapi/kadecot/echonetlite/set/ ?params={“propertyName”:”OperationStatus”,”propertyValue”:[48]} &serviceId=[ServiceID]

http://[ServerIP]:4035/gotapi/kadecot/echonetlite/set/ ?params={“propertyName”:” SetTemperatureValue” ,”propertyValue”:[25]} &serviceId=[ServiceID]

Page 9: GotAPI-Kadecot plugin Technical Manual

株式会社ソニーコンピュータサイエンス研究所

Kadecot ⇒ GotAPI

まだ不完全である

Page 10: GotAPI-Kadecot plugin Technical Manual

株式会社ソニーコンピュータサイエンス研究所

現状

• GotAPIのサーバーが起動しているときには「GotAPI」という機器が機器一覧に表示される。

– GotAPIのプラグイン認証に同意することが必要

• GotAPI配下のサービス(機器)が存在しているときも、Kadecot上では機器として表示される。

• それぞれ、Plug-in settingsからGotAPIのメイン画面を表示することができる。

• しかし、個別サービスへのコマンド送信はまだできない

Page 11: GotAPI-Kadecot plugin Technical Manual

株式会社ソニーコンピュータサイエンス研究所

その他開発情報

Page 12: GotAPI-Kadecot plugin Technical Manual

株式会社ソニーコンピュータサイエンス研究所

情報

• プラグインのソースはMITライセンスにてGitHubから公開済

• Kadecot JSONP API情報

• Kadecot Procedureリスト

• DevicePlugin Manual

https://github.com/SonyCSL/GotAPIPlugin

http://app.kadecot.net/docs/ProcTopic/

http://kadecot.net/blog/2750/

https://github.com/DeviceConnect/DeviceConnect-Android/wiki/1.2.2.DevicePlugin-Manual

Page 13: GotAPI-Kadecot plugin Technical Manual

株式会社ソニーコンピュータサイエンス研究所

参考:ECHONET Liteとは

Page 14: GotAPI-Kadecot plugin Technical Manual

株式会社ソニーコンピュータサイエンス研究所

概要

• 国内白物家電の最も一般的なプロトコル – エアコン・照明・エコキュート・分電盤はじめ100種類以上の機器オブジェクトが規定されている。センサーも充実。最近は黒物家電も登場。

– メーカーをまたいだ相互接続性も実用的なレベル – OSI5層以上の規定だが、トランスポート(4層)のガイドラインは決まっており、IPv4のUDP実装が最も普及

• スマートメーター関連でも使用することが決定

– IPv6, Wi-SUNを用いる – デマンドレスポンス(ユーザーによる電力制御)関連オブジェクトも最近決定

• KadecotではすべてのECHONET Lite対応機器が扱える

エコーネットコンソーシアム http://www.echonet.gr.jp

Page 15: GotAPI-Kadecot plugin Technical Manual

株式会社ソニーコンピュータサイエンス研究所

ECHONET Lite機器オブジェクト

ECHONET 機器オブジェクト詳細規定 Release Gより (2015年5月29日)

全103機器が規定済

※コンソ会員企業からのリクエストに応じて増やしている

※規定があっても作っているメーカーがあるとはらない

Page 16: GotAPI-Kadecot plugin Technical Manual

株式会社ソニーコンピュータサイエンス研究所

ECHONET Lite機器オブジェクト

ECHONET 機器オブジェクト詳細規定 Release Gより (2015年5月29日)

センサー44種

Page 17: GotAPI-Kadecot plugin Technical Manual

株式会社ソニーコンピュータサイエンス研究所

ECHONET Lite機器オブジェクト

ECHONET 機器オブジェクト詳細規定 Release Gより (2015年5月29日)

空調機器10種

Page 18: GotAPI-Kadecot plugin Technical Manual

株式会社ソニーコンピュータサイエンス研究所

ECHONET Lite機器オブジェクト

ECHONET 機器オブジェクト詳細規定 Release Gより (2015年5月29日)

住設機器31種

Page 19: GotAPI-Kadecot plugin Technical Manual

株式会社ソニーコンピュータサイエンス研究所

ECHONET Lite機器オブジェクト

ECHONET 機器オブジェクト詳細規定 Release Gより (2015年5月29日)

調理・家事関連 機器10種

Page 20: GotAPI-Kadecot plugin Technical Manual

株式会社ソニーコンピュータサイエンス研究所

ECHONET Lite機器オブジェクト

ECHONET 機器オブジェクト詳細規定 Release Gより (2015年5月29日)

健康関連機器1種

Page 21: GotAPI-Kadecot plugin Technical Manual

株式会社ソニーコンピュータサイエンス研究所

ECHONET Lite機器オブジェクト

ECHONET 機器オブジェクト詳細規定 Release Gより (2015年5月29日)

DR・コントローラ 機器 3種

Page 22: GotAPI-Kadecot plugin Technical Manual

株式会社ソニーコンピュータサイエンス研究所

ECHONET Lite機器オブジェクト

ECHONET 機器オブジェクト詳細規定 Release Gより (2015年5月29日)

AV機器4種

Page 23: GotAPI-Kadecot plugin Technical Manual

株式会社ソニーコンピュータサイエンス研究所

Thank you