子機から送信されたデータを受信し、既定の書式でシリアルポートから出力します。
セクションの複数ページをまとめています。 印刷またはPDF形式で保存...
親機・中継機アプリの受信メッセージ
- 1: 超簡単!標準アプリからの出力(親機・中継機アプリ)
- 2: リモコンアプリからの出力(親機・中継機アプリ)
- 3: シリアル通信アプリからの出力(親機・中継機アプリ)
- 4: パル/キュー/アリアアプリからの出力(親機・中継機アプリ)
- 4.1: パルアプリからの出力(親機・中継機アプリ)
- 4.2: キューアプリからの出力(親機・中継機アプリ)
- 4.3: アリアアプリからの出力(親機・中継機アプリ)
- 4.4: パル・キュー・アリアアプリからの出力の詳細(親機・中継機アプリ)
- 5: actからの出力(親機・中継機アプリ)
- 6: 無線タグアプリからの出力(親機・中継機アプリ)
1 - 超簡単!標準アプリからの出力(親機・中継機アプリ)
0x81
:相手端末からの状態通知
受信した入力信号の状態を出力します。
データ形式
# | データ | 内容 | 備考 |
---|---|---|---|
char | ヘッダ | : のみ | |
0 | uint8 | 送信元の論理デバイスID | |
1 | uint8 | コマンド番号 | 0x81 のみ |
2 | uint8 | パケット識別子 | アプリケーションIDより生成 |
3 | uint8 | プロトコルバージョン | 0x01 のみ |
4 | uint8 | LQI | 0 -255 |
5 | uint32 | 送信元のシリアルID | 0x8??????? |
9 | uint8 | 送信先の論理デバイスID | |
10 | uint16 | タイムスタンプ | 1秒で64カウント |
12 | uint8 | 中継回数 | |
13 | uint16 | 電源電圧 | 単位はmV |
15 | int8 | - | (未使用) |
16 | uint8 | デジタル信号 | LSBから順にDIx へ対応、0 がHighMSBが 1 なら定期送信 |
17 | uint8 | デジタル信号マスク | LSBから順にDIx へ対応、1 が有効 |
18 | uint8 | AI1 の変換値 | アナログ信号の計算を参照、0xFF で未使用 |
19 | uint8 | AI2 の変換値 | アナログ信号の計算を参照、0xFF で未使用 |
20 | uint8 | AI3 の変換値 | アナログ信号の計算を参照、0xFF で未使用 |
21 | uint8 | AI4 の変換値 | アナログ信号の計算を参照、0xFF で未使用 |
22 | uint8 | AIx の補正値 | LSBから2ビットずつ順にAIx へ対応 |
uint8 | チェックサム | LRC8 | |
char | フッタ | CR (0x0D /'\r' ) | |
char | フッタ | LF (0x0A /'\n' ) |
アナログ信号の計算
AIx
の入力電圧 \(V\)は、受信した変換値\(e_{r}\)および補正値\(e_{fr}\)を使って次のように表すことができます。
単位は mV
出力データの例
:78811501C98201015A000391000C2E00810301FFFFFFFFFB
# | データ | 内容 | 値 | |
---|---|---|---|---|
: | char | ヘッダ | : | |
78 | 0 | uint8 | 送信元の論理デバイスID | 0x78 |
81 | 1 | uint8 | コマンド番号 | 0x81 |
15 | 2 | uint8 | パケット識別子 | 0x15 |
01 | 3 | uint8 | プロトコルバージョン | 0x01 |
C9 | 4 | uint8 | LQI | 201/255 |
8201015A | 5 | uint32 | 送信元のシリアルID | 0x201015A |
00 | 9 | uint8 | 送信先の論理デバイスID | 0x00 |
0391 | 10 | uint16 | タイムスタンプ | 約14.27 秒 |
00 | 12 | uint8 | 中継回数 | 0 |
0C2E | 13 | uint16 | 電源電圧 | 3118 mV |
00 | 15 | int8 | - | |
81 | 16 | uint8 | デジタル信号 | DI1 L DI2 H DI3 H DI4 H (定期送信) |
03 | 17 | uint8 | デジタル信号マスク | DI1 DI2 |
01 | 18 | uint8 | AI1 の変換値 | 16 mV |
FF | 19 | uint8 | AI2 の変換値 | 未使用 |
FF | 20 | uint8 | AI3 の変換値 | 未使用 |
FF | 21 | uint8 | AI4 の変換値 | 未使用 |
FF | 22 | uint8 | AIx の補正値 | AI1 0x03 |
FB | uint8 | チェックサム | 0xFB | |
char | フッタ | \r | ||
char | フッタ | \n |
データの判別条件
親機・中継機アプリは、さまざまな種類の子機からデータを受信することができます。
出力されたデータが超簡単!標準アプリのものであるかを確認するには、次の箇所を参照してください。
# | データ | 項目 | 条件 |
---|---|---|---|
1 | uint8 | コマンド番号 | 0x81 であること |
3 | uint8 | プロトコルバージョン | 0x01 であること |
5 | uint32 | 送信元のシリアルID | MSBが1であること(0x8??????? ) |
- | - | ペイロードのサイズ | 23バイトであること(: とチェックサムの間) |
パーサの実装例
- Python
- Arduino (C++)
0x01
:任意のデータの受信
データ形式
# | データ | 内容 | 備考 |
---|---|---|---|
char | ヘッダ | : のみ | |
0 | uint8 | 送信元の論理デバイスID | 親機0x00 ,子機0x01 -0x64 ,未設定子機0x78 |
1 | uint8 | コマンド番号 | 0x01 のみ |
2 | [uint8] | 任意のデータ | 長さ\(N\)のバイト列 |
uint8 | チェックサム | LRC8 | |
char | フッタ | CR (0x0D /'\r' ) | |
char | フッタ | LF (0x0A /'\n' ) |
0x01
であった場合と同様です。2 - リモコンアプリからの出力(親機・中継機アプリ)
0x81
:相手端末からの状態通知
受信した入力信号の状態を出力します。
データ形式
# | データ | 内容 | 備考 |
---|---|---|---|
char | ヘッダ | : のみ | |
0 | uint8 | 送信元の論理デバイスID | |
1 | uint8 | コマンド番号 | 0x81 のみ |
2 | uint8 | パケット識別子 | 0x0F のみ |
3 | uint8 | プロトコルバージョン | 0x01 のみ |
4 | uint8 | LQI | 0 -255 |
5 | uint32 | 送信元のシリアルID | 0x8??????? |
9 | uint8 | 送信先の論理デバイスID | |
10 | uint16 | タイムスタンプ | 1秒で64カウント、MSBは内部フラグ |
12 | uint8 | 中継回数 | |
13 | uint16 | デジタル信号 | LSBから順にIx へ対応、0 がHigh |
15 | uint16 | デジタル信号マスク | LSBから順にIx へ対応、1 なら有効 |
17 | uint16 | デジタル信号フラグ | LSBから順にIx へ対応、1 なら割り込み |
19 | uint8 | 未使用 | 内部管理用 |
uint8 | チェックサム | LRC8 | |
char | フッタ | CR (0x0D /'\r' ) | |
char | フッタ | LF (0x0A /'\n' ) |
出力データの例
:01810F01DB8630000200645F000040004F00400049
# | データ | 内容 | 値 | |
---|---|---|---|---|
: | char | ヘッダ | : | |
01 | 0 | uint8 | 送信元の論理デバイスID | 0x78 |
81 | 1 | uint8 | コマンド番号 | 0x81 |
0F | 2 | uint8 | パケット識別子 | 0x15 |
01 | 3 | uint8 | プロトコルバージョン | 0x01 |
DB | 4 | uint8 | LQI | 219/255 |
86300002 | 5 | uint32 | 送信元のシリアルID | 0x6300002 |
00 | 9 | uint8 | 送信先の論理デバイスID | 0x00 |
645F | 10 | uint16 | タイムスタンプ | 約401 秒 |
00 | 12 | uint8 | 中継回数 | 0 |
0040 | 13 | uint16 | デジタル信号 | I7 がLo |
004F | 15 | uint16 | デジタル信号マスク | I7 ,I1 -I4 が有効 |
0040 | 17 | uint16 | デジタル信号フラグ | I7 は割り込みにより変化 |
00 | 19 | uint8 | 未使用 | |
49 | uint8 | チェックサム | 0x49 | |
char | フッタ | \r | ||
char | フッタ | \n |
データの判別条件
親機・中継機アプリは、さまざまな種類の子機からデータを受信することができます。
出力されたデータがリモコンアプリのものであるかを確認するには、次の箇所を参照してください。
# | データ | 項目 | 条件 |
---|---|---|---|
1 | uint8 | コマンド番号 | 0x81 であること |
3 | uint8 | プロトコルバージョン | 0x02 であること |
5 | uint32 | 送信元のシリアルID | MSBが1であること(0x8??????? ) |
- | - | ペイロードのサイズ | 20バイトであること(: とチェックサムの間) |
パーサの実装例
3 - シリアル通信アプリからの出力(親機・中継機アプリ)
本アプリでは、書式モードの電文のみ受信できます。
透過モードやチャットモードのパケットを受信した場合の出力は未定義ですから、ご注意ください。
書式モード:簡易形式
データ形式
# | データ | 内容 | 備考 |
---|---|---|---|
char | ヘッダ | : のみ | |
0 | uint8 | 送信元の論理デバイスID | 親機0x00 ,子機0x01 -0x64 ,未設定子機0x78 |
1 | uint8 | コマンド番号 | 送信側で指定した0x80 未満の値 |
2 | [uint8] | 任意のデータ | 長さ\(N\)のバイト列 |
uint8 | チェックサム | LRC8 | |
char | フッタ | CR (0x0D /'\r' ) | |
char | フッタ | LF (0x0A /'\n' ) |
出力データの例
:780100112233AABBCCDD13
# | データ | 内容 | 値 | |
---|---|---|---|---|
: | char | ヘッダ | : | |
78 | 0 | uint8 | 送信元の論理デバイスID | ID未設定子機 |
01 | 1 | uint8 | コマンド番号 | 0x01 |
00112233AABBCCDD | 2 | [uint8] | 任意のデータ | そのまま |
13 | uint8 | チェックサム | 0x13 | |
char | フッタ | \r | ||
char | フッタ | \n |
データの判別条件
親機・中継機アプリは、さまざまな種類の子機からデータを受信することができます。
出力されたデータがシリアル通信アプリ(書式モード:簡易形式)のものであるかを確認するには、次の箇所を参照してください。
# | データ | 項目 | 条件 |
---|---|---|---|
0 | uint8 | 送信元の論理デバイスID | 0x64 以下もしくは0x78 であること |
1 | uint8 | コマンド番号 | 0x80 未満であること |
- | - | ペイロードのサイズ | 3バイト以上82バイト以下であること |
パーサの実装例
- Python
- Arduino (C++)
書式モード:拡張書式
データ形式
# | データ | 内容 | 備考 |
---|---|---|---|
char | ヘッダ | : のみ | |
0 | uint8 | 送信元の論理デバイスID | 親機0x00 ,子機0x01 -0x64 ,未設定子機0x78 |
1 | uint8 | コマンド番号 | 0xA0 のみ |
2 | uint8 | 応答ID | 送信側で指定した値 |
3 | uint32 | 送信元の拡張アドレス | シリアルIDの先頭へ0x8 を加えた値 |
7 | uint32 | 送信先の拡張アドレス | 論理デバイスID使用時は0xFFFFFFFF |
11 | uint8 | LQI | 受信時の電波通信品質 |
12 | uint16 | 続くバイト列の長さ | バイト数\(M\)を表す |
14 | [uint8] | 任意のデータ | 長さ\(M\)のバイト列 |
uint8 | チェックサム | LRC8 | |
char | フッタ | CR (0x0D /'\r' ) | |
char | フッタ | LF (0x0A /'\n' ) |
出力データの例
:78A0028201015AFFFFFFFFA8000700112233AABBCCC6
# | データ | 内容 | 備考 | |
---|---|---|---|---|
: | char | ヘッダ | : | |
78 | 0 | uint8 | 送信元の論理デバイスID | ID未設定子機 |
A0 | 1 | uint8 | コマンド番号 | 0xA0 |
02 | 2 | uint8 | 応答ID | 0x02 |
8201015A | 3 | uint32 | 送信元の拡張アドレス | 0x201015A |
FFFFFFFF | 7 | uint32 | 送信先の拡張アドレス | 論理デバイスID指定 |
A8 | 11 | uint8 | LQI | 168/255 |
0007 | 12 | uint16 | 続くバイト列の長さ | 7 バイト |
00112233AABBCC | 14 | [uint8] | 任意のデータ | そのまま |
C6 | uint8 | チェックサム | 0xC6 | |
char | フッタ | |||
char | フッタ |
データの判別条件
親機・中継機アプリは、さまざまな種類の子機からデータを受信することができます。
出力されたデータがシリアル通信アプリ(書式モード:拡張形式)のものであるかを確認するには、次の箇所を参照してください。
# | データ | 項目 | 条件 |
---|---|---|---|
0 | uint8 | 送信元の論理デバイスID | 0x64 以下もしくは0x78 であること |
1 | uint8 | コマンド番号 | 0xA0 であること |
2 | uint8 | 応答ID | 0x80 未満であること |
3 | uint32 | 送信元の拡張アドレス | MSBが1であること(0x8??????? ) |
12 | uint16 | 続くバイト列の長さ | ペイロードのサイズ - 14 バイトであること |
パーサの実装例
4 - パル/キュー/アリアアプリからの出力(親機・中継機アプリ)
4.1 - パルアプリからの出力(親機・中継機アプリ)
全般
パルアプリから受信したデータは、センサ種別とその値からなるセンサーデータの羅列によって表現します。
以降では、製品の種別に応じた具体的な例を取り上げます。
開閉センサーパル
データ形式
# | データ | 内容 | 備考 |
---|---|---|---|
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 | 0x81 のみ |
14 | uint8 | センサーデータの数 | 3 のみ |
センサーデータ1 | |||
15 | uint8 | 情報ビット | 0x11 のみ |
16 | uint8 | データソース | 0x30 のみ |
17 | uint8 | 拡張バイト | 0x08 のみ |
18 | uint8 | データ長 | 2 のみ |
19 | uint16 | データ | 電源電圧(mV) |
センサーデータ2 | |||
21 | uint8 | 情報ビット | 0x11 のみ |
22 | uint8 | データソース | 0x30 のみ |
23 | uint8 | 拡張バイト | 0x01 のみ |
24 | uint8 | データ長 | 2 のみ |
25 | uint16 | データ | ADC1の電圧(mV) |
センサーデータ3 | |||
27 | uint8 | 情報ビット | 0x00 のみ |
28 | uint8 | データソース | 0x00 のみ |
29 | uint8 | 拡張バイト | 0x00 のみ |
30 | uint8 | データ長 | 1 のみ |
31 | uint8 | データ | 磁気データ |
センサーデータの末端 | |||
32 | uint8 | チェックサム1 | 直前までのCRC8 |
uint8 | チェックサム2 | チェックサム1までのLRC8 | |
char | フッタ | CR (0x0D /'\r' ) | |
char | フッタ | LF (0x0A /'\n' ) |
出力データの例
:80000000A8001C82012B1E01808103113008020D0C1130010203E40000000101EC6E
# | データ | 内容 | 値 | |
---|---|---|---|---|
: | char | ヘッダ | : | |
80000000 | 0 | uint32 | 中継機のシリアルID | 中継なし |
A8 | 4 | uint8 | LQI | 168 /255 |
001C | 5 | uint16 | 続き番号 | 28 |
82012B1E | 7 | uint32 | 送信元のシリアルID | 0x2012B1E |
01 | 11 | uint8 | 送信元の論理デバイスID | 0x01 |
80 | 12 | uint8 | センサー種別 | |
81 | 13 | uint8 | PAL基板バージョンとPAL基板ID | 開閉パルV1 |
03 | 14 | uint8 | センサーデータの数 | 3 つ |
センサーデータ1 | ||||
11 | 15 | uint8 | 情報ビット | 拡張バイトありuint16 |
30 | 16 | uint8 | データソース | 電圧 |
08 | 17 | uint8 | 拡張バイト | 電源 |
02 | 18 | uint8 | データ長 | 2 バイト |
0D0C | 19 | uint16 | データ | 3340 mV |
センサーデータ2 | ||||
11 | 21 | uint8 | 情報ビット | 拡張バイトありuint16 |
30 | 22 | uint8 | データソース | 電圧 |
01 | 23 | uint8 | 拡張バイト | ADC1 |
02 | 24 | uint8 | データ長 | 2 バイト |
03E4 | 25 | uint16 | データ | 996 mV |
センサーデータ3 | ||||
00 | 27 | uint8 | 情報ビット | 拡張バイトなしuint8 |
00 | 28 | uint8 | データソース | 磁気 |
00 | 29 | uint8 | 拡張バイト | なし |
01 | 30 | uint8 | データ長 | 1 バイト |
01 | 31 | uint8 | データ | N極が近づいた |
センサーデータの末端 | ||||
EC | 32 | uint8 | チェックサム1 | 0xEC |
6E | uint8 | チェックサム2 | 0x6E | |
char | フッタ | '\r' | ||
char | フッタ | '\n' |
データの判別条件
親機・中継機アプリは、さまざまな種類の子機からデータを受信することができます。
出力されたデータがパルアプリ(開閉センサーパル)のものであるかを確認するには、次の箇所を参照してください。
# | データ | 項目 | 条件 |
---|---|---|---|
0 | uint32 | 中継機のシリアルID | MSBが1であること |
7 | uint32 | 送信元のシリアルID | MSBが1であること |
12 | uint8 | センサー種別 | 0x80 であること |
13 | uint8 | PAL基板バージョンとPAL基板ID | 0x81 であること |
- | - | ペイロードのサイズ | 33バイトであること |
パーサの実装例
- 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 | 0x82 のみ |
14 | uint8 | センサーデータの数 | 5 のみ |
センサーデータ1 | |||
15 | uint8 | 情報ビット | 0x11 のみ |
16 | uint8 | データソース | 0x30 のみ |
17 | uint8 | 拡張バイト | 0x08 のみ |
18 | uint8 | データ長 | 2 のみ |
19 | uint16 | データ | 電源電圧(mV) |
センサーデータ2 | |||
21 | uint8 | 情報ビット | 0x11 のみ |
22 | uint8 | データソース | 0x30 のみ |
23 | uint8 | 拡張バイト | 0x01 のみ |
24 | uint8 | データ長 | 2 のみ |
25 | uint16 | データ | ADC1の電圧(mV) |
センサーデータ3 | |||
27 | uint8 | 情報ビット | 0x05 のみ |
28 | uint8 | データソース | 0x01 のみ |
29 | uint8 | 拡張バイト | 0x00 のみ |
30 | uint8 | データ長 | 2 のみ |
31 | int16 | データ | 温度データ |
センサーデータ4 | |||
33 | uint8 | 情報ビット | 0x01 のみ |
34 | uint8 | データソース | 0x02 のみ |
35 | uint8 | 拡張バイト | 0x00 のみ |
36 | uint8 | データ長 | 2 のみ |
37 | uint16 | データ | 湿度データ |
センサーデータ5 | |||
39 | uint8 | 情報ビット | 0x02 のみ |
40 | uint8 | データソース | 0x03 のみ |
41 | uint8 | 拡張バイト | 0x00 のみ |
42 | uint8 | データ長 | 4 のみ |
43 | uint32 | データ | 照度データ |
センサーデータの末端 | |||
47 | uint8 | チェックサム1 | 直前までのCRC8 |
uint8 | チェックサム2 | チェックサム1までのLRC8 | |
char | フッタ | CR (0x0D /'\r' ) | |
char | フッタ | LF (0x0A /'\n' ) |
出力データの例
:8000000084811F810EFF6D04808205113008020AEB11300102035A0501000209E3010200020E3A02030004000001BE6C00
# | データ | 内容 | 値 | |
---|---|---|---|---|
: | char | ヘッダ | : | |
80000000 | 0 | uint32 | 中継機のシリアルID | 中継なし |
84 | 4 | uint8 | LQI | 132 /255 |
811F | 5 | uint16 | 続き番号 | 33055 |
810EFF6D | 7 | uint32 | 送信元のシリアルID | 0x10EFF6D |
04 | 11 | uint8 | 送信元の論理デバイスID | 0x04 |
80 | 12 | uint8 | センサー種別 | |
82 | 13 | uint8 | PAL基板バージョンとPAL基板ID | 環境パルV1 |
05 | 14 | uint8 | センサーデータの数 | 5 つ |
センサーデータ1 | ||||
11 | 15 | uint8 | 情報ビット | 拡張バイトありuint16 |
30 | 16 | uint8 | データソース | 電圧 |
08 | 17 | uint8 | 拡張バイト | 電源 |
02 | 18 | uint8 | データ長 | 2 バイト |
0AEB | 19 | uint16 | データ | 2795 mV |
センサーデータ2 | ||||
11 | 21 | uint8 | 情報ビット | 拡張バイトありuint16 |
30 | 22 | uint8 | データソース | 電圧 |
01 | 23 | uint8 | 拡張バイト | ADC1 |
02 | 24 | uint8 | データ長 | 2 バイト |
035A | 25 | uint16 | データ | 858 mV |
センサーデータ3 | ||||
05 | 27 | uint8 | 情報ビット | 拡張バイトなしint16 |
01 | 28 | uint8 | データソース | 温度 |
00 | 29 | uint8 | 拡張バイト | なし |
02 | 30 | uint8 | データ長 | 2 バイト |
09E3 | 31 | int16 | データ | 25.31°C |
センサーデータ4 | ||||
01 | 33 | uint8 | 情報ビット | 拡張バイトなしuint16 |
02 | 34 | uint8 | データソース | 湿度 |
00 | 35 | uint8 | 拡張バイト | なし |
02 | 36 | uint8 | データ長 | 2 バイト |
0E3A | 37 | uint16 | データ | 36.42% |
センサーデータ5 | ||||
02 | 39 | uint8 | 情報ビット | 拡張バイトなしuint32 |
03 | 40 | uint8 | データソース | 照度 |
00 | 41 | uint8 | 拡張バイト | なし |
04 | 42 | uint8 | データ長 | 4 バイト |
000001BE | 43 | uint32 | データ | 446 lx |
センサーデータの末端 | ||||
6C | 47 | uint8 | チェックサム1 | 0x6C |
00 | uint8 | チェックサム2 | 0x00 | |
char | フッタ | '\r' | ||
char | フッタ | '\n' |
データの判別条件
親機・中継機アプリは、さまざまな種類の子機からデータを受信することができます。
出力されたデータがパルアプリ(環境センサーパル)のものであるかを確認するには、次の箇所を参照してください。
# | データ | 項目 | 条件 |
---|---|---|---|
0 | uint32 | 中継機のシリアルID | MSBが1であること |
7 | uint32 | 送信元のシリアルID | MSBが1であること |
12 | uint8 | センサー種別 | 0x80 であること |
13 | uint8 | PAL基板バージョンとPAL基板ID | 0x82 であること |
- | - | ペイロードのサイズ | 48バイトであること |
パーサの実装例
- 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 | 0x83 のみ |
14 | uint8 | センサーデータの数 | 18 のみ |
センサーデータ1 | |||
15 | uint8 | 情報ビット | 0x11 のみ |
16 | uint8 | データソース | 0x30 のみ |
17 | uint8 | 拡張バイト | 0x08 のみ |
18 | uint8 | データ長 | 2 のみ |
19 | uint16 | データ | 電源電圧(mV) |
センサーデータ2 | |||
21 | uint8 | 情報ビット | 0x11 のみ |
22 | uint8 | データソース | 0x30 のみ |
23 | uint8 | 拡張バイト | 0x01 のみ |
24 | uint8 | データ長 | 2 のみ |
25 | uint16 | データ | ADC1の電圧(mV) |
センサーデータ3 | |||
27 | uint8 | 情報ビット | 0x15 のみ |
28 | uint8 | データソース | 0x04 のみ |
29 | uint8 | 拡張バイト | 0x?0 周波数とサンプル番号 |
30 | uint8 | データ長 | 6 のみ |
31 | int16 | データ | 加速度データ |
センサーデータ4 | |||
37 | uint8 | 情報ビット | 0x15 のみ |
38 | uint8 | データソース | 0x04 のみ |
39 | uint8 | 拡張バイト | 0x?1 周波数とサンプル番号 |
40 | uint8 | データ長 | 6 のみ |
41 | int16 | データ | 加速度データ |
センサーデータ5 | |||
<省略> | |||
センサデータ18 | |||
177 | uint8 | 情報ビット | 0x15 のみ |
178 | uint8 | データソース | 0x04 のみ |
179 | uint8 | 拡張バイト | 0x?F 周波数とサンプル番号 |
180 | uint8 | データ長 | 6 のみ |
181 | int16 | データ | 加速度データ |
センサーデータの末端 | |||
187 | uint8 | チェックサム1 | 直前までのCRC8 |
uint8 | チェックサム2 | チェックサム1までのLRC8 | |
char | フッタ | CR (0x0D /'\r' ) | |
char | フッタ | LF (0x0A /'\n' ) |
出力データの例
:80000000BA002382011CEF01808312113008020D0211300102055C1504400600100010045015044106000800100430150442060000001004381504430600080018043015044406000000180458150445060000002004381504460600080018042815044706FFE80010042015044806FFF00010043815044906FFE80018043015044A06FFF80018044015044B06FFF80018041815044C0600000010042015044D0600000028045015044E0600000008043815044F0600000018043828A5
# | データ | 内容 | 値 | |
---|---|---|---|---|
: | char | ヘッダ | : | |
80000000 | 0 | uint32 | 中継機のシリアルID | 中継なし |
BA | 4 | uint8 | LQI | 186 /255 |
0023 | 5 | uint16 | 続き番号 | 35 |
82011CEF | 7 | uint32 | 送信元のシリアルID | 0x2011CEF |
01 | 11 | uint8 | 送信元の論理デバイスID | 0x01 |
80 | 12 | uint8 | センサー種別 | |
83 | 13 | uint8 | PAL基板バージョンとPAL基板ID | 動作パルV1 |
12 | 14 | uint8 | センサーデータの数 | 18 個 |
センサーデータ1 | ||||
11 | 15 | uint8 | 情報ビット | 拡張バイトありuint16 |
30 | 16 | uint8 | データソース | 電圧 |
08 | 17 | uint8 | 拡張バイト | 電源 |
02 | 18 | uint8 | データ長 | 2 バイト |
0D02 | 19 | uint16 | データ | 3330 mV |
センサーデータ2 | ||||
11 | 21 | uint8 | 情報ビット | 拡張バイトありuint16 |
30 | 22 | uint8 | データソース | 電圧 |
01 | 23 | uint8 | 拡張バイト | ADC1 |
02 | 24 | uint8 | データ長 | 2 バイト |
055C | 25 | uint16 | データ | 1372 mV |
センサーデータ3 | ||||
15 | 27 | uint8 | 情報ビット | 拡張バイトありint16 |
04 | 28 | uint8 | データソース | 加速度 |
40 | 29 | uint8 | 拡張バイト | 100Hz, 0番サンプル |
06 | 30 | uint8 | データ長 | 6 バイト |
001000100450 | 31 | int16 | データ | X16 mG/Y16 mG/Z1104 mG |
センサーデータ4 | ||||
15 | 37 | uint8 | 情報ビット | 拡張バイトありint16 |
04 | 38 | uint8 | データソース | 加速度 |
41 | 39 | uint8 | 拡張バイト | 100Hz, 1番サンプル |
06 | 40 | uint8 | データ長 | 6 バイト |
000800100430 | 41 | uint16 | データ | X8 mG/Y16 mG/Z1072 mG |
センサーデータ5 | ||||
<省略> | ||||
センサデータ15 | ||||
15 | 177 | uint8 | 情報ビット | 拡張バイトありint16 |
04 | 178 | uint8 | データソース | 加速度 |
4F | 179 | uint8 | 拡張バイト | 100Hz, 15番サンプル |
06 | 180 | uint8 | データ長 | 6 バイト |
000000180438 | 181 | uint32 | データ | X0 mG/Y24 mG/Z1080 mG |
センサーデータの末端 | ||||
28 | 187 | uint8 | チェックサム1 | 0x28 |
A5 | uint8 | チェックサム2 | 0xA5 | |
char | フッタ | '\r' | ||
char | フッタ | '\n' |
データの判別条件
親機・中継機アプリは、さまざまな種類の子機からデータを受信することができます。
出力されたデータがパルアプリ(動作センサーパル)のものであるかを確認するには、次の箇所を参照してください。
# | データ | 項目 | 条件 |
---|---|---|---|
0 | uint32 | 中継機のシリアルID | MSBが1であること |
7 | uint32 | 送信元のシリアルID | MSBが1であること |
12 | uint8 | センサー種別 | 0x80 であること |
13 | uint8 | PAL基板バージョンとPAL基板ID | 0x83 であること |
- | - | ペイロードのサイズ | 188バイトであること |
パーサの実装例
- 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 | 0x84 のみ |
14 | uint8 | センサーデータの数 | 3 のみ |
センサーデータ1 | |||
15 | uint8 | 情報ビット | 0x11 のみ |
16 | uint8 | データソース | 0x30 のみ |
17 | uint8 | 拡張バイト | 0x08 のみ |
18 | uint8 | データ長 | 2 のみ |
19 | uint16 | データ | 電源電圧(mV) |
センサーデータ2 | |||
21 | uint8 | 情報ビット | 0x11 のみ |
22 | uint8 | データソース | 0x30 のみ |
23 | uint8 | 拡張バイト | 0x01 のみ |
24 | uint8 | データ長 | 2 のみ |
25 | uint16 | データ | ADC1の電圧(mV) |
センサーデータ3 | |||
27 | uint8 | 情報ビット | 0x12 のみ |
28 | uint8 | データソース | 0x05 のみ |
29 | uint8 | 拡張バイト | 0x04 のみ |
30 | uint8 | データ長 | 4 のみ |
31 | uint8 | データ | 加速度イベントデータ |
32 | [uint8] | 未使用 | |
センサーデータの末端 | |||
35 | uint8 | チェックサム1 | 直前までのCRC8 |
uint8 | チェックサム2 | チェックサム1までのLRC8 | |
char | フッタ | CR (0x0D /'\r' ) | |
char | フッタ | LF (0x0A /'\n' ) |
出力データの例
:80000000C9BBC082014C3501808403 113008020D0C 1130010203F9 1205040410000000 97C6
# | データ | 内容 | 値 | |
---|---|---|---|---|
: | char | ヘッダ | : | |
80000000 | 0 | uint32 | 中継機のシリアルID | 中継なし |
C9 | 4 | uint8 | LQI | 201 /255 |
BBC0 | 5 | uint16 | 続き番号 | 48064 |
82014C35 | 7 | uint32 | 送信元のシリアルID | 0x2014C35 |
01 | 11 | uint8 | 送信元の論理デバイスID | 0x01 |
80 | 12 | uint8 | センサー種別 | |
84 | 13 | uint8 | PAL基板バージョンとPAL基板ID | 通知パルV1 |
03 | 14 | uint8 | センサーデータの数 | 3 つ |
センサーデータ1 | ||||
11 | 15 | uint8 | 情報ビット | 拡張バイトありuint16 |
30 | 16 | uint8 | データソース | 電圧 |
08 | 17 | uint8 | 拡張バイト | 電源 |
02 | 18 | uint8 | データ長 | 2 バイト |
0D0C | 19 | uint16 | データ | 3340 mV |
センサーデータ2 | ||||
11 | 21 | uint8 | 情報ビット | 拡張バイトありuint16 |
30 | 22 | uint8 | データソース | 電圧 |
01 | 23 | uint8 | 拡張バイト | ADC1 |
02 | 24 | uint8 | データ長 | 2 バイト |
03F9 | 25 | uint16 | データ | 1017 mV |
センサーデータ3 | ||||
12 | 27 | uint8 | 情報ビット | 拡張バイトありuint32 |
05 | 28 | uint8 | データソース | イベント |
04 | 29 | uint8 | 拡張バイト | 加速度イベント |
04 | 30 | uint8 | データ長 | 4 バイト |
10 | 31 | uint8 | データ | ムーブ |
000000 | 32 | [uint8] | ||
センサーデータの末端 | ||||
97 | 35 | uint8 | チェックサム1 | 0x97 |
C6 | uint8 | チェックサム2 | 0xC6 | |
char | フッタ | '\r' | ||
char | フッタ | '\n' |
データの判別条件
親機・中継機アプリは、さまざまな種類の子機からデータを受信することができます。
出力されたデータがパルアプリ(通知パル)のものであるかを確認するには、次の箇所を参照してください。
# | データ | 項目 | 条件 |
---|---|---|---|
0 | uint32 | 中継機のシリアルID | MSBが1であること |
7 | uint32 | 送信元のシリアルID | MSBが1であること |
12 | uint8 | センサー種別 | 0x80 であること |
13 | uint8 | PAL基板バージョンとPAL基板ID | 0x84 であること |
- | - | ペイロードのサイズ | 36バイトであること |
4.2 - キューアプリからの出力(親機・中継機アプリ)
TWELITE CUE モード
データ形式
# | データ | 内容 | 備考 |
---|---|---|---|
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バイトであること |
パーサの実装例
4.3 - アリアアプリからの出力(親機・中継機アプリ)
TWELITE ARIA モード
データ形式
# | データ | 内容 | 備考 |
---|---|---|---|
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 | 0x06 のみ |
14 | uint8 | センサーデータの数 | 7 のみ |
センサーデータ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 または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 | 情報ビット | 0x05 のみ |
48 | uint8 | データソース | 0x01 のみ |
49 | uint8 | 拡張バイト | 0x00 のみ |
50 | uint8 | データ長 | 2 のみ |
51 | int16 | データ | 温度データ |
センサーデータ7 | |||
53 | uint8 | 情報ビット | 0x01 のみ |
54 | uint8 | データソース | 0x02 のみ |
55 | uint8 | 拡張バイト | 0x00 のみ |
56 | uint8 | データ長 | 2 のみ |
57 | uint16 | データ | 湿度データ |
センサーデータの末端 | |||
59 | uint8 | チェックサム1 | 直前までのCRC8 |
uint8 | チェックサム2 | チェックサム1までのLRC8 | |
char | フッタ | CR (0x0D /'\r' ) | |
char | フッタ | LF (0x0A /'\n' ) |
出力データの例
:80000000CF00028201BAA201800607003400038135001205350401000000113008020D201130010204ED00000001800501000209D0010200020F347934[CR][LF]
# | データ | 内容 | 値 | |
---|---|---|---|---|
: | char | ヘッダ | : | |
80000000 | 0 | uint32 | 中継機のシリアルID | 中継なし |
CF | 4 | uint8 | LQI | 207 /255 |
0002 | 5 | uint16 | 続き番号 | 2 |
8201BAA2 | 7 | uint32 | 送信元のシリアルID | 0x201BAA2 |
01 | 11 | uint8 | 送信元の論理デバイスID | 0x01 |
80 | 12 | uint8 | センサー種別 | |
06 | 13 | uint8 | PAL基板バージョンとPAL基板ID | TWELITE ARIA |
07 | 14 | uint8 | センサーデータの数 | 7 つ |
センサーデータ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 | データソース | イベント |
35 | 24 | uint8 | 拡張バイト | タイマイベント |
04 | 25 | uint8 | データ長 | 4 バイト |
01000000 | 26 | uint32 | データ | タイマによる起床 |
センサーデータ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 バイト |
04ED | 40 | uint16 | データ | 1261 mV |
センサーデータ5 | ||||
00 | 42 | uint8 | 情報ビット | 拡張バイトなしuint8 |
00 | 43 | uint8 | データソース | 磁気 |
00 | 44 | uint8 | 拡張バイト | なし |
01 | 45 | uint8 | データ長 | 1 バイト |
80 | 46 | uint8 | データ | 磁石なし(定期送信) |
センサーデータ6 | ||||
05 | 47 | uint8 | 情報ビット | 拡張バイトなしint16 |
01 | 48 | uint8 | データソース | 温度 |
00 | 49 | uint8 | 拡張バイト | なし |
02 | 50 | uint8 | データ長 | 2 バイト |
09D0 | 51 | int16 | データ | 25.12 °C |
センサーデータ7 | ||||
01 | 53 | uint8 | 情報ビット | 拡張バイトなしuint16 |
02 | 54 | uint8 | データソース | 湿度 |
00 | 55 | uint8 | 拡張バイト | なし |
02 | 56 | uint8 | データ長 | 2 バイト |
0F34 | 57 | uint16 | データ | 38.92 % |
センサーデータの末端 | ||||
79 | 59 | uint8 | チェックサム1 | 0x79 |
34 | uint8 | チェックサム2 | 0x34 | |
char | フッタ | '\r' | ||
char | フッタ | '\n' |
データの判別条件
親機・中継機アプリは、さまざまな種類の子機からデータを受信することができます。
出力されたデータがアリアアプリ(TWELITE ARIAモード)のものであるかを確認するには、次の箇所を参照してください。
# | データ | 項目 | 条件 |
---|---|---|---|
0 | uint32 | 中継機のシリアルID | MSBが1であること |
7 | uint32 | 送信元のシリアルID | MSBが1であること |
12 | uint8 | センサー種別 | 0x80 であること |
13 | uint8 | PAL基板バージョンとPAL基板ID | 0x06 であること |
- | - | ペイロードのサイズ | 60バイトであること |
パーサの実装例
- Python
- Arduino (C++)
開閉センサーパルモード
4.4 - パル・キュー・アリアアプリからの出力の詳細(親機・中継機アプリ)
全体
データ形式
# | データ | 内容 | 備考 |
---|---|---|---|
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 | 0x81 など |
14 | uint8 | センサーデータの数 | |
15 | [uint8] | センサーデータの羅列 | 長さ\(N\)のバイト列 |
15+\(N\) | uint8 | チェックサム1 | 直前までのCRC8 |
uint8 | チェックサム2 | チェックサム1までのLRC8 | |
char | フッタ | CR (0x0D /'\r' ) | |
char | フッタ | LF (0x0A /'\n' ) |
出力データの例
:80000000A8001C82012B1E01808103113008020D0C1130010203E40000000101EC6E
# | データ | 内容 | 値 | |
---|---|---|---|---|
: | char | ヘッダ | : | |
80000000 | 0 | uint32 | 中継機のシリアルID | 中継なし |
A8 | 4 | uint8 | LQI | 168/255 |
001C | 5 | uint16 | 続き番号 | 28 |
82012B1E | 7 | uint32 | 送信元のシリアルID | 0x2012B1E |
01 | 11 | uint8 | 送信元の論理デバイスID | 0x01 |
80 | 12 | uint8 | センサー種別 | - |
81 | 13 | uint8 | PAL基板バージョンとPAL基板ID | 0x81 |
03 | 14 | uint8 | センサーデータの数 | 3 つ |
1130...0101 | 15 | [uint8] | センサーデータの羅列 | 長さ17のバイト列 |
EC | 15+17 | uint8 | チェックサム1 | 0xEC |
6E | uint8 | チェックサム2 | 0x6E | |
char | フッタ | '\r' | ||
char | フッタ | '\n' |
センサーデータ
データ形式
# | データ | 内容 | 備考 |
---|---|---|---|
0 | uint8 | 情報ビット | データの型や拡張バイトの有無 |
1 | uint8 | データソース | センサー値の種類 |
2 | uint8 | 拡張バイト | センサー値の付加情報 |
3 | uint8 | データ長 | センサー値の長さ |
4 | [uint8] | データ | センサー値 |
出力データの例
113008020D0C
# | データ | 内容 | 値 | |
---|---|---|---|---|
11 | 0 | uint8 | 情報ビット | 拡張バイトあり、uint16 |
30 | 1 | uint8 | データソース | 電圧 |
08 | 2 | uint8 | 拡張バイト | 電源電圧 |
02 | 3 | uint8 | データ長 | 2 バイト |
0D0C | 4 | [uint8] | データ | 3340 mV |
情報ビット
センサー値のデータ型や拡張バイトの有無、読み込みエラーの有無を示します。
bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
機能 | ERR | - | - | EXT | - | TYP:2 | TYP:1 | TYP:0 |
各機能は次の内容を示します。
機能 | 説明 | 値 | 内容 |
---|---|---|---|
ERR | 読み込みエラーの有無 | 0 | 正常 |
1 | エラーあり | ||
EXT | 拡張バイトの有無 | 0 | 拡張バイトなし |
1 | 拡張バイトあり | ||
TYP | データ型 | 000 | uint8 |
001 | uint16 | ||
010 | uint32 | ||
011 | N/A | ||
100 | int8 | ||
101 | int16 | ||
110 | int32 | ||
111 | [uint8] |
データソース
センサー値の種類を示します。
値 | 内容 |
---|---|
0x00 | 磁気 |
0x01 | 温度 |
0x02 | 湿度 |
0x03 | 照度 |
0x04 | 加速度 |
0x05 | イベント |
0x30 | 電圧 |
0x34 | パケットプロパティ |
拡張バイト
連続データのインデックスなど、センサー値の付加情報を示します。
データソースが磁気/温度/湿度/照度/パケットプロパティの場合
なし
データソースが加速度の場合
加速度サンプルデータの属性を示します。
bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
機能 | SFQ:2 | SFQ:1 | SFQ:0 | SNM:4 | SNM:3 | SNM:2 | SNM:1 | SNM:0 |
各機能は次の内容を示します。
機能 | 説明 | 値 | 内容 |
---|---|---|---|
SFQ | サンプリング周波数 | 000 (0x00|SNM ) | 25Hz |
001 (0x20|SNM ) | 50Hz | ||
010 (0x40|SNM ) | 100Hz | ||
011 (0x60|SNM ) | 190Hz | ||
100 以上 | 未定義 | ||
SNM | サンプル番号 | 0 -31 | 古い順 |
データソースがイベントの場合
イベントの発生要因を示します。
値 | 内容 |
---|---|
0x00 | 磁気 |
0x01 | 温度 |
0x02 | 湿度 |
0x03 | 照度 |
0x04 | 加速度 |
0x31 | デジタル入力 |
0x35 | タイマ |
データソースが電圧の場合
対象を示します。
値 | 内容 |
---|---|
0x01 | ADC1 |
0x02 | ADC2 |
0x03 | ADC3 |
0x04 | ADC4 |
0x08 | 電源 |
データ長
続くデータのバイト数を示します。
データ
センサー値を表します。
データソースが磁気の場合
データ型はuint8
です。
値 | 内容 |
---|---|
0x00 | 磁石なし |
0x01 | N極が近づいた |
0x02 | S極が近づいた |
0x80 | 磁石なし(定期送信) |
0x81 | N極が近くにある(定期送信) |
0x82 | S極が近くにある(定期送信) |
データソースが温度の場合
データ型はint16
です。
100倍されたセ氏の温度を表します。
データソースが湿度の場合
データ型はuint16
です。
100倍された相対湿度を表します。
データソースが照度の場合
データ型はuint32
です。
ルクスの値を表します。
データソースが加速度の場合
int16
のデータが3つ続きます。
X,Y,Z軸の値(mG)の合計は6バイトです。
byte | 0 | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|---|
内容 | X:15-8 | X:7-0 | Y:15-8 | Y:7-0 | Z:15-8 | Z:7-0 |
データソースがイベントの場合
uint8
のデータが4つ続きます。
先頭のデータがイベントの内容を表し、残りは未使用です。
byte | 0 | 1 | 2 | 3 |
---|---|---|---|---|
内容 | 使用 | 未使用 | 未使用 | 未使用 |
拡張バイトが磁気の場合
先頭の値 | 内容 |
---|---|
0x00 | 磁石なし |
0x01 | N極が近くにある |
0x02 | S極が近くにある |
拡張バイトが加速度の場合
先頭の値 | 内容 |
---|---|
0x01 | サイコロ:1 |
0x02 | サイコロ:2 |
0x03 | サイコロ:3 |
0x04 | サイコロ:4 |
0x05 | サイコロ:5 |
0x06 | サイコロ:6 |
0x08 | シェイク |
0x10 | ムーブ |
拡張バイトがタイマの場合
先頭の値 | 内容 |
---|---|
0x01 | タイマによる起床 |
データソースが電圧の場合
データ型はuint16
です。
mV単位の電圧を表します。
データソースがパケットプロパティの場合
uint8
のデータが3つ続きます。
byte | 0 | 1 | 2 |
---|---|---|---|
データ | パケットID | 起床要因の根源 | 起床要因の条件 |
各データは次の内容を表します。
データ | 値 | 内容 |
---|---|---|
パケットID | 0 | イベントなし、ADC1と電源の電圧のみ |
1 -127 | イベントなし、その他のデータあり | |
128 | イベントあり、ADC1と電源の電圧のみ | |
129 -255 | イベントあり、その他のデータあり | |
起床要因の根源 | 0x00 | 磁気 |
0x01 | 温度 | |
0x02 | 湿度 | |
0x03 | 照度 | |
0x04 | 加速度 | |
0x31 | デジタル入力 | |
0x35 | タイマ | |
起床要因の条件 | 0x00 | イベントが発生した |
0x01 | 値が変化した | |
0x02 | 値がしきい値を上回った | |
0x03 | 値がしきい値を下回った | |
0x04 | 値が範囲を満たした |
5 - actからの出力(親機・中継機アプリ)
act から受信したデータ
データ形式
# | データ | 内容 | 備考 |
---|---|---|---|
char | ヘッダ | : のみ | |
0 | uint8 | 送信元の論理デバイスID | |
1 | uint8 | コマンド種別 | 0xAA のみ |
2 | uint8 | 応答ID | 0x00 -0x7F |
3 | uint32 | 送信元のシリアルID | |
7 | uint32 | 送信先のシリアルID | 論理デバイスID指定時は00000000 |
11 | uint8 | LQI | 0 -255 |
12 | uint16 | データのバイト数 | |
14 | [uint8] | 任意のデータ | 長さ\(N\)のバイト列 |
uint8 | チェックサム | LRC8 | |
char | フッタ | CR (0x0D /'\r' ) | |
char | フッタ | LF (0x0A /'\n' ) |
出力データの例
:FEAA008201015A00000000B7000F424154310F0CEE000B03FF03FF03FF92
# | データ | 内容 | 値 | |
---|---|---|---|---|
: | char | ヘッダ | : | |
FE | 0 | uint8 | 送信元の論理デバイスID | 0xFE |
AA | 1 | uint8 | コマンド種別 | 0xAA |
00 | 2 | uint8 | 応答ID | 0x00 |
8201015A | 3 | uint32 | 送信元のシリアルID | 0x201015A |
00000000 | 7 | uint32 | 送信先のシリアルID | 論理デバイスID指定 |
B7 | 11 | uint8 | LQI | 183/255 |
000F | 12 | uint16 | データのバイト数 | 15 バイト |
424154310F0CEE000B03FF03FF03FF | 14 | [uint8] | 任意のデータ | そのまま |
92 | uint8 | チェックサム | 0x92 | |
char | フッタ | \r | ||
char | フッタ | \n |
6 - 無線タグアプリからの出力(親機・中継機アプリ)
アナログセンサー
データ形式
# | データ | 内容 | 備考 |
---|---|---|---|
char | ヘッダ | : のみ | |
0 | uint32 | 中継機のシリアルID | 中継なしは80000000 |
4 | uint8 | LQI | 0 -255 |
5 | uint16 | 続き番号 | |
7 | uint32 | 送信元のシリアルID | |
11 | uint8 | 送信元の論理デバイスID | |
12 | uint8 | センサー種別 | |
13 | uint8 | 電源電圧(mV) | 電源電圧の計算を参照 |
14 | uint16 | ADC1の電圧 | |
16 | uint16 | ADC2の電圧 | |
18 | uint32 | 未使用 | |
22 | uint8 | チェックサム |
出力データの例
:80000000B700628201015A0010DF08FD09A300000000E9
# | データ | 内容 | 値 | |
---|---|---|---|---|
: | char | ヘッダ | : | |
80000000 | 0 | uint32 | 中継機のシリアルID | 中継なし |
B7 | 4 | uint8 | LQI | 183/255 |
0062 | 5 | uint16 | 続き番号 | 98 |
8201015A | 7 | uint32 | 送信元のシリアルID | 0x201015A |
00 | 11 | uint8 | 送信元の論理デバイスID | 0x00 |
10 | 12 | uint8 | センサー種別 | アナログセンサー |
DF | 13 | uint8 | 電源電圧(mV) | 3330 mV |
08FD | 14 | uint16 | ADC1の電圧 | 2301 mV |
09A3 | 16 | uint16 | ADC2の電圧 | 2467 mV |
00000000 | 18 | uint32 | 未使用 | |
E9 | 22 | uint8 | チェックサム | 0xE9 |
char | フッタ | \r | ||
char | フッタ | \n |
加速度センサー(ADXL34x / TWELITE 2525A)
データ形式
# | データ | 内容 | 備考 |
---|---|---|---|
char | ヘッダ | : のみ | |
0 | uint32 | 中継機のシリアルID | 中継なしは80000000 |
4 | uint8 | LQI | 0 -255 |
5 | uint16 | 続き番号 | |
7 | uint32 | 送信元のシリアルID | |
11 | uint8 | 送信元の論理デバイスID | |
12 | uint8 | センサー種別 | |
13 | uint8 | 電源電圧(mV) | 電源電圧の計算を参照 |
14 | uint16 | ADC1の電圧 | |
16 | uint16 | ADC2の電圧 | |
18 | uint8 | センサーモード番号 | |
19 | int16 | X軸の加速度 | 単位はmG*10 |
21 | int16 | Y軸の加速度 | 単位はmG*10 |
23 | int16 | Z軸の加速度 | 単位はmG*10 |
25 | uint8 | チェックサム |
出力データの例
:8000000063001781013C850035DF057702F2000000FF96FFF0BB
# | データ | 内容 | 値 | |
---|---|---|---|---|
: | char | ヘッダ | : | |
80000000 | 0 | uint32 | 中継機のシリアルID | 中継なし |
63 | 4 | uint8 | LQI | 99/255 |
0017 | 5 | uint16 | 続き番号 | 23 |
81013C85 | 7 | uint32 | 送信元のシリアルID | 0x1013C85 |
00 | 11 | uint8 | 送信元の論理デバイスID | 0x00 |
35 | 12 | uint8 | センサー種別 | 加速度センサー(ADXL34x) |
DF | 13 | uint8 | 電源電圧(mV) | 3330 mV |
0577 | 14 | uint16 | ADC1の電圧 | 1399 mV |
02F2 | 16 | uint16 | ADC2の電圧 | 754 mV |
00 | 18 | uint8 | センサーモード番号 | 通常 |
0000 | 19 | int16 | X軸の加速度 | 0 mG |
FF96 | 21 | int16 | Y軸の加速度 | -1060 mG |
FFF0 | 23 | int16 | Z軸の加速度 | -160 mG |
BB | 25 | uint8 | チェックサム | 0xBB |
char | フッタ | \r | ||
char | フッタ | \n |
スイッチ
データ形式
# | データ | 内容 | 備考 |
---|---|---|---|
char | ヘッダ | : のみ | |
0 | uint32 | 中継機のシリアルID | 中継なしは80000000 |
4 | uint8 | LQI | 0 -255 |
5 | uint16 | 続き番号 | |
7 | uint32 | 送信元のシリアルID | |
11 | uint8 | 送信元の論理デバイスID | |
12 | uint8 | センサー種別 | |
13 | uint8 | 電源電圧(mV) | 電源電圧の計算を参照 |
14 | uint16 | ADC1の電圧 | |
16 | uint16 | ADC2の電圧 | |
18 | uint8 | センサーモード番号 | 0 がHi→Lo、1 がLo→Hi |
19 | uint8 | DI1 の状態 | 1 がLo |
20 | uint8 | 未使用 | |
21 | uint8 | チェックサム |
出力データの例
:800000009C00118201015A00FEDF000709A300010064
# | データ | 内容 | 値 | |
---|---|---|---|---|
: | char | ヘッダ | ||
80000000 | 0 | uint32 | 中継機のシリアルID | 中継なし |
9C | 4 | uint8 | LQI | 156/255 |
0062 | 5 | uint16 | 続き番号 | 98 |
8201015A | 7 | uint32 | 送信元のシリアルID | 0x201015A |
00 | 11 | uint8 | 送信元の論理デバイスID | 0x00 |
FE | 12 | uint8 | センサー種別 | スイッチ |
DF | 13 | uint8 | 電源電圧(mV) | 3330 mV |
0007 | 14 | uint16 | ADC1の電圧 | 7 mV |
09A3 | 16 | uint16 | ADC2の電圧 | 2467 mV |
00 | 18 | uint8 | センサーモード番号 | Hi→Lo |
01 | 19 | uint8 | DI1 の状態 | Lo |
00 | 20 | uint8 | 未使用 | |
64 | 21 | uint8 | チェックサム | 0x64 |
char | フッタ | \r | ||
char | フッタ | \n |
電源電圧の計算
電源電圧 \(V_{cc}\) は、受信した値 \(e_{cc}\) を使って次のように表すことができます。
単位は mV