-
Notifications
You must be signed in to change notification settings - Fork 8
Health Profile
Ryo Mizuno edited this page Nov 2, 2016
·
3 revisions
| API | 機能概要 |
|---|---|
| Health HeartRate API | デバイスの心拍数計測イベントを通知する。 |
デバイスのHealth関連のイベントを通知するための機能。
- https://www.bluetooth.org/en-us/specification/assigned-numbers/health-device-profile
- http://technical.openmobilealliance.org/Technical/technical-information/release-program/current-releases/oma-device-webapi-v1-0
| インターフェース名称 | Version | 種別 |
|---|---|---|
| Health HeartRate API | 2.0.0 | 非同期I/F(イベントI/F) |
デバイスの心拍数計測イベントを通知する。
| イベント名 | Content-Type |
|---|---|
| /gotapi/health/heart | application/json |
<td><b>論理名</b></td>
<td colspan="3" text-align="center"><b>物理名</b></td>
<td><b>データ型</b></td>
<td><b>省略</b></td>
<td><b>設定値</b></td>
<td>心拍数計測結果</td>
<td colspan="3" text-align="center">heart</td>
<td>object</td>
<td>-</td>
<td>検出値、検出したデバイスの情報を取得する。</td>
<td >心拍数オブジェクト</td>
<td rowspan="50"></td>
<td colspan="2">rate</td>
<td>object</td>
<td>-</td>
<td>心拍数の情報を持つ。</td>
<td>心拍数</td>
<td rowspan="8"></td>
<td >value</td>
<td>number</td>
<td>-</td>
<td>心拍数</td>
<td>心拍数のMDER Float値</td>
<td >mderFloat</td>
<td>string</td>
<td>-</td>
<td>ターゲットデバイスによって測定された心拍数を、16進数のMDER Float値で表している。取得できない場合は-1の16進数文字列を返す。</td>
<td>心拍数のタイプ</td>
<td >type</td>
<td>string</td>
<td>-</td>
<td>この値が「heart rate」であることを表す文字列を返す。取得できない場合は、空文字を返す。</td>
<td>心拍数のオブジェクトのタイプのコード</td>
<td >typeCode</td>
<td>string</td>
<td>-</td>
<td>「147842」という「heart rate」を意味するコードを返す。取得できない場合は、空文字を返す。</td>
<td>心拍数の単位</td>
<td >unit</td>
<td>string</td>
<td>-</td>
<td>「beat per min」のように人間がわかるように単位を返す。取得できない場合は、空文字を返す。</td>
<td>心拍数の単位コード</td>
<td >unitCode</td>
<td>string</td>
<td>-</td>
<td>「264864」という「beat per min」を意味するコードを返す。取得できない場合は、空文字を返す。</td>
<td>心拍数のタイムスタンプ</td>
<td >timeStamp</td>
<td>number</td>
<td>-</td>
<td>測定が行われた測定時間。ミリ秒のUnixタイムスタンプで返す。</td>
<td>心拍数のタイムスタンプ文字列</td>
<td >timeStampString</td>
<td>string</td>
<td>-</td>
<td>タイムスタンプと同じタイムスタンプを「YYYYMMDDHHMMSS.sss+/-HHMM」の形式で返す。</td>
<td >RR間隔オブジェクト</td>
<td colspan="2">rr</td>
<td>object</td>
<td>○</td>
<td>RR間隔値の情報を持つ。</td>
<td>RR間隔値</td>
<td rowspan="8"></td>
<td >value</td>
<td>number</td>
<td>○</td>
<td>ターゲットデバイスで測定したRR間隔を返す。</td>
<td>RR間隔のMDER Float値</td>
<td >mderFloat</td>
<td>string</td>
<td>○</td>
<td>RR間隔値のMDERFloat値を返す。</td>
<td>RR間隔のタイプ</td>
<td >type</td>
<td>string</td>
<td>○</td>
<td>RR間隔を表す「RR interval」を返す。取得できない場合は、空文字を返す。</td>
<td>RR間隔のオブジェクトのタイプのコード</td>
<td >typeCode</td>
<td>string</td>
<td>○</td>
<td>RR間隔を表す「147240」を返す。取得できない場合は、空文字を返す。</td>
<td>RR間隔の単位</td>
<td >unit</td>
<td>string</td>
<td>○</td>
<td>RR間隔の単位を表す「ms」を返す。取得できない場合は、空文字を返す。</td>
<td>RR間隔の単位コード</td>
<td >unitCode</td>
<td>string</td>
<td>○</td>
<td>RR間隔の単位であるmsを表す「264338」を返す。取得できない場合は、空文字を返す。</td>
<td>RR間隔のタイムスタンプ</td>
<td >timeStamp</td>
<td>number</td>
<td>○</td>
<td>測定が行われた測定時間。ミリ秒のUnixタイムスタンプで返す。</td>
<td>RR間隔のタイムスタンプ文字列</td>
<td >timeStampString</td>
<td>string</td>
<td>○</td>
<td>タイムスタンプと同じタイムスタンプを「YYYYMMDDHHMMSS.sss+/-HHMM」の形式で返す。</td>
<!-- EnergyExtended -->
<td >消費エネルギーオブジェクト</td>
<td colspan="2">energy</td>
<td>object</td>
<td>○</td>
<td>消費エネルギーの情報を持つ。</td>
<td>消費エネルギー</td>
<td rowspan="8"></td>
<td >value</td>
<td>number</td>
<td>○</td>
<td>ターゲットデバイスで測定した消費エネルギー値を返す。</td>
<td>消費エネルギーのMDER Float値</td>
<td >mderFloat</td>
<td>string</td>
<td>○</td>
<td>消費エネルギー値のMDERFloat値を返す。</td>
<td>消費エネルギーのタイプ</td>
<td >type</td>
<td>string</td>
<td>○</td>
<td>消費エネルギー値を表す「energy expended」を返す。取得できない場合は、空文字を返す。</td>
<td>消費エネルギーのタイプコード</td>
<td >typeCode</td>
<td>string</td>
<td>○</td>
<td>消費エネルギー値を表す「119」を返す。取得できない場合は、空文字を返す。</td>
<td>消費エネルギーの単位</td>
<td >unit</td>
<td>string</td>
<td>○</td>
<td>消費エネルギー値の単位を表す「Calories」を返す。取得できない場合は、空文字を返す。</td>
<td>消費エネルギーの単位コード</td>
<td >unitCode</td>
<td>string</td>
<td>○</td>
<td>消費エネルギー値の単位であるCaloriesを表す「6784」を返す。取得できない場合は、空文字を返す。</td>
<td>消費エネルギーのタイムスタンプ</td>
<td >timeStamp</td>
<td>number</td>
<td>○</td>
<td>測定が行われた測定時間。ミリ秒の UNIXタイムスタンプで返す。</td>
<td>消費エネルギーのタイムスタンプ文字列</td>
<td >timeStampString</td>
<td>string</td>
<td>○</td>
<td>タイムスタンプと同じタイムスタンプを「YYYYMMDDHHMMSS.sss+/-HHMM」の形式で返す。</td>
<!-- Device -->
<td >デバイスオブジェクト</td>
<td colspan="2">device</td>
<td>object</td>
<td>-</td>
<td>健康機器の情報を持つ。</td>
<td>プロダクト名</td>
<td rowspan="11"></td>
<td >productName</td>
<td>string</td>
<td>-</td>
<td>ターゲットデバイスの製品名。取得できない時は任意のアルゴリズムでデバイス名を生成。</td>
<td>メーカ名</td>
<td >manufacturerName</td>
<td>string</td>
<td>-</td>
<td>ターゲットデバイスのメーカ名。取得できない場合は空文字を指定。</td>
<td>モデルの番号</td>
<td >modelNumber</td>
<td>string</td>
<td>-</td>
<td>ターゲットデバイスのモデル番号。取得できない場合は空文字を指定。</td>
<td>ファームウェアリビジョン</td>
<td >firmwareRevision</td>
<td>string</td>
<td>-</td>
<td>ターゲットデバイスのファームウェアリビジョン。取得できない場合は空文字を指定。</td>
<td>シリアルナンバー</td>
<td >serialNumber</td>
<td>string</td>
<td>-</td>
<td>ターゲットデバイスのシリアル番号。取得できない場合は空文字を指定。</td>
<td>ソフトウェアリビジョン</td>
<td >softwareRevision</td>
<td>string</td>
<td>-</td>
<td>ターゲットデバイスのソフトウェアリビジョン。取得できない場合は空文字を指定。</td>
<td>ハードウェアリビジョン</td>
<td >hardwareRevision</td>
<td>string</td>
<td>-</td>
<td>ターゲットデバイスのハードウェアリビジョン。取得できない場合は、空文字を指定。</td>
<td>パートナンバー</td>
<td >partNumber</td>
<td>string</td>
<td>-</td>
<td>ターゲットデバイスのパート番号。取得できない場合は、空文字を指定。</td>
<td>プロトコルリビジョン</td>
<td >protocolRevision</td>
<td>string</td>
<td>-</td>
<td>ターゲットデバイスのプロトコルリビジョン。取得できない場合は、空文字を指定。</td>
<td>システムID</td>
<td >systemId</td>
<td>string</td>
<td>-</td>
<td>ターゲットデバイスのシステムID。16進数。取得できない場合は「0x0」。</td>
<td>バッテリーレベル</td>
<td >batteryLevel</td>
<td>number</td>
<td>-</td>
<td>ターゲットデバイスのバッテリーレベル。取得できない場合は-1.0を返す。<br>0.0〜1.0</td>
{
"product":"Device Connect Manager",
"version":"x.x",
"serviceId": “device1.localhost.deviceconnect.org",
“api”: “gotapi”,
"profile" : “health”,
"attribute" : "heart",
“heart” : {
“rate”: {
“value”:75,
“mderFloat”:”0000004B”,
“type”:”Heart rate”,
“typeCode”:”147842”,
“unit”:”beats per min”,
“unitCode”:”264864”,
“timeStamp”:1431856940275,
“timeStampString”: "20150517100220.000-0000"
},
“rr”:{
“value”: 1365,
“mderFloat”:”00000555”,
“type”:"RR interval”,
“typeCode”:”147240”,
“unit”:”ms”,
“unitCode”:”264338”,
“timeStamp”:1431856940275,
“timeStampString”:"20150517100220.000-0000"
},
"energy": {
"value" :5,
“mderFloat”:”00000005”,
“type”:"energy expended”,
“typeCode”:”119”,
“unit”:”Calories”,
“unitCode”:6784,
“timeStamp”:1431856940275,
“timeStampString”:"20150517100220.000-0000"
},
“device”: {
“productName” : “Heart Rate Monitor sample”,
“manufacturerName”: “Sample, inc.”,
“modelNumber”:”TP-001”,
“firmwareRevision”:”rev.1.001.003”,
“serialNumber”:”01234-5678-9ABCD-EF01”,
“softwareRevision”:”rev.2.000.000”,
“hardwareRevision”: “rev.1.0”,
“partNumber”:”002”,
“protocolRevision”:”rev.3.1”,
“systemId”:”ABCDEF0123456789”,
“batteryLevel”:”0.5
},
}
}