キューアプリ
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 | 2バイト、拡張ビット有 電圧(電源電圧) 詳しくはこちらを参照してください。 |
c | センサーデータ2 | 2 | 0D34 | 3350mV |
d | センサーデータ3 (ヘッダ) | 4 | 11300102 | 2バイト、拡張ビット有 電圧(ADC1) 詳しくはこちらを参照してください。 |
e | センサーデータ3 | 2 | 052E | 1432mV |
f | センサーデータ4 (ヘッダ) | 4 | 00000001 | |
g | センサーデータ4 | 1 | 80 | 変化なし、オープン (00: 磁石が離れた。 01: N極が近づいた 02: S局が近づいた 80: 変化なし(磁石なし) 81: 変化なし(N極が近くにある) 82: 変化なし(S極が近くにある)) |
h | センサーデータ5 (ヘッダ) | 4 | 15044006 | |
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 | |
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 | 未使用 |
最終更新