キューアプリ
App_CUE
TWELITE CUEには加速度センサーと磁気センサーが搭載されており、両方のセンサーのデータも出力メッセージに含まれます。
このページでは出力メッセージからそれらのセンサーデータの読み方について解説します。
センサーデータの簡易的な読み方
下記のデータ羅列は、: に始まり改行コードまでの16進数データをテキストで表現したものです。
上記は逐次解釈する書式ですので、厳密に解釈するのは煩雑です。
データの詳細情報はこちらをご参照ください。
そのため、各センサーの値の場所とその抽出例をご説明します。 その際、: を 0 文字目とします。
データの位置の表記法
以下の説明では、データの位置を示す際、Pythonのリストの指定の表記ような以下の書式でご案内します。
例えば、15文字目から4文字を指定する場合は、以下のように表記します。
加速度
加速度データは103文字目から時系列順でX、Y、Zに並んだ加速度が10個分格納されます。 加速度は、符号付整数で単位はmg(1重力加速度(g)の1/1000)です。 *データが12文字、ヘッダが8文字で、20文字ごとにデータが並ぶ。
磁気センサー
磁気センサーは93文字目から2文字分です。 磁気センサーは下表の値を出力します。
磁気センサーのデータ
意味
00
磁石が遠ざかった。
01
磁石のN極が近づいた。
02
磁石のS極が近づいた。
80
磁石が近くにない。(タイマーによる定期送信)
81
磁石のN極が近くにある。(タイマーによる定期送信)
82
磁石がS極が近くにある。(タイマーによる定期送信)
例えば、磁石が近くにない状態から、磁石(N極)が一定期間センサーの近くにある場合、以下のように磁気センサーの値が変化します。
※ 多くの場合は磁石のN極を検出したときに01になりますが、設置環境によっては、出力値が一定期間安定せず、02や稀に00が出力される場合があります。
また、磁石が近くにあるかだけ知りたい場合は、94文字目だけ確認し、0だったら磁石が近くにない、1または2の時は磁石が近くにあると判定します。
センサーのデータの抽出例
1サンプル目の加速度と磁気センサーのデータを取得するPythonの対話モードでの実行例です。 シリアルメッセージから、1サンプル目の加速度の文字列を取り出し、数値に変換します。その際、そのままだと符号無の数値ですので、符号付の数値に変換します。 磁気センサーのデータをシリアル出力から抜き出し、上表に従って磁気センサーが検出している状態に変換し、加速度データと磁気センサーの情報を標準出力しております。
アドレスなどのセンサー以外のデータ
出力メッセージは、加速度、磁気センサーのデータ以外に以下の情報が含まれております。
開閉センサーパルのデータの判別方法
親機・中継機アプリはTWELITE PALからだけではなく、様々なアプリのデータを受信することができるので、出力されたデータがどのアプリのデータか区別する必要があります。 TWELITE CUEの出力メッセージは、改行コード抜きで299文字(改行コードありでは301文字)で、ほかのセンサーパルのデータとは文字数が違うため、文字数で見分けると簡単です。 ただし、シリアル通信アプリなどのように受信メッセージの文字数が決まっていないものもありますので、文字数だけでは見分けられない場合があります。
より厳密に区別するには、文字数と以下の項目を確認してください。
1文字目が8であること
15文字目が8であること
25、26文字目が '80' であること
27、28文字目が '05' であること
TWELITE CUEモード
出力例
意味
バイト数
データ例
備考
1
中継機シリアルID
4
80000000
2
LQI
1
B1
3
続き番号
2
001B
4
送信元シリアルID
4
810B6465
5
送信元LID
1
01
6
センサー種別
1
80
7
PAL IDとPAL Ver
1
05
TWELITE CUE
8
センサーデータ数
1
0F
15
9
センサーデータ0
7
00340003813500
a
センサーデータ1
8
1205040403000000
b
センサーデータ2 (ヘッダ)
4
11300802
c
センサーデータ2
2
0D34
3350mV
d
センサーデータ3 (ヘッダ)
4
11300102
e
センサーデータ3
2
052E
1432mV
f
センサーデータ4 (ヘッダ)
4
00000001
1バイト拡張ビットなし
ホールIC
g
センサーデータ4
1
80
変化なし、オープン (00: 磁石が離れた。 01: N極が近づいた 02: S局が近づいた 80: 変化なし(磁石なし) 81: 変化なし(N極が近くにある) 82: 変化なし(S極が近くにある))
h
センサーデータ5 (ヘッダ)
4
15044006
符号あり2バイト、拡張ビット有
加速度(1サンプル目)
i
センサーデータ5(X軸)
2
FC28
X = 392mg
j
センサーデータ5(Y軸)
2
FFB0
Y = -800mg
k
センサーデータ5(Z軸)
2
0018
Z = 240mg
l
センサーデータ6 (ヘッダ)
4
15044106
符号あり2バイト、拡張ビット有
加速度(2サンプル目)
m
センサーデータ6(X軸)
2
FC28
X = 176mg
n
センサーデータ6(Y軸)
2
FFB0
Y = -1248mg
o
センサーデータ6(Z軸)
2
0008
Z = -96mg
中略
p
チェックサム1
1
A6
1~pの1つ前までのCRC8
q
チェックサム2
1
2C
1~pまでのLRC
パケットプロパティ
意味
バイト数
データ例
備考
1
各種情報ビット値
1
00
拡張バイトなし、符号なしChar
2
データソース
1
34
起床要因
3
拡張バイト
1
00
4
データ長
1
03
5
パケットID
1
81
0~127、MSBはイベントがあるかどうか 0もしくは0x80はADC1と電源電圧、イベント以外はデータがないことを示す
6
起床要因センサー
1
04
磁気センサー:0x00 温度:0x01 湿度:0x02 照度:0x03 加速度:0x04 DIO:0x31
タイマー:0x35
7
起床要因
1
02
送信要因 イベントが発生した:0x00 値が変化した:0x01 値が閾値を超えた:0x02 閾値を下回った:0x03 閾値の範囲に入った:0x04
イベント
意味
バイト数
データ例
備考
1
各種情報ビット値
1
12
拡張バイトあり、符号なしLong
2
データソース
1
05
イベント
3
拡張バイト
1
04
イベントの発生要因
磁気センサー:0x00 温度:0x01 湿度:0x02 照度:0x03 加速度:0x04
MSBが1の場合はデータ2にデータが存在する。
4
データ長
1
04
5
データ1
1
10
イベント発生要因が磁気センサーの場合
0x00(0):近くに磁石がない 0x01(1):磁石のN極が近くにある 0x02(2):磁石のS極が近くにある
イベント発生要因が加速度の場合
0x01(1)~0x06(6):さいころ 0x08(8):シェイク 0x10(16):ムーブ
6
データ2
3
000000
未使用
最終更新