キューアプリからの出力(親機・中継機アプリ)
キューアプリからデータを受信した際の出力書式
TWELITE CUE モード
以前はここにPythonを使って解釈する方法を記載していましたが、現在は公式ライブラリを配布しています。
MWings for Python をご利用ください。
データ形式
# | データ | 内容 | 備考 |
---|---|---|---|
char | ヘッダ | : のみ | |
0 | uint32 | 中継機のシリアルID | 中継なしの場合80000000 |
4 | uint8 | LQI | 0 -255 |
5 | uint16 | 続き番号 | |
7 | uint32 | 送信元のシリアルID | 0x8??????? |
11 | uint8 | 送信元の論理デバイスID | |
12 | uint8 | センサー種別 | 0x80 のみ |
13 | uint8 | PAL基板バージョンとPAL基板ID | 0x05 のみ |
14 | uint8 | センサーデータの数 | 15 のみ |
センサーデータ1 | |||
15 | uint8 | 情報ビット | 0x00 のみ |
16 | uint8 | データソース | 0x34 のみ |
17 | uint8 | 拡張バイト | 0x00 のみ |
18 | uint8 | データ長 | 3 のみ |
19 | [uint8] | データ | パケットプロパティデータ |
センサーデータ2 | |||
22 | uint8 | 情報ビット | 0x12 のみ |
23 | uint8 | データソース | 0x05 のみ |
24 | uint8 | 拡張バイト | 0x35 または0x04 または0x00 |
25 | uint8 | データ長 | 4 のみ |
26 | uint32 | データ | イベントデータ |
センサーデータ3 | |||
30 | uint8 | 情報ビット | 0x11 のみ |
31 | uint8 | データソース | 0x30 のみ |
32 | uint8 | 拡張バイト | 0x08 のみ |
33 | uint8 | データ長 | 2 のみ |
34 | uint16 | データ | 電源電圧(mV) |
センサーデータ4 | |||
36 | uint8 | 情報ビット | 0x11 のみ |
37 | uint8 | データソース | 0x30 のみ |
38 | uint8 | 拡張バイト | 0x01 のみ |
39 | uint8 | データ長 | 2 のみ |
40 | uint16 | データ | ADC1の電圧(mV) |
センサーデータ5 | |||
42 | uint8 | 情報ビット | 0x00 のみ |
43 | uint8 | データソース | 0x00 のみ |
44 | uint8 | 拡張バイト | 0x00 のみ |
45 | uint8 | データ長 | 1 のみ |
46 | uint8 | データ | 磁気データ |
センサーデータ6 | |||
47 | uint8 | 情報ビット | 0x15 のみ |
48 | uint8 | データソース | 0x04 のみ |
49 | uint8 | 拡張バイト | 0x?0 周波数とサンプル番号 |
50 | uint8 | データ長 | 6 のみ |
51 | [int16] | データ | 加速度データ |
センサーデータ7 | |||
57 | uint8 | 情報ビット | 0x15 のみ |
58 | uint8 | データソース | 0x04 のみ |
59 | uint8 | 拡張バイト | 0x?1 周波数とサンプル番号 |
60 | uint8 | データ長 | 6 のみ |
61 | [int16] | データ | 加速度データ |
センサーデータ8 | |||
<省略> | |||
センサーデータ15 | |||
137 | uint8 | 情報ビット | 0x15 のみ |
138 | uint8 | データソース | 0x04 のみ |
139 | uint8 | 拡張バイト | 0x?9 周波数とサンプル番号 |
140 | uint8 | データ長 | 6 のみ |
141 | int16 | データ | 加速度データ |
センサーデータの末端 | |||
147 | uint8 | チェックサム1 | 直前までのCRC8 |
uint8 | チェックサム2 | チェックサム1までのLRC8 | |
char | フッタ | CR (0x0D /'\r' ) | |
char | フッタ | LF (0x0A /'\n' ) |
出力データの例
:80000000CF7F7382019E3B0180050F003400038135001205040406000000113008020B8611300102042E000000018015044006FFF00010FC1815044106FFF00018FC1815044206FFF00010FC0015044306FFF80000FC1015044406FFF00010FC1815044506FFE00018FBF815044606FFE80000FC0015044706FFE80010FBF815044806FFE80010FC0815044906FFE80010FC080C0E
# | データ | 内容 | 値 | |
---|---|---|---|---|
: | char | ヘッダ | : | |
80000000 | 0 | uint32 | 中継機のシリアルID | 中継なし |
CF | 4 | uint8 | LQI | 207 /255 |
7F73 | 5 | uint16 | 続き番号 | 32627 |
82019E3B | 7 | uint32 | 送信元のシリアルID | 0x2019E3B |
01 | 11 | uint8 | 送信元の論理デバイスID | 0x01 |
80 | 12 | uint8 | センサー種別 | |
05 | 13 | uint8 | PAL基板バージョンとPAL基板ID | TWELITE CUE |
0F | 14 | uint8 | センサーデータの数 | 15 個 |
センサーデータ1 | ||||
00 | 15 | uint8 | 情報ビット | 拡張バイトなしuint8 |
34 | 16 | uint8 | データソース | パケットプロパティ |
00 | 17 | uint8 | 拡張バイト | なし |
03 | 18 | uint8 | データ長 | 3 バイト |
813500 | 19 | [uint8] | データ | ID129 、タイマイベント発生 |
センサーデータ2 | ||||
12 | 22 | uint8 | 情報ビット | 拡張バイトありuint32 |
05 | 23 | uint8 | データソース | イベント |
04 | 24 | uint8 | 拡張バイト | 加速度イベント |
04 | 25 | uint8 | データ長 | 4 バイト |
06000000 | 26 | uint32 | データ | サイコロ:6 |
センサーデータ3 | ||||
11 | 30 | uint8 | 情報ビット | 拡張バイトありuint16 |
30 | 31 | uint8 | データソース | 電圧 |
08 | 32 | uint8 | 拡張バイト | 電源電圧 |
02 | 33 | uint8 | データ長 | 2 バイト |
0B86 | 34 | uint16 | データ | 2950 mV |
センサーデータ4 | ||||
11 | 36 | uint8 | 情報ビット | 拡張バイトありuint16 |
30 | 37 | uint8 | データソース | 電圧 |
01 | 38 | uint8 | 拡張バイト | ADC1の電圧 |
02 | 39 | uint8 | データ長 | 2 バイト |
042E | 40 | uint16 | データ | 1070 mV |
センサーデータ5 | ||||
00 | 42 | uint8 | 情報ビット | 拡張バイトなしuint8 |
00 | 43 | uint8 | データソース | 磁気 |
00 | 44 | uint8 | 拡張バイト | なし |
01 | 45 | uint8 | データ長 | 1 バイト |
80 | 46 | uint8 | データ | 磁石なし(定期送信) |
センサーデータ6 | ||||
15 | 47 | uint8 | 情報ビット | 拡張バイトありint16 |
04 | 48 | uint8 | データソース | 加速度データ |
40 | 49 | uint8 | 拡張バイト | 100Hz, 0番サンプル |
06 | 50 | uint8 | データ長 | 6 バイト |
FFF00010FC18 | 51 | [int16] | データ | X-16 mG/Y16 mG/Z-1000 mG |
センサーデータ7 | ||||
15 | 57 | uint8 | 情報ビット | 拡張バイトありint16 |
04 | 58 | uint8 | データソース | 加速度データ |
41 | 59 | uint8 | 拡張バイト | 100Hz, 1番サンプル |
06 | 60 | uint8 | データ長 | 6 バイト |
FFF00018FC18 | 61 | [int16] | データ | X-16 mG/Y24 mG/Z-1000 mG |
センサーデータ8 | ||||
<省略> | ||||
センサーデータ15 | ||||
15 | 137 | uint8 | 情報ビット | 拡張バイトありint16 |
04 | 138 | uint8 | データソース | 加速度データ |
49 | 139 | uint8 | 拡張バイト | 100Hz, 9番サンプル |
06 | 140 | uint8 | データ長 | 6 バイト |
FFE80010FC08 | 141 | int16 | データ | X-24 mG/Y16 mG/Z-1016 mG |
センサーデータの末端 | ||||
0C | 147 | uint8 | チェックサム1 | 0x0C |
0E | uint8 | チェックサム2 | 0x0E | |
char | フッタ | '\r' | ||
char | フッタ | '\n' |
データの判別条件
親機・中継機アプリは、さまざまな種類の子機からデータを受信することができます。
出力されたデータがキューアプリ(TWELITE CUEモード)のものであるかを確認するには、次の箇所を参照してください。
# | データ | 項目 | 条件 |
---|---|---|---|
0 | uint32 | 中継機のシリアルID | MSBが1であること |
7 | uint32 | 送信元のシリアルID | MSBが1であること |
12 | uint8 | センサー種別 | 0x80 であること |
13 | uint8 | PAL基板バージョンとPAL基板ID | 0x05 であること |
- | - | ペイロードのサイズ | 148バイトであること |
パーサの実装例
- Python
- Arduino (C++)
開閉センサーパルモード
開閉センサーパルモードの場合は、開閉センサーパルの子機における出力と同一です。
動作センサーパルモード(加速度計測モード)
動作センサーパルモード(加速度計測モード)の場合は、動作センサーパルの子機における出力と同一です。
動作センサーパルモード(ムーブ/ダイスモード)
データ形式
# | データ | 内容 | 備考 |
---|---|---|---|
char | ヘッダ | : のみ | |
0 | uint32 | 中継機のシリアルID | 中継なしの場合80000000 |
4 | uint8 | LQI | 0 -255 |
5 | uint16 | 続き番号 | |
7 | uint32 | 送信元のシリアルID | 0x8??????? |
11 | uint8 | 送信元の論理デバイスID | |
12 | uint8 | センサー種別 | 0x80 のみ |
13 | uint8 | PAL基板バージョンとPAL基板ID | 0x03 のみ |
14 | uint8 | センサーデータの数 | 04 のみ |
センサーデータ1 | |||
15 | uint8 | 情報ビット | 0x00 のみ |
16 | uint8 | データソース | 0x34 のみ |
17 | uint8 | 拡張バイト | 0x00 のみ |
18 | uint8 | データ長 | 3 のみ |
19 | [uint8] | データ | パケットプロパティデータ |
センサーデータ2 | |||
22 | uint8 | 情報ビット | 0x12 のみ |
23 | uint8 | データソース | 0x05 のみ |
24 | uint8 | 拡張バイト | 0x04 のみ |
25 | uint8 | データ長 | 4 のみ |
26 | uint32 | データ | イベントデータ |
センサーデータ3 | |||
30 | uint8 | 情報ビット | 0x11 のみ |
31 | uint8 | データソース | 0x30 のみ |
32 | uint8 | 拡張バイト | 0x08 のみ |
33 | uint8 | データ長 | 2 のみ |
34 | uint16 | データ | 電源電圧(mV) |
センサーデータ4 | |||
36 | uint8 | 情報ビット | 0x11 のみ |
37 | uint8 | データソース | 0x30 のみ |
38 | uint8 | 拡張バイト | 0x01 のみ |
39 | uint8 | データ長 | 2 のみ |
40 | uint16 | データ | ADC1の電圧(mV) |
センサーデータの末端 | |||
42 | uint8 | チェックサム1 | 直前までのCRC8 |
uint8 | チェックサム2 | チェックサム1までのLRC8 | |
char | フッタ | CR (0x0D /'\r' ) | |
char | フッタ | LF (0x0A /'\n' ) |
出力データの例
ダイスモードの例を示します。ムーブモードの場合は、センサーデータ2
のイベントが異なります。
:80000000B400048106664801800304003400038035001205040403000000113008020D2011300102052C59B7
# | データ | 内容 | 値 | |
---|---|---|---|---|
: | char | ヘッダ | : | |
80000000 | 0 | uint32 | 中継機のシリアルID | 中継なし |
B1 | 4 | uint8 | LQI | 177 /255 |
0008 | 5 | uint16 | 続き番号 | 8 |
81066648 | 7 | uint32 | 送信元のシリアルID | 0x2019E3B |
01 | 11 | uint8 | 送信元の論理デバイスID | 0x1066648 |
80 | 12 | uint8 | センサー種別 | |
03 | 13 | uint8 | PAL基板バージョンとPAL基板ID | TWELITE CUE ダイス/ムーブ |
04 | 14 | uint8 | センサーデータの数 | 4 つ |
センサーデータ1 | ||||
00 | 15 | uint8 | 情報ビット | 拡張バイトなしuint8 |
34 | 16 | uint8 | データソース | パケットプロパティ |
00 | 17 | uint8 | 拡張バイト | なし |
03 | 18 | uint8 | データ長 | 3 バイト |
803500 | 19 | [uint8] | データ | ID128 、イベント発生(他ADC1と電源のみ) |
センサーデータ2 | ||||
12 | 22 | uint8 | 情報ビット | 拡張バイトありuint32 |
05 | 23 | uint8 | データソース | イベント |
04 | 24 | uint8 | 拡張バイト | 加速度イベント |
04 | 25 | uint8 | データ長 | 4 バイト |
03000000 | 26 | uint32 | データ | ダイスモード、サイコロ:3 |
センサーデータ3 | ||||
11 | 30 | uint8 | 情報ビット | 拡張バイトありuint16 |
30 | 31 | uint8 | データソース | 電圧 |
08 | 32 | uint8 | 拡張バイト | 電源電圧 |
02 | 33 | uint8 | データ長 | 2 バイト |
0D20 | 34 | uint16 | データ | 3360 mV |
センサーデータ4 | ||||
11 | 36 | uint8 | 情報ビット | 拡張バイトありuint16 |
30 | 37 | uint8 | データソース | 電圧 |
01 | 38 | uint8 | 拡張バイト | ADC1の電圧 |
02 | 39 | uint8 | データ長 | 2 バイト |
052C | 40 | uint16 | データ | 1324 mV |
センサーデータの末端 | ||||
59 | 42 | uint8 | チェックサム1 | 0x0C |
B7 | uint8 | チェックサム2 | 0x0E | |
char | フッタ | '\r' | ||
char | フッタ | '\n' |
データの判別条件
親機・中継機アプリは、さまざまな種類の子機からデータを受信することができます。
出力されたデータがキューアプリ(動作センサーパルモードのムーブあるいはダイスモード)のものであるかを確認するには、次の箇所を参照してください。
# | データ | 項目 | 条件 |
---|---|---|---|
0 | uint32 | 中継機のシリアルID | MSBが1であること |
7 | uint32 | 送信元のシリアルID | MSBが1であること |
12 | uint8 | センサー種別 | 0x80 であること |
13 | uint8 | PAL基板バージョンとPAL基板ID | 0x03 であること |
- | - | ペイロードのサイズ | 43バイトであること |