磁気センサー
キューブは磁気センサーによってキューブの天面に装着された磁石の種類(定義済みのレイアウトパターン)を検出できます。磁石のハードウェア仕様についてはハードウェア仕様 - 磁気センサーを参照してください。
note
この機能はデフォルトでは無効になっています。設定 - 磁気センサー機能の設定で有効化することではじめて利用可能になります。
磁気センサーの情報は以下の特性(characteristic)を使うことで取得できます。特性はモーションセンサーと同じです。
プロパティ | 値 |
---|---|
Characteristic UUID | 10B20106-5B3B-4571-9508-CF3EFCD7BBAE |
Properties | Write, Read, Notify |
Descriptor | Sensor Information |
書き込み操作
磁気センサー情報の要求
以下のデータを書き込むことで磁気センサー情報を要求できます。キューブは要求を受け取ると、必ず 1 回磁気センサー情報の通知を行います。
データ位置 | タイプ | 内容 | 例 |
---|---|---|---|
0 | UInt8 | 情報の種類 | 0x82 (磁気センサー情報の要求) |
読み出し操作 / 通知
キューブの磁気センサーの情報が変化すると、この特性は BLE セントラルに情報を通知します。 通知される情報は読み出し操作でも取得できます。
note
特性はモーションセンサーと共通です。モーションセンサーの情報も取得されますので、利用の際にはモーションセンサー - 読み出し操作 / 通知も確認してください。
磁気センサー情報の取得
データ位置 | タイプ | 内容 | 例 |
---|---|---|---|
0 | UInt8 | 情報の種類 | 0x02 (磁気センサー情報) |
1 | UInt8 | 磁石の状態 | 0x00 (未装着) |
磁石の状態
キューブの天面に装着された磁石の状態(未装着もしくは定義済みのレイアウトパターン)の ID です。未装着時は0x00
になり、装着時は0x01
から0x06
の 6 つのパターンのいずれかになります。レイアウトパターンの仕様についてはハードウェア仕様 - 磁気センサーを参照してください。
未装着もしくはハードウェア仕様 - 磁気センサーで定義されている 6 つのパターン、合わせて 7 つのパターン以外の磁力を検出した場合は情報を更新しません。