Skip to content

ServiceDiscovery Profile

Onuzimoyr edited this page Nov 17, 2015 · 2 revisions

目次

API 機能概要
Service Discovery API スマートデバイスの検索を行う。
Service Discovery Status Change Event API スマートデバイスの接続状態変更通知を受領する。

機能概要

スマートデバイス検索機能を提供する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":""
    }
}

Clone this wiki locally