モーションセンサー
キューブはモーションセンサー(6 軸検出システム)によってキューブの姿勢や衝突などの状態情報を検出できます。 これらの情報は以下の特性(characteristic)を使うことで取得できます。
プロパティ | 値 |
---|---|
Characteristic UUID | 10B20106-5B3B-4571-9508-CF3EFCD7BBAE |
Properties | Read, Notify |
Descriptor | Sensor Information |
読み出し操作
検出
キューブのモーションセンサーの情報を以下に示す構成のデータで取得できます。
データ位置 | タイプ | 内容 | 例 |
---|---|---|---|
0 | UInt8 | 情報の種類 | 0x01 (検出) |
1 | UInt8 | 水平検出 | 0x00 (水平ではない) |
2 | UInt8 | 衝突検出 | 0x00 (衝突なし) |
3 | UInt8 | ダブルタップ検出 | 0x00 (ダブルタップなし) |
4 | UInt8 | 姿勢検出 | 0x01 (正位置) |
水平検出
キューブが水平な時は0x01
(水平)、キューブが一定の角度(下図の θ)より傾いた時に0x00
(水平ではない)になります。角度のしきい値については設定 - 水平検出のしきい値設定で設定可能です。
ロール方向
ピッチ方向
衝突検出
キューブと何かが衝突したときに0x00
(衝突なし)から0x01
(衝突あり)に変わります。
検出される衝突の大きさのしきい値については設定 - 衝突検出のしきい値設定で設定可能です。
ダブルタップ検出
キューブが一度タップされてから一定時間内に再度タップされると、0x00
(ダブルタップなし)から0x01
(ダブルタップあり)に変わります。タップの時間間隔は設定 - ダブルタップ検出のしきい値設定で設定可能です。また、検出するタップの強さは設定 - 衝突検出のしきい値設定の設定と同じです。
姿勢検出
キューブの水平面に対する姿勢が変化したときに値が変わります。それぞれ値と姿勢の関係は以下のとおりです。
値 | キューブの姿勢 |
---|---|
1 | 天面が上 |
2 | 底面が上 |
3 | 背面が上 |
4 | 正面が上 |
5 | 右側面が上 |
6 | 左側面が上 |
キューブの姿勢: 左から1: 天面が上
と2: 底面が上
キューブの姿勢: 左から3: 背面が上
と4: 正面が上
キューブの姿勢: 左から5: 右側面が上
と6: 左側面が上
通知
キューブのモーションセンサーの情報が変化すると、この特性は BLE セントラルに情報を通知します。 通知される情報の内容とデータの構造は読み出し操作で得られるものと同じです。