-
Notifications
You must be signed in to change notification settings - Fork 8
ServiceDiscovery Profile
Onuzimoyr edited this page Nov 17, 2015
·
2 revisions
| API | 機能概要 |
|---|---|
| Service Discovery API | スマートデバイスの検索を行う。 |
| Service Discovery Status Change Event API | スマートデバイスの接続状態変更通知を受領する。 |
スマートデバイス検索機能を提供するAPI。
http://www.w3.org/TR/2013/WD-discovery-api-20130924/
W3Cではスマートデバイス検知の開始、終了毎にイベント関数(onservicefound、onservicelost)を用意しているが、Device Connectではイベント通知を受け取るのにイベント登録を行う必要があるため、一つのAPIとしてまとめる方がより汎用的と考え、"Service Discovery Status Change Event API"を定義する。
| インターフェース名称 | Version | 種別 |
|---|---|---|
| Service Discovery API | 2.0.0 | 同期I/F |
スマートデバイス検索機能を提供するAPI。 Device Connect Managerに接続されているスマートデバイス一覧を取得する。 取得できる情報には、スマートデバイスへの接続するネットワーク、オンライン状態やデバイス固有のコンフィグ情報が格納されている。
| HTTPメソッド | URI |
|---|---|
| GET | /gotapi/servicediscovery |
| Content-Type | 形式 | HTTPステータス |
|---|---|---|
| application/json | JSON | 200 |
| 論理名 | 物理名 | データ型 | 省略 | 設定値 | |
| 処理結果 | result | number | - | 0:正常応答 0以外:異常応答 |
|
| デバイス一覧 | services | object[] | - | デバイスデータ(object)の配列。 | |
| デバイスID | id | string | - | デバイスを識別するID。 | |
| デバイス名 | name | string | - | デバイス名。 | |
| デバイスタイプ | type | string | - | デバイスへの接続するネットワークを示す。 WiFi BLE NFC Bluetooth |
|
| ネットワーク接続状態 | online | boolean | - | デバイスのオンライン状態を示す true: オンライン false: オフライン |
|
| コンフィグ | config | string | - | デバイスに設定がある場合には、ここに文字列としてデータが格納されている。 | |
GET http://localhost:4035/gotapi/servicediscovery?accessToken=xxxxx
{
"product":"Device Connect Manager",
"version":"x.x",
"result":0,
"services":[
{
"id":"device1.localhost.deviceconnect.org",
"name":"SW2",
"type":"Bluetooth",
"online":true,
"config":""
},
{
"id":"device2.localhost.deviceconnect.org",
"name":"Hue",
"type":"WiFi",
"online":false,
"config":""
}
]
}
| インターフェース名称 | Version | 種別 |
|---|---|---|
| Service Discovery Status Change Event API | 2.0.0 | 非同期I/F(イベントI/F) |
Device Connect Managerが接続できる周辺機器と接続を開始または解除したことを、イベントプラグインまたは周辺機器に通知するためのイベントです。
| イベント名 | Content-Type |
|---|---|
| /gotapi/servicediscovery/onservicechange | application/json |
| 論理名 | 物理名 | データ型 | 省略 | 設定値 | ||
| オブジェクト | networkService | object | - | イベントの内容を保持するオブジェクト(object) | ||
| オブジェクト | services | object[] | - | デバイスデータ(object)の配列。 | ||
| デバイスID | id | string | - | デバイスを識別するID。 | ||
| デバイス名 | name | string | - | デバイス名。 | ||
| デバイスタイプ | type | string | - | デバイスへの接続するネットワークを示す。 WiFi BLE NFC Bluetooth |
||
| 接続状態 | state | boolean | - | デバイスの接続状態を示す true: 接続可能 false: 接続不可能 |
||
| ネットワーク接続状態 | online | boolean | - | デバイスのオンライン状態を示す true: オンライン false: オフライン |
||
| コンフィグ | config | string | - | デバイスに設定がある場合には、ここに文字列としてデータが格納されている。 | ||
{
"product":"Device Connect Manager",
"version":"x.x",
"serviceId":"device1.localhost.deviceconnect.org",
"api" : "gotapi",
"profile":"servicediscovery",
"attribute":"onservicechange",
"sessionKey":"0a93ac0aade4e046ed63eb24d1172f5f35c88ca60daa901547c28d5827cb418a5de1d7c5f9e62405",
"networkService":{
"id":"device1.localhost.dconnect.com",
"name":"SW2",
"type":"Bluetooth",
"state":true,
"online":true,
"config":""
}
}