Geolocation - masaru-takano/DeviceConnect-Spec GitHub Wiki

概要

スマートデバイスの位置情報機能を提供するAPI。

目次

API 概要
GET /gotapi/geolocation/currentPosition 該当デバイスの現在の位置情報を取得する。
GET /gotapi/geolocation/onWatchPosition 該当デバイスの位置情報定期通知イベントを取得する。
PUT /gotapi/geolocation/onWatchPosition 該当デバイスの位置情報定期通知イベントを開始する。
DELETE /gotapi/geolocation/onWatchPosition 該当デバイスの位置情報定期通知イベントを停止する。

種別

one-shot

概要

該当デバイスの現在の位置情報を取得する。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。取得対象スマートデバイス
highAccuracy boolean No 測位精度設定。
true : 高精度
false : 通常精度
省略時はfalse
maximumAge double No 位置情報有効時間(ミリ秒単位)省略時は0mSec
※前回呼び出し時から該当時間以上経過していた場合に最新の位置情報を返す。それ以外は前回と同じ位置情報を返す。

レスポンス

物理名 データ型 必須 説明
result integer Yes 0:正常応答
0以外:異常応答
product string Yes DeviceConnectシステムの名前。
position object Yes
coordinates object Yes 座標
座標のオブジェクト
latitude float No 緯度
-180~180
単位:degree
longitude float No 経度
-90~90
単位:degree
altitude float No 高度
単位:m
accuracy float No 緯度・経度の誤差
単位:m
altitudeAccuracy float No 高度の誤差
単位:m
heading float No 方角
0~359
単位:degree
真北に対して右回りで 0 ≦ heading < 360
speed float No 速度
単位:m/Sec
timeStamp float Yes 測位時刻
エポックからのミリ秒
timeStampString string Yes 測位時刻 (文字列)
測位時刻を文字列表記
[YYYYMMDDHHMMSS.sss+/-HHMM]形式
version string Yes DeviceConnectシステムのバージョン名。
hmac string No レスポンスに対する署名。アプリケーション側から事前にHMACキーを共有されていた場合は必須。

レスポンスサンプル

{
  "result" : 0,
  "product" : "Example System",
  "version" : "1.0.0",
  "position" : {
    "coordinates" : {
      "latitude" : 37.52104948,
      "longitude" : 139.93875834,
      "altitude" : 285,
      "accuracy" : 31,
      "altitudeAccuracy" : 15,
      "heading" : 0,
      "speed" : 0
    },
    "timeStamp" : 1483241696789,
    "timeStampString" : "20170101123456.789+0900"
  }
}

種別

one-shot

概要

該当デバイスの位置情報定期通知イベントを取得する。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。取得対象スマートデバイス
highAccuracy boolean No 測位精度設定。
true : 高精度
false : 通常精度
省略時はfalse
interval double No デバイスプラグインがイベントを送信する間隔。

レスポンス

物理名 データ型 必須 説明
result integer Yes 0:正常応答
0以外:異常応答
product string Yes DeviceConnectシステムの名前。
position object Yes
coordinates object Yes 座標
座標のオブジェクト
latitude float No 緯度
-180~180
単位:degree
longitude float No 経度
-90~90
単位:degree
altitude float No 高度
単位:m
accuracy float No 緯度・経度の誤差
単位:m
altitudeAccuracy float No 高度の誤差
単位:m
heading float No 方角
0~359
単位:degree
真北に対して右回りで 0 ≦ heading < 360
speed float No 速度
単位:m/Sec
timeStamp float Yes 測位時刻
エポックからのミリ秒
timeStampString string Yes 測位時刻 (文字列)
測位時刻を文字列表記
[YYYYMMDDHHMMSS.sss+/-HHMM]形式
version string Yes DeviceConnectシステムのバージョン名。
hmac string No レスポンスに対する署名。アプリケーション側から事前にHMACキーを共有されていた場合は必須。

レスポンスサンプル

{
  "result" : 0,
  "product" : "Example System",
  "version" : "1.0.0",
  "position" : {
    "coordinates" : {
      "latitude" : 37.52104948,
      "longitude" : 139.93875834,
      "altitude" : 285,
      "accuracy" : 31,
      "altitudeAccuracy" : 15,
      "heading" : 0,
      "speed" : 0
    },
    "timeStamp" : 1483241696789,
    "timeStampString" : "20170101123456.789+0900"
  }
}

種別

event

概要

該当デバイスの位置情報定期通知イベントを開始する。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。取得対象スマートデバイス
highAccuracy boolean No 測位精度設定。
true : 高精度
false : 通常精度
省略時はfalse
interval double No デバイスプラグインがイベントを送信する間隔。

レスポンス

物理名 データ型 必須 説明
result integer Yes 0:正常応答
0以外:異常応答
product string Yes DeviceConnectシステムの名前。
version string Yes DeviceConnectシステムのバージョン名。
hmac string No レスポンスに対する署名。アプリケーション側から事前にHMACキーを共有されていた場合は必須。

レスポンスサンプル

{
  "result" : 0,
  "product" : "Example System",
  "version" : "1.0.0"
}

イベント

物理名 データ型 必須 説明
attribute string Yes アトリビュート名。
position object Yes
coordinates object Yes 座標
座標のオブジェクト
latitude float No 緯度
-180~180
単位:degree
longitude float No 経度
-90~90
単位:degree
altitude float No 高度
単位:m
accuracy float No 緯度・経度の誤差
単位:m
altitudeAccuracy float No 高度の誤差
単位:m
heading float No 方角
0~359
単位:degree
真北に対して右回りで 0 ≦ heading < 360
speed float No 速度
単位:m/Sec
timeStamp float Yes 測位時刻
エポックからのミリ秒
timeStampString string Yes 測位時刻 (文字列)
測位時刻を文字列表記
[YYYYMMDDHHMMSS.sss+/-HHMM]形式
serviceId string Yes 0:正常応答
0以外:異常応答
interface string Yes インターフェース名。
profile string Yes プロファイル名。

イベントサンプル

{
  "serviceId" : "Host.dummyId.localhost.deviceconnect.org",
  "profile" : "geolocation",
  "attribute" : "onwatchposition",
  "position" : {
    "coordinates" : {
      "latitude" : 37.52104948,
      "longitude" : 139.93875834,
      "altitude" : 285,
      "accuracy" : 31,
      "altitudeAccuracy" : 15,
      "heading" : 0,
      "speed" : 0
    },
    "timeStamp" : 1483241696789,
    "timeStampString" : "20170101123456.789+0900"
  }
}

種別

event

概要

該当デバイスの位置情報定期通知イベントを停止する。

リクエスト

物理名 データ型 必須 説明
serviceId string Yes サービスID。取得対象スマートデバイス

レスポンス

物理名 データ型 必須 説明
result integer Yes 0:正常応答
0以外:異常応答
product string Yes DeviceConnectシステムの名前。
version string Yes DeviceConnectシステムのバージョン名。
hmac string No レスポンスに対する署名。アプリケーション側から事前にHMACキーを共有されていた場合は必須。

レスポンスサンプル

{
  "result" : 0,
  "product" : "Example System",
  "version" : "1.0.0"
}
⚠️ **GitHub.com Fallback** ⚠️