メインコンテンツまでスキップ
Version: 2.3.0

磁気センサー

キューブは磁気センサーによってキューブの天面に装着された磁石の種類(定義済みのレイアウトパターン)または磁力を検出できます。磁石のハードウェア仕様についてはハードウェア仕様 - 磁気センサーを参照してください。

note

この機能はデフォルトでは無効になっています。設定 - 磁気センサーの設定で有効化することではじめて利用可能になります。

磁気センサーの情報は以下の特性(characteristic)を使うことで取得できます。特性はモーション検出および姿勢角検出と同じです。

プロパティ
Characteristic UUID10B20106-5B3B-4571-9508-CF3EFCD7BBAE
PropertiesWrite, Read, Notify
DescriptorSensor Information

書き込み操作#

磁気センサー情報の要求#

以下のデータを書き込むことで磁気センサー情報を要求できます。キューブは要求を受け取ると、必ず 1 回磁気センサー情報の通知を行います。

データ位置タイプ内容
0UInt8情報の種類0x82 (磁気センサー情報の要求)

読み出し操作 / 通知 #

キューブの磁気センサーの情報が変化すると、この特性は BLE セントラルに情報を通知します。 通知される情報は読み出し操作でも取得できます。

note

特性はモーション検出および姿勢角検出と共通です。これらの情報も取得されますので、利用の際にはモーション検出 - 読み出し操作 / 通知および姿勢角検出 - 読み出し操作 / 通知も確認してください。

磁気センサー情報の取得 #

データ位置タイプ内容
0UInt8情報の種類0x02(磁気センサー情報)
1UInt8磁石の状態0x00(未装着または機能無効)
2UInt8磁力の強度0x00(検出なしまたは機能無効)
3Int8磁力の方向(X 軸)0x00(検出なしまたは機能無効)
4Int8磁力の方向(Y 軸)0x00(検出なしまたは機能無効)
5Int8磁力の方向(Z 軸)0x00(検出なしまたは機能無効)

磁石の状態#

キューブの天面に装着された磁石の状態(未装着もしくは定義済みのレイアウトパターン)の ID です。未装着時は0x00になり、装着時は0x01から0x06の 6 つのパターンのいずれかになります。レイアウトパターンの仕様についてはハードウェア仕様 - 磁気センサーを参照してください。

未装着もしくはハードウェア仕様 - 磁気センサーで定義されている 6 つのパターン、合わせて 7 つのパターン以外の磁力を検出した場合は情報を更新しません。

磁力の検出 #

キューブに磁石を近づけると、キューブは磁力を検出して応答を返します。

磁力の強度#

磁力の強度は、キューブが検出した磁力の強さを表します。
強度の値の範囲は 0 から 255 です。値が大きいほど磁力が強いことを示します。

磁力の方向#

磁力の方向は、キューブに対する磁力線の向きを相対的に示します。
各軸の値の範囲は -10 から 10 です。磁力を検出していないときは 0 です。 磁力の方向の 3 次元ベクトルとしての長さは、磁力の強度に比例しません。 磁力を検出したときのベクトルの長さはほぼ一定(およそ 10)です。

vector composition

キューブの方向と磁力線の方向の関係はハードウェア仕様 - 磁気センサーを参照してください。