親機モードと中継機モードの2つのモードがあります。
セクションの複数ページをまとめています。 印刷またはPDF形式で保存...
親機・中継機アプリの動作モード
- 1: 親機・中継機アプリの親機モード
- 1.1: 親機・中継機アプリの受信メッセージ
- 1.1.1: 超簡単!標準アプリからの出力(親機・中継機アプリ)
- 1.1.2: リモコンアプリからの出力(親機・中継機アプリ)
- 1.1.3: シリアル通信アプリからの出力(親機・中継機アプリ)
- 1.1.4: パル/キュー/アリアアプリからの出力(親機・中継機アプリ)
- 1.1.4.1: パルアプリからの出力(親機・中継機アプリ)
- 1.1.4.2: キューアプリからの出力(親機・中継機アプリ)
- 1.1.4.3: アリアアプリからの出力(親機・中継機アプリ)
- 1.1.4.4: パル・キュー・アリアアプリからの出力の詳細(親機・中継機アプリ)
- 1.1.5: actからの出力(親機・中継機アプリ)
- 1.1.6: 無線タグアプリからの出力(親機・中継機アプリ)
- 1.2: 親機・中継機アプリの送信コマンド
- 1.2.1: 超簡単!標準アプリへの入力(親機・中継機アプリ)
- 1.2.2: シリアル通信アプリへの入力(親機・中継機アプリ)
- 1.2.3: パルアプリ(通知パル)への入力(親機・中継機アプリ)
- 2: 親機・中継機アプリの中継機モード
1 - 親機・中継機アプリの親機モード
子機から送信されたデータを受信し、シリアルポートから出力します。また、シリアルポートへ入力されたコマンドを子機へ送信します。
1.1 - 親機・中継機アプリの受信メッセージ
子機から送信されたデータを受信し、既定の書式でシリアルポートから出力します。
1.1.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
であった場合と同様です。1.1.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バイトであること(: とチェックサムの間) |
パーサの実装例
1.1.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 バイトであること |
パーサの実装例
1.1.4 - パル/キュー/アリアアプリからの出力(親機・中継機アプリ)
1.1.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バイトであること |
1.1.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バイトであること |
パーサの実装例
1.1.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++)
開閉センサーパルモード
1.1.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 | 値が範囲を満たした |
1.1.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 |
1.1.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
1.2 - 親機・中継機アプリの送信コマンド
既定の書式でシリアルポートから入力されたコマンドを子機へ送信します。
1.2.1 - 超簡単!標準アプリへの入力(親機・中継機アプリ)
デジタル・アナログ入出力
0x80
:相手端末の出力変更
相手端末の出力信号を制御します。
データ形式
# | データ | 内容 | 備考 |
---|---|---|---|
char | ヘッダ | : のみ | |
0 | uint8 | 送信先の論理デバイスID | 親機0x00 ,子機0x01 -0x64 ,全子機0x78 |
1 | uint8 | コマンド番号 | 0x80 のみ |
2 | uint8 | 書式バージョン | 0x01 のみ |
3 | uint8 | デジタル信号 | LSBからDOx に対応、0 でHigh |
4 | uint8 | デジタル信号マスク | LSBからDOx に対応、1 で有効 |
5 | uint16 | PWM1 信号 | 0 -1024 ,0xFFFF で無効 |
7 | uint16 | PWM2 信号 | 0 -1024 ,0xFFFF で無効 |
9 | uint16 | PWM3 信号 | 0 -1024 ,0xFFFF で無効 |
11 | uint16 | PWM4 信号 | 0 -1024 ,0xFFFF で無効 |
uint8 | チェックサム | LRC8 | |
char | フッタ | CR (0x0D /'\r' ) | |
char | フッタ | LF (0x0A /'\n' ) |
1.2.2 - シリアル通信アプリへの入力(親機・中継機アプリ)
UART
書式モード:アスキー・簡易形式
App_Wings v1.3 以降では、書式モード(A)の簡易形式に対応しています。
2024年9月現在、公開中の SDK に App_Wings v1.3 は含まれていません。
次のリンクから App_Wings v1.3 をダウンロードし、ファイルを指定して書き込むことで使用できます。
データ形式
# | データ | 内容 | 備考 |
---|---|---|---|
char | ヘッダ | : のみ | |
0 | uint8 | 送信先の論理デバイスID | 親機0x00 ,子機0x01 -0x64 ,全子機0x78 |
1 | uint8 | コマンド番号 | 0x80 未満の任意の値 |
2 | [uint8] | 任意のデータ | 長さ\(N\)のバイト列(\(N\leqq80\)を推奨) |
uint8 | チェックサム | LRC8 | |
char | フッタ | CR (0x0D /'\r' ) | |
char | フッタ | LF (0x0A /'\n' ) |
1.2.3 - パルアプリ(通知パル)への入力(親機・中継機アプリ)
:0190010004000169[CR][LF]
^1^2^3^^^^^^^4^5
番号 | バイト数 | 意味 | データ例 | 備考 |
---|---|---|---|---|
1 | 1 | 送信先の論理デバイスID | 01 | 送信先のTWELITE PALの論理デバイスIDを指定します。 |
2 | 1 | コマンド種別 | 90 | |
3 | 1 | コマンドパラメータ数 | 01 | コマンドパラメータの数を指定します。例えば、コマンドパラメータを1つだけ指定するなら1に、2つ指定するには2にします。 |
4 | コマンド数x4 | コマンドパラメータ | 00040001 | イベントやLEDの色などを指定するためのパラメータを指定します。 |
5 | 1 | チェックサム | 69 | 1~4の各バイトの和を8ビット幅で計算し2の補数をとります。つまりデータ部の各バイトの総和+チェックサムバイトを8ビット幅で計算すると0になります。 |
6 | 2 | フッター | [CR][LF] | [CR] (0x0D) [LF] (0x0A) を指定します。ただし、チェックサムをXで省略する場合はフッターも省略可能です。 |
コマンドパラメータ
4バイトのコマンドパラメータを組み合わせてコマンドを指定します。
0x00:イベントIDを送信する
TWELITE PALは受信したイベントIDごとの振る舞いが設定されております。 本パラメータでは送信先のTWELITE PALにイベントIDを送信し、設定した動作を行います。
番号 | バイト数 | 内容 | 備考 |
---|---|---|---|
1 | 1 | コマンドパラメータID | 0x00 |
2 | 1 | 送信先PAL ID | 送信先のPAL IDを指定します。 |
3 | 1 | 未使用領域 | 0x00固定 |
4 | 1 | イベントID | 0~16までのイベントIDを指定します。 |
0x01 : LEDの色、点滅パターン、明るさを送信する
送信先の通知パルにLEDの色、点滅パターン、明るさを送信します。
番号 | バイト数 | 内容 | 備考 |
---|---|---|---|
1 | 1 | コマンドパラメータID | 0x01 |
2 | 1 | 色 | 0:赤 |
3 | 1 | 点滅パターン | 0:常時点灯 |
4 | 1 | 明るさ | 0:消灯 |
0x02 : 点灯時間を送信する
通知パルのLEDの点灯時間を送信します。
番号 | バイト数 | 内容 | 備考 |
---|---|---|---|
1 | 1 | コマンドパラメータID | 0x02 |
2 | 1 | 未使用領域 | 0xFF固定 |
3 | 1 | 未使用領域 | 0x00固定 |
4 | 1 | 点灯時間 | 秒で指定(0は常時点灯) |
0x03:LEDの色をRGBWで指定する
通知パルのLEDの点灯色をRGBWで送信します。
番号 | バイト数 | 内容 | 備考 |
---|---|---|---|
1 | 1 | コマンドパラメータID | 0x03 |
2 | 1 | 未使用領域 | 0xFF固定 |
3 | 2 | LEDの点灯色 | LSBからRGBWの順番で4ビットずつ指定する。 数値が大きいほど明るい |
0x04:点滅パラメータを指定する。
通知パルのLEDの点滅周期と点滅Dutyを送信します。
番号 | バイト数 | 内容 | 備考 |
---|---|---|---|
1 | 1 | コマンドパラメータID | 0x04 |
2 | 1 | 未使用領域 | 0xFF固定 |
3 | 1 | 点滅時間の割合 | 0x00~0xFFで指定する。 数値が大きいほど1周期当たりの点灯時間が長くなる。 1周期の半分だけ点灯させるには0x7Fを指定する。 |
4 | 1 | 点滅周期 | 0x00~0xFFで指定する。 設定値が1大きくなるごとに点滅の周期が約0.04sずつ増える。 1周期1秒にするには0x17を指定する。 |
コマンド例
例1:イベントを送信する
論理デバイスIDが1のNOTICE PALに対してイベント1を送信するコマンド例です。
:0190010004000169
^1^2^3^4^5^6^7^8
番号 | バイト数 | 意味 | データ例 | データ例の内容 | 備考 |
---|---|---|---|---|---|
1 | 1 | 送信先の論理デバイスID | 01 | 送信先の論理デバイスIDは0x01 | |
2 | 1 | コマンド種別 | 90 | 0x90コマンド | 90固定 |
3 | 1 | コマンド数 | 01 | コマンドは1個 | |
4 | 1 | コマンドID | 00 | コマンド00 | |
5 | 1 | 送信先PAL ID | 04 | 通知パルに対して送信する | |
6 | 1 | 未使用領域 | 00 | ||
7 | 1 | イベントID | 01 | イベント1 | 0x00~0x10まで |
8 | 1 | チェックサム | 69 |
例2:通知パルのLEDの点灯色を送信する
論理デバイスIDが1のNOTICE PALに対して明るさ8で白色にゆっくり点滅させるためのコマンドです。
:019001010601085E
^1^2^3^4^5^6^7^8
番号 | バイト数 | 意味 | データ例 | データ例の内容 | 備考 |
---|---|---|---|---|---|
1 | 1 | 送信先の論理デバイスID | 01 | 送信先の論理デバイスIDは0x01 | |
2 | 1 | コマンド種別 | 90 | 0x90コマンド | 90固定 |
3 | 1 | コマンド数 | 01 | コマンドは1個 | |
4 | 1 | コマンドパラメータID | 01 | コマンドパラメータID 0x01 | |
5 | 1 | 色 | 06 | 白 | |
6 | 1 | 点滅パターン | 01 | 点滅 | |
7 | 1 | 明るさ | 08 | 明るさ8 | 0x00~0x0Fまで |
8 | 1 | チェックサム | 5E |
例3:通知パルのLEDの点灯色と点灯時間を送信する
論理デバイスIDが1のNOTICE PALに対して紫に点灯させ、点灯後1秒で消灯させるコマンドです。
:0190020104000802FF00015E
^1^2^3^4^5^6^7^8^9^a^b^c
番号 | バイト数 | 意味 | データ例 | データ例の内容 | 備考 |
---|---|---|---|---|---|
1 | 1 | 送信先の論理デバイスID | 01 | 送信先の論理デバイスIDは0x01 | |
2 | 1 | コマンド種別 | 90 | 0x90コマンド | 90固定 |
3 | 1 | コマンド数 | 02 | コマンドは2個 | |
4 | 1 | コマンドパラメータID | 01 | コマンドパラメータID 0x01 | |
5 | 1 | 色 | 04 | 紫 | |
6 | 1 | 点滅パターン | 00 | 点灯 | |
7 | 1 | 明るさ | 08 | 明るさ8 | 0x00~0x0Fまで |
8 | 1 | コマンドパラメータID | 02 | コマンドパラメータID 0x02 | |
9 | 1 | 未使用領域 | FF | ||
a | 1 | 未使用領域 | 00 | ||
b | 1 | 点灯時間 | 01 | 点灯後1秒で消える | |
c | 1 | チェックサム | 5E |
例4:通知パルに詳細な点灯色を送信する
論理デバイスIDが1のNOTICE PALに対して紫に点灯させるコマンドです。
:01900103FF0F0459
^1^2^3^4^5^^^6^7
番号 | バイト数 | 意味 | データ例 | データ例の内容 | 備考 |
---|---|---|---|---|---|
1 | 1 | 送信先の論理デバイスID | 01 | 送信先の論理デバイスIDは0x01 | |
2 | 1 | コマンド種別 | 90 | 0x90コマンド | 90固定 |
3 | 1 | コマンド数 | 01 | コマンドは2個 | |
4 | 1 | コマンドパラメータID | 03 | コマンドパラメータID 0x03 | |
5 | 1 | 未使用 | FF | ||
6 | 2 | LEDの点灯色 | 0F04 | 青:15、赤4の明るさで点灯させる。 | LSBからRGBWの順番で各色4bitずつ(0~15)で指定する。 数値が大きいほど明るい |
7 | 1 | チェックサム | 59 |
例5:通知パルのLEDの点灯色と点灯時間を送信する
論理デバイスIDが1のNOTICE PALに対して紫に点灯させ、点灯後1秒で消灯させるコマンドです。
:0190020104000802FF00015E
^1^2^3^4^5^6^7^8^9^a^b^c
番号 | バイト数 | 意味 | データ例 | データ例の内容 | 備考 |
---|---|---|---|---|---|
1 | 1 | 送信先の論理デバイスID | 01 | 送信先の論理デバイスIDは0x01 | |
2 | 1 | コマンド種別 | 90 | 0x90コマンド | 90固定 |
3 | 1 | コマンド数 | 02 | コマンドは2個 | |
4 | 1 | コマンドパラメータID | 01 | コマンドパラメータID 0x01 | |
5 | 1 | 色 | 04 | 紫 | |
6 | 1 | 点滅パターン | 00 | 点灯 | |
7 | 1 | 明るさ | 08 | 明るさ8 | 0x00~0x0Fまで |
8 | 1 | コマンドパラメータID | 02 | コマンドパラメータID 0x02 | |
9 | 1 | 未使用領域 | FF | ||
a | 1 | 未使用領域 | 00 | ||
b | 1 | 点灯時間 | 01 | 点灯後1秒で消える | |
c | 1 | チェックサム | 5E |
2 - 親機・中継機アプリの中継機モード
設定例
中継機として使用するには、インタラクティブモードの動作モードを1
以上としてください。
中継方式
TWELITE NETでは無線パケットの中継配送について、大きく分けて下表で示す2つの方式を用意しており、アプリケーションごとに異なります。本アプリでは下表で示すアプリケーションのパケットを識別し、中継することができます。
中継方式 | 対応アプリ |
---|---|
単純ネット | 超簡単!標準アプリ、リモコンアプリ、シリアル通信アプリ、アクト |
中継ネット | 無線タグアプリ、パルアプリ、キューアプリ |
単純ネットを使用した中継
単純ネットを使用するアプリの中継を行う場合、動作モードの値を1以上に設定することで3回まで中継することができます。
例えば、1. のように親機と子機の間に中継機が3台以内であれば親機にデータが届きますが、2. ように中継機が4台以上ある場合は親機にデータが届きません。
1. 子機 ---> 中継機 ---> 中継機 ---> 中継機 ---> 親機
→ 親機が子機のデータを3回中継して受信できる。
2. 子機 ---> 中継機 ---> 中継機 ---> 中継機 ---> 中継機 -x-> 親機\
→ 中継4回目で中継することをやめる。
単純ネットによる中継は、基本的に同報通信を使用して通信を行い、受信したパケットをすべて中継を行います。そのため、中継ネットワークを形成、維持するための通信が必要ないという利点がありますが、中継機が増えるほど爆発的に通信量が多くなることがあるという欠点もあります。
詳しくは こちら を参照ください。
中継ネットを使用した中継
中継ネットを使用するアプリのデータを1段の中継を行う場合、動作モードの値を1に設定してしてください。
複数回の中継を行う場合は、親機から遠くなるにつれて動作モードの設定値を大きくしてください。(設定値が昇順になっていれば設定値が飛んでもかまいません。)
本方式の最大中継回数は63回までです。
例1:1回の中継を行う場合\
子機 ---> 中継機(動作モード:1) ---> 親機
例2:2回の中継を行う場合\
子機 ---> 中継機(動作モード:2) ---> 中継機(動作モード:**1**) ---> 親機
例3:3回の中継を行う場合\
子機 ---> 中継機(動作モード:6) ---> 中継機(動作モード:3) ---> 中継機(動作モード:1) ---> 親機
中継ネットは上り方向の配送を効率的に実施する目的を持って設計されたツリー型ネットワークで、中継機は上位レイヤ(より動作モードの設定値が小さい親機もしくは中継機)を探索し、発見した上位レイヤ1台に対して中継を行います。
そのため、中継機の台数が増えても単純ネットほどは通信量が多くなりにくいですが、接続先を探索、維持するための通信が発生します。
詳しくは こちら をご覧ください。
静的ルーティング(中継先を直接指定)をする場合
中継ネットでの中継を行うときに、下図のような配置を考えた場合、中継機2の接続先は親機もしくは中継機1のどちらかを自動的に選択します。
基本的には、中継する回数が少ない方が親機への配送率が高くなる場合が多いですが、中継機2の接続先として親機が選択されてしまった場合、親機と中継機2の間に障害物があるため、通信品質が悪くなり、親機への配送率が中継機1を経由するときより低くなる可能性が高くなります。
そのため、本アプリには中継機の接続先を TWELITE のシリアル番号で指定する機能 (静的ルーティング機能) があります。
静的ルーティングを行う場合は、中継機2→中継機1への経路を静的にする、または全ての経路を静的に設定します。
すべての経路の設定にはその分だけ設定が多くなり、また、中継機の故障や電波状況の変化といった状況を想定した冗長化に対応できない点がありますが、上位通信先を確定するまでの時間をなくし、速やかに中継動作に移行できる利点があります。
静的ルーティングをするには下表のように中継機1には親機のSID、中継機2には中継機1のSIDになるように接続先を設定してください。
例: 2段中継の場合 (親機 ← 中継機1 ← 中継機2 ← 子機)
TWELITEのSID例 | 接続先(A: Access Point Address)の設定例 | 動作モード(l:Mode)の設定例 | |
---|---|---|---|
親機 | 810F155E | - | 0 |
中継機1 | 810E18E8 | 810F155E (親機のSID)※ | 1 |
中継機2 | 810F17FF | 810E18E8 (中継機1のSID) | 2 |
※上図の壁による影響のみに対処したい場合は設定不要です。