セクションの複数ページをまとめています。 印刷またはPDF形式で保存...

もとのページに戻る

2024-11-14 現在

親機・中継機アプリの動作モード

親機・中継機アプリの動作モード

親機モードと中継機モードの2つのモードがあります。

1 - 親機・中継機アプリの親機モード

子機からデータを受信、子機へデータを送信する

子機から送信されたデータを受信し、シリアルポートから出力します。また、シリアルポートへ入力されたコマンドを子機へ送信します。

1.1 - 親機・中継機アプリの受信メッセージ

子機からデータを受信した際の出力

子機から送信されたデータを受信し、既定の書式でシリアルポートから出力します。

1.1.1 - 超簡単!標準アプリからの出力(親機・中継機アプリ)

超簡単!標準アプリからデータを受信した際の出力書式

0x81:相手端末からの状態通知

受信した入力信号の状態を出力します。

データ形式

#データ内容備考
charヘッダ:のみ
0uint8送信元の論理デバイスID
1uint8コマンド番号0x81のみ
2uint8パケット識別子アプリケーションIDより生成
3uint8プロトコルバージョン0x01のみ
4uint8LQI0-255
5uint32送信元のシリアルID0x8???????
9uint8送信先の論理デバイスID
10uint16タイムスタンプ1秒で64カウント
12uint8中継回数
13uint16電源電圧単位はmV
15int8-(未使用)
16uint8デジタル信号LSBから順にDIxへ対応、0がHigh
MSBが1なら定期送信
17uint8デジタル信号マスクLSBから順にDIxへ対応、1が有効
18uint8AI1の変換値アナログ信号の計算を参照、0xFFで未使用
19uint8AI2の変換値アナログ信号の計算を参照、0xFFで未使用
20uint8AI3の変換値アナログ信号の計算を参照、0xFFで未使用
21uint8AI4の変換値アナログ信号の計算を参照、0xFFで未使用
22uint8AIxの補正値LSBから2ビットずつ順にAIxへ対応
uint8チェックサムLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

アナログ信号の計算

AIxの入力電圧 \(V\)は、受信した変換値\(e_{r}\)および補正値\(e_{fr}\)を使って次のように表すことができます。

$$\begin{align*} V &= e+e_f \\ \text{where} \\ e &= 16e_r \\ e_f &= 4e_{fr} \\ \end{align*}$$

単位は mV

出力データの例

:78811501C98201015A000391000C2E00810301FFFFFFFFFB
#データ内容
:charヘッダ:
780uint8送信元の論理デバイスID0x78
811uint8コマンド番号0x81
152uint8パケット識別子0x15
013uint8プロトコルバージョン0x01
C94uint8LQI201/255
8201015A5uint32送信元のシリアルID0x201015A
009uint8送信先の論理デバイスID0x00
039110uint16タイムスタンプ14.27
0012uint8中継回数0
0C2E13uint16電源電圧3118mV
0015int8-
8116uint8デジタル信号DI1 L DI2 H
DI3 H DI4 H
(定期送信)
0317uint8デジタル信号マスクDI1 DI2
0118uint8AI1の変換値16mV
FF19uint8AI2の変換値未使用
FF20uint8AI3の変換値未使用
FF21uint8AI4の変換値未使用
FF22uint8AIxの補正値AI1 0x03
FBuint8チェックサム0xFB
charフッタ\r
charフッタ\n

データの判別条件

親機・中継機アプリは、さまざまな種類の子機からデータを受信することができます。

出力されたデータが超簡単!標準アプリのものであるかを確認するには、次の箇所を参照してください。

#データ項目条件
1uint8コマンド番号0x81であること
3uint8プロトコルバージョン0x01であること
5uint32送信元のシリアルIDMSBが1であること(0x8???????
--ペイロードのサイズ23バイトであること(:とチェックサムの間)

パーサの実装例

0x01:任意のデータの受信

データ形式

#データ内容備考
charヘッダ:のみ
0uint8送信元の論理デバイスID親機0x00,子機0x01-0x64,未設定子機0x78
1uint8コマンド番号0x01のみ
2[uint8]任意のデータ長さ\(N\)のバイト列
uint8チェックサムLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

1.1.2 - リモコンアプリからの出力(親機・中継機アプリ)

リモコンアプリからデータを受信した際の出力書式

0x81:相手端末からの状態通知

受信した入力信号の状態を出力します。

データ形式

#データ内容備考
charヘッダ:のみ
0uint8送信元の論理デバイスID
1uint8コマンド番号0x81のみ
2uint8パケット識別子0x0Fのみ
3uint8プロトコルバージョン0x01のみ
4uint8LQI0-255
5uint32送信元のシリアルID0x8???????
9uint8送信先の論理デバイスID
10uint16タイムスタンプ1秒で64カウント、MSBは内部フラグ
12uint8中継回数
13uint16デジタル信号LSBから順にIxへ対応、0がHigh
15uint16デジタル信号マスクLSBから順にIxへ対応、1なら有効
17uint16デジタル信号フラグLSBから順にIxへ対応、1なら割り込み
19uint8未使用内部管理用
uint8チェックサムLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

出力データの例

:01810F01DB8630000200645F000040004F00400049
#データ内容
:charヘッダ:
010uint8送信元の論理デバイスID0x78
811uint8コマンド番号0x81
0F2uint8パケット識別子0x15
013uint8プロトコルバージョン0x01
DB4uint8LQI219/255
863000025uint32送信元のシリアルID0x6300002
009uint8送信先の論理デバイスID0x00
645F10uint16タイムスタンプ401
0012uint8中継回数0
004013uint16デジタル信号I7がLo
004F15uint16デジタル信号マスクI7,I1-I4が有効
004017uint16デジタル信号フラグI7は割り込みにより変化
0019uint8未使用
49uint8チェックサム0x49
charフッタ\r
charフッタ\n

データの判別条件

親機・中継機アプリは、さまざまな種類の子機からデータを受信することができます。

出力されたデータがリモコンアプリのものであるかを確認するには、次の箇所を参照してください。

#データ項目条件
1uint8コマンド番号0x81であること
3uint8プロトコルバージョン0x02であること
5uint32送信元のシリアルIDMSBが1であること(0x8???????
--ペイロードのサイズ20バイトであること(:とチェックサムの間)

パーサの実装例

1.1.3 - シリアル通信アプリからの出力(親機・中継機アプリ)

シリアル通信アプリからデータを受信した際の出力書式

書式モード:簡易形式

データ形式

#データ内容備考
charヘッダ:のみ
0uint8送信元の論理デバイスID親機0x00,子機0x01-0x64,未設定子機0x78
1uint8コマンド番号送信側で指定した0x80未満の値
2[uint8]任意のデータ長さ\(N\)のバイト列
uint8チェックサムLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

出力データの例

:780100112233AABBCCDD13
#データ内容
:charヘッダ:
780uint8送信元の論理デバイスIDID未設定子機
011uint8コマンド番号0x01
00112233AABBCCDD2[uint8]任意のデータそのまま
13uint8チェックサム0x13
charフッタ\r
charフッタ\n

データの判別条件

親機・中継機アプリは、さまざまな種類の子機からデータを受信することができます。

出力されたデータがシリアル通信アプリ(書式モード:簡易形式)のものであるかを確認するには、次の箇所を参照してください。

#データ項目条件
0uint8送信元の論理デバイスID0x64以下もしくは0x78であること
1uint8コマンド番号0x80未満であること
--ペイロードのサイズ3バイト以上82バイト以下であること

パーサの実装例

書式モード:拡張書式

データ形式

#データ内容備考
charヘッダ:のみ
0uint8送信元の論理デバイスID親機0x00,子機0x01-0x64,未設定子機0x78
1uint8コマンド番号0xA0のみ
2uint8応答ID送信側で指定した値
3uint32送信元の拡張アドレスシリアルIDの先頭へ0x8を加えた値
7uint32送信先の拡張アドレス論理デバイスID使用時は0xFFFFFFFF
11uint8LQI受信時の電波通信品質
12uint16続くバイト列の長さバイト数\(M\)を表す
14[uint8]任意のデータ長さ\(M\)のバイト列
uint8チェックサムLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

出力データの例

:78A0028201015AFFFFFFFFA8000700112233AABBCCC6
#データ内容備考
:charヘッダ:
780uint8送信元の論理デバイスIDID未設定子機
A01uint8コマンド番号0xA0
022uint8応答ID0x02
8201015A3uint32送信元の拡張アドレス0x201015A
FFFFFFFF7uint32送信先の拡張アドレス論理デバイスID指定
A811uint8LQI168/255
000712uint16続くバイト列の長さ7バイト
00112233AABBCC14[uint8]任意のデータそのまま
C6uint8チェックサム0xC6
charフッタ
charフッタ

データの判別条件

親機・中継機アプリは、さまざまな種類の子機からデータを受信することができます。

出力されたデータがシリアル通信アプリ(書式モード:拡張形式)のものであるかを確認するには、次の箇所を参照してください。

#データ項目条件
0uint8送信元の論理デバイスID0x64以下もしくは0x78であること
1uint8コマンド番号0xA0であること
2uint8応答ID0x80未満であること
3uint32送信元の拡張アドレスMSBが1であること(0x8???????
12uint16続くバイト列の長さペイロードのサイズ - 14バイトであること

パーサの実装例

1.1.4 - パル/キュー/アリアアプリからの出力(親機・中継機アプリ)

パル/キュー/アリアアプリからデータを受信した際の出力書式

1.1.4.1 - パルアプリからの出力(親機・中継機アプリ)

パルアプリからデータを受信した際の出力書式

全般

パルアプリから受信したデータは、センサ種別とその値からなるセンサーデータの羅列によって表現します。

以降では、製品の種別に応じた具体的な例を取り上げます。

開閉センサーパル

データ形式

#データ内容備考
charヘッダ:のみ
0uint32中継機のシリアルID中継なしの場合80000000
4uint8LQI0-255
5uint16続き番号
7uint32送信元のシリアルID0x8???????
11uint8送信元の論理デバイスID
12uint8センサー種別0x80のみ
13uint8PAL基板バージョンとPAL基板ID0x81のみ
14uint8センサーデータの数3のみ
センサーデータ1
15uint8情報ビット0x11のみ
16uint8データソース0x30のみ
17uint8拡張バイト0x08のみ
18uint8データ長2のみ
19uint16データ電源電圧(mV)
センサーデータ2
21uint8情報ビット0x11のみ
22uint8データソース0x30のみ
23uint8拡張バイト0x01のみ
24uint8データ長2のみ
25uint16データADC1の電圧(mV)
センサーデータ3
27uint8情報ビット0x00のみ
28uint8データソース0x00のみ
29uint8拡張バイト0x00のみ
30uint8データ長1のみ
31uint8データ磁気データ
センサーデータの末端
32uint8チェックサム1直前までのCRC8
uint8チェックサム2チェックサム1までのLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

出力データの例

:80000000A8001C82012B1E01808103113008020D0C1130010203E40000000101EC6E
#データ内容
:charヘッダ:
800000000uint32中継機のシリアルID中継なし
A84uint8LQI168/255
001C5uint16続き番号28
82012B1E7uint32送信元のシリアルID0x2012B1E
0111uint8送信元の論理デバイスID0x01
8012uint8センサー種別
8113uint8PAL基板バージョンとPAL基板ID開閉パルV1
0314uint8センサーデータの数3
センサーデータ1
1115uint8情報ビット拡張バイトありuint16
3016uint8データソース電圧
0817uint8拡張バイト電源
0218uint8データ長2バイト
0D0C19uint16データ3340mV
センサーデータ2
1121uint8情報ビット拡張バイトありuint16
3022uint8データソース電圧
0123uint8拡張バイトADC1
0224uint8データ長2バイト
03E425uint16データ996mV
センサーデータ3
0027uint8情報ビット拡張バイトなしuint8
0028uint8データソース磁気
0029uint8拡張バイトなし
0130uint8データ長1バイト
0131uint8データN極が近づいた
センサーデータの末端
EC32uint8チェックサム10xEC
6Euint8チェックサム20x6E
charフッタ'\r'
charフッタ'\n'

データの判別条件

親機・中継機アプリは、さまざまな種類の子機からデータを受信することができます。

出力されたデータがパルアプリ(開閉センサーパル)のものであるかを確認するには、次の箇所を参照してください。

#データ項目条件
0uint32中継機のシリアルIDMSBが1であること
7uint32送信元のシリアルIDMSBが1であること
12uint8センサー種別0x80であること
13uint8PAL基板バージョンとPAL基板ID0x81であること
--ペイロードのサイズ33バイトであること

パーサの実装例

環境センサーパル

データ形式

#データ内容備考
charヘッダ:のみ
0uint32中継機のシリアルID中継なしの場合80000000
4uint8LQI0-255
5uint16続き番号
7uint32送信元のシリアルID0x8???????
11uint8送信元の論理デバイスID
12uint8センサー種別0x80のみ
13uint8PAL基板バージョンとPAL基板ID0x82のみ
14uint8センサーデータの数5のみ
センサーデータ1
15uint8情報ビット0x11のみ
16uint8データソース0x30のみ
17uint8拡張バイト0x08のみ
18uint8データ長2のみ
19uint16データ電源電圧(mV)
センサーデータ2
21uint8情報ビット0x11のみ
22uint8データソース0x30のみ
23uint8拡張バイト0x01のみ
24uint8データ長2のみ
25uint16データADC1の電圧(mV)
センサーデータ3
27uint8情報ビット0x05のみ
28uint8データソース0x01のみ
29uint8拡張バイト0x00のみ
30uint8データ長2のみ
31int16データ温度データ
センサーデータ4
33uint8情報ビット0x01のみ
34uint8データソース0x02のみ
35uint8拡張バイト0x00のみ
36uint8データ長2のみ
37uint16データ湿度データ
センサーデータ5
39uint8情報ビット0x02のみ
40uint8データソース0x03のみ
41uint8拡張バイト0x00のみ
42uint8データ長4のみ
43uint32データ照度データ
センサーデータの末端
47uint8チェックサム1直前までのCRC8
uint8チェックサム2チェックサム1までのLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

出力データの例

​:8000000084811F810EFF6D04808205113008020AEB11300102035A0501000209E3010200020E3A02030004000001BE6C00
#データ内容
:charヘッダ:
800000000uint32中継機のシリアルID中継なし
844uint8LQI132/255
811F5uint16続き番号33055
810EFF6D7uint32送信元のシリアルID0x10EFF6D
0411uint8送信元の論理デバイスID0x04
8012uint8センサー種別
8213uint8PAL基板バージョンとPAL基板ID環境パルV1
0514uint8センサーデータの数5
センサーデータ1
1115uint8情報ビット拡張バイトありuint16
3016uint8データソース電圧
0817uint8拡張バイト電源
0218uint8データ長2バイト
0AEB19uint16データ2795mV
センサーデータ2
1121uint8情報ビット拡張バイトありuint16
3022uint8データソース電圧
0123uint8拡張バイトADC1
0224uint8データ長2バイト
035A25uint16データ858mV
センサーデータ3
0527uint8情報ビット拡張バイトなしint16
0128uint8データソース温度
0029uint8拡張バイトなし
0230uint8データ長2バイト
09E331int16データ25.31°C
センサーデータ4
0133uint8情報ビット拡張バイトなしuint16
0234uint8データソース湿度
0035uint8拡張バイトなし
0236uint8データ長2バイト
0E3A37uint16データ36.42%
センサーデータ5
0239uint8情報ビット拡張バイトなしuint32
0340uint8データソース照度
0041uint8拡張バイトなし
0442uint8データ長4バイト
000001BE43uint32データ446lx
センサーデータの末端
6C47uint8チェックサム10x6C
00uint8チェックサム20x00
charフッタ'\r'
charフッタ'\n'

データの判別条件

親機・中継機アプリは、さまざまな種類の子機からデータを受信することができます。

出力されたデータがパルアプリ(環境センサーパル)のものであるかを確認するには、次の箇所を参照してください。

#データ項目条件
0uint32中継機のシリアルIDMSBが1であること
7uint32送信元のシリアルIDMSBが1であること
12uint8センサー種別0x80であること
13uint8PAL基板バージョンとPAL基板ID0x82であること
--ペイロードのサイズ48バイトであること

パーサの実装例

動作センサーパル

データ形式

#データ内容備考
charヘッダ:のみ
0uint32中継機のシリアルID中継なしの場合80000000
4uint8LQI0-255
5uint16続き番号
7uint32送信元のシリアルID0x8???????
11uint8送信元の論理デバイスID
12uint8センサー種別0x80のみ
13uint8PAL基板バージョンとPAL基板ID0x83のみ
14uint8センサーデータの数18のみ
センサーデータ1
15uint8情報ビット0x11のみ
16uint8データソース0x30のみ
17uint8拡張バイト0x08のみ
18uint8データ長2のみ
19uint16データ電源電圧(mV)
センサーデータ2
21uint8情報ビット0x11のみ
22uint8データソース0x30のみ
23uint8拡張バイト0x01のみ
24uint8データ長2のみ
25uint16データADC1の電圧(mV)
センサーデータ3
27uint8情報ビット0x15のみ
28uint8データソース0x04のみ
29uint8拡張バイト0x?0 周波数とサンプル番号
30uint8データ長6のみ
31int16データ加速度データ
センサーデータ4
37uint8情報ビット0x15のみ
38uint8データソース0x04のみ
39uint8拡張バイト0x?1 周波数とサンプル番号
40uint8データ長6のみ
41int16データ加速度データ
センサーデータ5
<省略>
センサデータ18
177uint8情報ビット0x15のみ
178uint8データソース0x04のみ
179uint8拡張バイト0x?F 周波数とサンプル番号
180uint8データ長6のみ
181int16データ加速度データ
センサーデータの末端
187uint8チェックサム1直前までのCRC8
uint8チェックサム2チェックサム1までのLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

出力データの例

​:80000000BA002382011CEF01808312113008020D0211300102055C1504400600100010045015044106000800100430150442060000001004381504430600080018043015044406000000180458150445060000002004381504460600080018042815044706FFE80010042015044806FFF00010043815044906FFE80018043015044A06FFF80018044015044B06FFF80018041815044C0600000010042015044D0600000028045015044E0600000008043815044F0600000018043828A5
#データ内容
:charヘッダ:
800000000uint32中継機のシリアルID中継なし
BA4uint8LQI186/255
00235uint16続き番号35
82011CEF7uint32送信元のシリアルID0x2011CEF
0111uint8送信元の論理デバイスID0x01
8012uint8センサー種別
8313uint8PAL基板バージョンとPAL基板ID動作パルV1
1214uint8センサーデータの数18
センサーデータ1
1115uint8情報ビット拡張バイトありuint16
3016uint8データソース電圧
0817uint8拡張バイト電源
0218uint8データ長2バイト
0D0219uint16データ3330mV
センサーデータ2
1121uint8情報ビット拡張バイトありuint16
3022uint8データソース電圧
0123uint8拡張バイトADC1
0224uint8データ長2バイト
055C25uint16データ1372mV
センサーデータ3
1527uint8情報ビット拡張バイトありint16
0428uint8データソース加速度
4029uint8拡張バイト100Hz, 0番サンプル
0630uint8データ長6バイト
00100010045031int16データX16mG/Y16mG/Z1104mG
センサーデータ4
1537uint8情報ビット拡張バイトありint16
0438uint8データソース加速度
4139uint8拡張バイト100Hz, 1番サンプル
0640uint8データ長6バイト
00080010043041uint16データX8mG/Y16mG/Z1072mG
センサーデータ5
<省略>
センサデータ15
15177uint8情報ビット拡張バイトありint16
04178uint8データソース加速度
4F179uint8拡張バイト100Hz, 15番サンプル
06180uint8データ長6バイト
000000180438181uint32データX0mG/Y24mG/Z1080mG
センサーデータの末端
28187uint8チェックサム10x28
A5uint8チェックサム20xA5
charフッタ'\r'
charフッタ'\n'

データの判別条件

親機・中継機アプリは、さまざまな種類の子機からデータを受信することができます。

出力されたデータがパルアプリ(動作センサーパル)のものであるかを確認するには、次の箇所を参照してください。

#データ項目条件
0uint32中継機のシリアルIDMSBが1であること
7uint32送信元のシリアルIDMSBが1であること
12uint8センサー種別0x80であること
13uint8PAL基板バージョンとPAL基板ID0x83であること
--ペイロードのサイズ188バイトであること

パーサの実装例

通知パル

データ形式

#データ内容備考
charヘッダ:のみ
0uint32中継機のシリアルID中継なしの場合80000000
4uint8LQI0-255
5uint16続き番号
7uint32送信元のシリアルID0x8???????
11uint8送信元の論理デバイスID
12uint8センサー種別0x80のみ
13uint8PAL基板バージョンとPAL基板ID0x84のみ
14uint8センサーデータの数3のみ
センサーデータ1
15uint8情報ビット0x11のみ
16uint8データソース0x30のみ
17uint8拡張バイト0x08のみ
18uint8データ長2のみ
19uint16データ電源電圧(mV)
センサーデータ2
21uint8情報ビット0x11のみ
22uint8データソース0x30のみ
23uint8拡張バイト0x01のみ
24uint8データ長2のみ
25uint16データADC1の電圧(mV)
センサーデータ3
27uint8情報ビット0x12のみ
28uint8データソース0x05のみ
29uint8拡張バイト0x04のみ
30uint8データ長4のみ
31uint8データ加速度イベントデータ
32[uint8]未使用
センサーデータの末端
35uint8チェックサム1直前までのCRC8
uint8チェックサム2チェックサム1までのLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

出力データの例

:80000000C9BBC082014C3501808403 113008020D0C 1130010203F9 1205040410000000 97C6
#データ内容
:charヘッダ:
800000000uint32中継機のシリアルID中継なし
C94uint8LQI201/255
BBC05uint16続き番号48064
82014C357uint32送信元のシリアルID0x2014C35
0111uint8送信元の論理デバイスID0x01
8012uint8センサー種別
8413uint8PAL基板バージョンとPAL基板ID通知パルV1
0314uint8センサーデータの数3
センサーデータ1
1115uint8情報ビット拡張バイトありuint16
3016uint8データソース電圧
0817uint8拡張バイト電源
0218uint8データ長2バイト
0D0C19uint16データ3340mV
センサーデータ2
1121uint8情報ビット拡張バイトありuint16
3022uint8データソース電圧
0123uint8拡張バイトADC1
0224uint8データ長2バイト
03F925uint16データ1017mV
センサーデータ3
1227uint8情報ビット拡張バイトありuint32
0528uint8データソースイベント
0429uint8拡張バイト加速度イベント
0430uint8データ長4バイト
1031uint8データムーブ
00000032[uint8]
センサーデータの末端
9735uint8チェックサム10x97
C6uint8チェックサム20xC6
charフッタ'\r'
charフッタ'\n'

データの判別条件

親機・中継機アプリは、さまざまな種類の子機からデータを受信することができます。

出力されたデータがパルアプリ(通知パル)のものであるかを確認するには、次の箇所を参照してください。

#データ項目条件
0uint32中継機のシリアルIDMSBが1であること
7uint32送信元のシリアルIDMSBが1であること
12uint8センサー種別0x80であること
13uint8PAL基板バージョンとPAL基板ID0x84であること
--ペイロードのサイズ36バイトであること

1.1.4.2 - キューアプリからの出力(親機・中継機アプリ)

キューアプリからデータを受信した際の出力書式

TWELITE CUE モード

データ形式

#データ内容備考
charヘッダ:のみ
0uint32中継機のシリアルID中継なしの場合80000000
4uint8LQI0-255
5uint16続き番号
7uint32送信元のシリアルID0x8???????
11uint8送信元の論理デバイスID
12uint8センサー種別0x80のみ
13uint8PAL基板バージョンとPAL基板ID0x05のみ
14uint8センサーデータの数15のみ
センサーデータ1
15uint8情報ビット0x00のみ
16uint8データソース0x34のみ
17uint8拡張バイト0x00のみ
18uint8データ長3のみ
19[uint8]データパケットプロパティデータ
センサーデータ2
22uint8情報ビット0x12のみ
23uint8データソース0x05のみ
24uint8拡張バイト0x35または0x04または0x00
25uint8データ長4のみ
26uint32データイベントデータ
センサーデータ3
30uint8情報ビット0x11のみ
31uint8データソース0x30のみ
32uint8拡張バイト0x08のみ
33uint8データ長2のみ
34uint16データ電源電圧(mV)
センサーデータ4
36uint8情報ビット0x11のみ
37uint8データソース0x30のみ
38uint8拡張バイト0x01のみ
39uint8データ長2のみ
40uint16データADC1の電圧(mV)
センサーデータ5
42uint8情報ビット0x00のみ
43uint8データソース0x00のみ
44uint8拡張バイト0x00のみ
45uint8データ長1のみ
46uint8データ磁気データ
センサーデータ6
47uint8情報ビット0x15のみ
48uint8データソース0x04のみ
49uint8拡張バイト0x?0 周波数とサンプル番号
50uint8データ長6のみ
51[int16]データ加速度データ
センサーデータ7
57uint8情報ビット0x15のみ
58uint8データソース0x04のみ
59uint8拡張バイト0x?1 周波数とサンプル番号
60uint8データ長6のみ
61[int16]データ加速度データ
センサーデータ8
<省略>
センサーデータ15
137uint8情報ビット0x15のみ
138uint8データソース0x04のみ
139uint8拡張バイト0x?9 周波数とサンプル番号
140uint8データ長6のみ
141int16データ加速度データ
センサーデータの末端
147uint8チェックサム1直前までのCRC8
uint8チェックサム2チェックサム1までのLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

出力データの例

:80000000CF7F7382019E3B0180050F003400038135001205040406000000113008020B8611300102042E000000018015044006FFF00010FC1815044106FFF00018FC1815044206FFF00010FC0015044306FFF80000FC1015044406FFF00010FC1815044506FFE00018FBF815044606FFE80000FC0015044706FFE80010FBF815044806FFE80010FC0815044906FFE80010FC080C0E
#データ内容
:charヘッダ:
800000000uint32中継機のシリアルID中継なし
CF4uint8LQI207/255
7F735uint16続き番号32627
82019E3B7uint32送信元のシリアルID0x2019E3B
0111uint8送信元の論理デバイスID0x01
8012uint8センサー種別
0513uint8PAL基板バージョンとPAL基板IDTWELITE CUE
0F14uint8センサーデータの数15
センサーデータ1
0015uint8情報ビット拡張バイトなしuint8
3416uint8データソースパケットプロパティ
0017uint8拡張バイトなし
0318uint8データ長3バイト
81350019[uint8]データID129、タイマイベント発生
センサーデータ2
1222uint8情報ビット拡張バイトありuint32
0523uint8データソースイベント
0424uint8拡張バイト加速度イベント
0425uint8データ長4バイト
0600000026uint32データサイコロ:6
センサーデータ3
1130uint8情報ビット拡張バイトありuint16
3031uint8データソース電圧
0832uint8拡張バイト電源電圧
0233uint8データ長2バイト
0B8634uint16データ2950mV
センサーデータ4
1136uint8情報ビット拡張バイトありuint16
3037uint8データソース電圧
0138uint8拡張バイトADC1の電圧
0239uint8データ長2バイト
042E40uint16データ1070mV
センサーデータ5
0042uint8情報ビット拡張バイトなしuint8
0043uint8データソース磁気
0044uint8拡張バイトなし
0145uint8データ長1バイト
8046uint8データ磁石なし(定期送信)
センサーデータ6
1547uint8情報ビット拡張バイトありint16
0448uint8データソース加速度データ
4049uint8拡張バイト100Hz, 0番サンプル
0650uint8データ長6バイト
FFF00010FC1851[int16]データX-16mG/Y16mG/Z-1000mG
センサーデータ7
1557uint8情報ビット拡張バイトありint16
0458uint8データソース加速度データ
4159uint8拡張バイト100Hz, 1番サンプル
0660uint8データ長6バイト
FFF00018FC1861[int16]データX-16mG/Y24mG/Z-1000mG
センサーデータ8
<省略>
センサーデータ15
15137uint8情報ビット拡張バイトありint16
04138uint8データソース加速度データ
49139uint8拡張バイト100Hz, 9番サンプル
06140uint8データ長6バイト
FFE80010FC08141int16データX-24mG/Y16mG/Z-1016mG
センサーデータの末端
0C147uint8チェックサム10x0C
0Euint8チェックサム20x0E
charフッタ'\r'
charフッタ'\n'

データの判別条件

親機・中継機アプリは、さまざまな種類の子機からデータを受信することができます。

出力されたデータがキューアプリ(TWELITE CUEモード)のものであるかを確認するには、次の箇所を参照してください。

#データ項目条件
0uint32中継機のシリアルIDMSBが1であること
7uint32送信元のシリアルIDMSBが1であること
12uint8センサー種別0x80であること
13uint8PAL基板バージョンとPAL基板ID0x05であること
--ペイロードのサイズ148バイトであること

パーサの実装例

開閉センサーパルモード

動作センサーパルモード(加速度計測モード)

動作センサーパルモード(ムーブ/ダイスモード)

データ形式

#データ内容備考
charヘッダ:のみ
0uint32中継機のシリアルID中継なしの場合80000000
4uint8LQI0-255
5uint16続き番号
7uint32送信元のシリアルID0x8???????
11uint8送信元の論理デバイスID
12uint8センサー種別0x80のみ
13uint8PAL基板バージョンとPAL基板ID0x03のみ
14uint8センサーデータの数04のみ
センサーデータ1
15uint8情報ビット0x00のみ
16uint8データソース0x34のみ
17uint8拡張バイト0x00のみ
18uint8データ長3のみ
19[uint8]データパケットプロパティデータ
センサーデータ2
22uint8情報ビット0x12のみ
23uint8データソース0x05のみ
24uint8拡張バイト0x04のみ
25uint8データ長4のみ
26uint32データイベントデータ
センサーデータ3
30uint8情報ビット0x11のみ
31uint8データソース0x30のみ
32uint8拡張バイト0x08のみ
33uint8データ長2のみ
34uint16データ電源電圧(mV)
センサーデータ4
36uint8情報ビット0x11のみ
37uint8データソース0x30のみ
38uint8拡張バイト0x01のみ
39uint8データ長2のみ
40uint16データADC1の電圧(mV)
センサーデータの末端
42uint8チェックサム1直前までのCRC8
uint8チェックサム2チェックサム1までのLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

出力データの例

ダイスモードの例を示します。ムーブモードの場合は、センサーデータ2イベントが異なります。

:80000000B400048106664801800304003400038035001205040403000000113008020D2011300102052C59B7
#データ内容
:charヘッダ:
800000000uint32中継機のシリアルID中継なし
B14uint8LQI177/255
00085uint16続き番号8
810666487uint32送信元のシリアルID0x2019E3B
0111uint8送信元の論理デバイスID0x1066648
8012uint8センサー種別
0313uint8PAL基板バージョンとPAL基板IDTWELITE CUE ダイス/ムーブ
0414uint8センサーデータの数4
センサーデータ1
0015uint8情報ビット拡張バイトなしuint8
3416uint8データソースパケットプロパティ
0017uint8拡張バイトなし
0318uint8データ長3バイト
80350019[uint8]データID128、イベント発生(他ADC1と電源のみ)
センサーデータ2
1222uint8情報ビット拡張バイトありuint32
0523uint8データソースイベント
0424uint8拡張バイト加速度イベント
0425uint8データ長4バイト
0300000026uint32データダイスモード、サイコロ:3
センサーデータ3
1130uint8情報ビット拡張バイトありuint16
3031uint8データソース電圧
0832uint8拡張バイト電源電圧
0233uint8データ長2バイト
0D2034uint16データ3360mV
センサーデータ4
1136uint8情報ビット拡張バイトありuint16
3037uint8データソース電圧
0138uint8拡張バイトADC1の電圧
0239uint8データ長2バイト
052C40uint16データ1324mV
センサーデータの末端
5942uint8チェックサム10x0C
B7uint8チェックサム20x0E
charフッタ'\r'
charフッタ'\n'

データの判別条件

親機・中継機アプリは、さまざまな種類の子機からデータを受信することができます。

出力されたデータがキューアプリ(動作センサーパルモードのムーブあるいはダイスモード)のものであるかを確認するには、次の箇所を参照してください。

#データ項目条件
0uint32中継機のシリアルIDMSBが1であること
7uint32送信元のシリアルIDMSBが1であること
12uint8センサー種別0x80であること
13uint8PAL基板バージョンとPAL基板ID0x03であること
--ペイロードのサイズ43バイトであること

パーサの実装例

1.1.4.3 - アリアアプリからの出力(親機・中継機アプリ)

アリアアプリからデータを受信した際の出力書式

TWELITE ARIA モード

データ形式

#データ内容備考
charヘッダ:のみ
0uint32中継機のシリアルID中継なしの場合80000000
4uint8LQI0-255
5uint16続き番号
7uint32送信元のシリアルID0x8???????
11uint8送信元の論理デバイスID
12uint8センサー種別0x80のみ
13uint8PAL基板バージョンとPAL基板ID0x06のみ
14uint8センサーデータの数7のみ
センサーデータ1
15uint8情報ビット0x00のみ
16uint8データソース0x34のみ
17uint8拡張バイト0x00のみ
18uint8データ長3のみ
19[uint8]データパケットプロパティデータ
センサーデータ2
22uint8情報ビット0x12のみ
23uint8データソース0x05のみ
24uint8拡張バイト0x35または0x00
25uint8データ長4のみ
26uint32データイベントデータ
センサーデータ3
30uint8情報ビット0x11のみ
31uint8データソース0x30のみ
32uint8拡張バイト0x08のみ
33uint8データ長2のみ
34uint16データ電源電圧(mV)
センサーデータ4
36uint8情報ビット0x11のみ
37uint8データソース0x30のみ
38uint8拡張バイト0x01のみ
39uint8データ長2のみ
40uint16データADC1の電圧(mV)
センサーデータ5
42uint8情報ビット0x00のみ
43uint8データソース0x00のみ
44uint8拡張バイト0x00のみ
45uint8データ長1のみ
46uint8データ磁気データ
センサーデータ6
47uint8情報ビット0x05のみ
48uint8データソース0x01のみ
49uint8拡張バイト0x00のみ
50uint8データ長2のみ
51int16データ温度データ
センサーデータ7
53uint8情報ビット0x01のみ
54uint8データソース0x02のみ
55uint8拡張バイト0x00のみ
56uint8データ長2のみ
57uint16データ湿度データ
センサーデータの末端
59uint8チェックサム1直前までのCRC8
uint8チェックサム2チェックサム1までのLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

出力データの例

:80000000CF00028201BAA201800607003400038135001205350401000000113008020D201130010204ED00000001800501000209D0010200020F347934[CR][LF]
#データ内容
:charヘッダ:
800000000uint32中継機のシリアルID中継なし
CF4uint8LQI207/255
00025uint16続き番号2
8201BAA27uint32送信元のシリアルID0x201BAA2
0111uint8送信元の論理デバイスID0x01
8012uint8センサー種別
0613uint8PAL基板バージョンとPAL基板IDTWELITE ARIA
0714uint8センサーデータの数7
センサーデータ1
0015uint8情報ビット拡張バイトなしuint8
3416uint8データソースパケットプロパティ
0017uint8拡張バイトなし
0318uint8データ長3バイト
81350019[uint8]データID129、タイマイベント発生
センサーデータ2
1222uint8情報ビット拡張バイトありuint32
0523uint8データソースイベント
3524uint8拡張バイトタイマイベント
0425uint8データ長4バイト
0100000026uint32データタイマによる起床
センサーデータ3
1130uint8情報ビット拡張バイトありuint16
3031uint8データソース電圧
0832uint8拡張バイト電源電圧
0233uint8データ長2バイト
0D2034uint16データ3360mV
センサーデータ4
1136uint8情報ビット拡張バイトありuint16
3037uint8データソース電圧
0138uint8拡張バイトADC1の電圧
0239uint8データ長2バイト
04ED40uint16データ1261mV
センサーデータ5
0042uint8情報ビット拡張バイトなしuint8
0043uint8データソース磁気
0044uint8拡張バイトなし
0145uint8データ長1バイト
8046uint8データ磁石なし(定期送信)
センサーデータ6
0547uint8情報ビット拡張バイトなしint16
0148uint8データソース温度
0049uint8拡張バイトなし
0250uint8データ長2バイト
09D051int16データ25.12°C
センサーデータ7
0153uint8情報ビット拡張バイトなしuint16
0254uint8データソース湿度
0055uint8拡張バイトなし
0256uint8データ長2バイト
0F3457uint16データ38.92%
センサーデータの末端
7959uint8チェックサム10x79
34uint8チェックサム20x34
charフッタ'\r'
charフッタ'\n'

データの判別条件

親機・中継機アプリは、さまざまな種類の子機からデータを受信することができます。

出力されたデータがアリアアプリ(TWELITE ARIAモード)のものであるかを確認するには、次の箇所を参照してください。

#データ項目条件
0uint32中継機のシリアルIDMSBが1であること
7uint32送信元のシリアルIDMSBが1であること
12uint8センサー種別0x80であること
13uint8PAL基板バージョンとPAL基板ID0x06であること
--ペイロードのサイズ60バイトであること

パーサの実装例

開閉センサーパルモード

1.1.4.4 - パル・キュー・アリアアプリからの出力の詳細(親機・中継機アプリ)

パル・キュー・アリアアプリに共通する出力書式の詳細
パル・キュー・アリアアプリの子機から受信したデータは、共通の書式に沿って出力されます。ここには、その詳細を記しています。それぞれの具体的な出力例は、各アプリのページをご覧ください。

全体

データ形式

#データ内容備考
charヘッダ:のみ
0uint32中継機のシリアルID中継なしの場合80000000
4uint8LQI0-255
5uint16続き番号
7uint32送信元のシリアルID0x8???????
11uint8送信元の論理デバイスID
12uint8センサー種別0x80のみ
13uint8PAL基板バージョンとPAL基板ID0x81など
14uint8センサーデータの数
15[uint8]センサーデータの羅列長さ\(N\)のバイト列
15+\(N\)uint8チェックサム1直前までのCRC8
uint8チェックサム2チェックサム1までのLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

出力データの例

:80000000A8001C82012B1E01808103113008020D0C1130010203E40000000101EC6E
#データ内容
:charヘッダ:
800000000uint32中継機のシリアルID中継なし
A84uint8LQI168/255
001C5uint16続き番号28
82012B1E7uint32送信元のシリアルID0x2012B1E
0111uint8送信元の論理デバイスID0x01
8012uint8センサー種別-
8113uint8PAL基板バージョンとPAL基板ID0x81
0314uint8センサーデータの数3
1130...010115[uint8]センサーデータの羅列長さ17のバイト列
EC15+17uint8チェックサム10xEC
6Euint8チェックサム20x6E
charフッタ'\r'
charフッタ'\n'

センサーデータ

データ形式

#データ内容備考
0uint8情報ビットデータの型や拡張バイトの有無
1uint8データソースセンサー値の種類
2uint8拡張バイトセンサー値の付加情報
3uint8データ長センサー値の長さ
4[uint8]データセンサー値

出力データの例

113008020D0C
#データ内容
110uint8情報ビット拡張バイトあり、uint16
301uint8データソース電圧
082uint8拡張バイト電源電圧
023uint8データ長2バイト
0D0C4[uint8]データ3340mV

情報ビット

センサー値のデータ型や拡張バイトの有無、読み込みエラーの有無を示します。

bit76543210
機能ERR--EXT-TYP:2TYP:1TYP:0

各機能は次の内容を示します。

機能説明内容
ERR読み込みエラーの有無0正常
1エラーあり
EXT拡張バイトの有無0拡張バイトなし
1拡張バイトあり
TYPデータ型000uint8
001uint16
010uint32
011N/A
100int8
101int16
110int32
111[uint8]

データソース

センサー値の種類を示します。

内容
0x00磁気
0x01温度
0x02湿度
0x03照度
0x04加速度
0x05イベント
0x30電圧
0x34パケットプロパティ

拡張バイト

連続データのインデックスなど、センサー値の付加情報を示します。

データソースが磁気/温度/湿度/照度/パケットプロパティの場合

なし

データソースが加速度の場合

加速度サンプルデータの属性を示します。

bit76543210
機能SFQ:2SFQ:1SFQ:0SNM:4SNM:3SNM:2SNM:1SNM:0

各機能は次の内容を示します。

機能説明内容
SFQサンプリング周波数0000x00|SNM25Hz
0010x20|SNM50Hz
0100x40|SNM100Hz
0110x60|SNM190Hz
100以上未定義
SNMサンプル番号0-31古い順

データソースがイベントの場合

イベントの発生要因を示します。

内容
0x00磁気
0x01温度
0x02湿度
0x03照度
0x04加速度
0x31デジタル入力
0x35タイマ

データソースが電圧の場合

対象を示します。

内容
0x01ADC1
0x02ADC2
0x03ADC3
0x04ADC4
0x08電源

データ長

続くデータのバイト数を示します。

データ

センサー値を表します。

データソースが磁気の場合

データ型はuint8です。

内容
0x00磁石なし
0x01N極が近づいた
0x02S極が近づいた
0x80磁石なし(定期送信)
0x81N極が近くにある(定期送信)
0x82S極が近くにある(定期送信)

データソースが温度の場合

データ型はint16です。

100倍されたセ氏の温度を表します。

データソースが湿度の場合

データ型はuint16です。

100倍された相対湿度を表します。

データソースが照度の場合

データ型はuint32です。

ルクスの値を表します。

データソースが加速度の場合

int16のデータが3つ続きます。

X,Y,Z軸の値(mG)の合計は6バイトです。

byte012345
内容X:15-8X:7-0Y:15-8Y:7-0Z:15-8Z:7-0

データソースがイベントの場合

uint8のデータが4つ続きます。

先頭のデータがイベントの内容を表し、残りは未使用です。

byte0123
内容使用未使用未使用未使用
拡張バイトが磁気の場合
先頭の値内容
0x00磁石なし
0x01N極が近くにある
0x02S極が近くにある
拡張バイトが加速度の場合
先頭の値内容
0x01サイコロ:1
0x02サイコロ:2
0x03サイコロ:3
0x04サイコロ:4
0x05サイコロ:5
0x06サイコロ:6
0x08シェイク
0x10ムーブ
拡張バイトがタイマの場合
先頭の値内容
0x01タイマによる起床

データソースが電圧の場合

データ型はuint16です。

mV単位の電圧を表します。

データソースがパケットプロパティの場合

uint8のデータが3つ続きます。

byte012
データパケットID起床要因の根源起床要因の条件

各データは次の内容を表します。

データ内容
パケットID0イベントなし、ADC1と電源の電圧のみ
1-127イベントなし、その他のデータあり
128イベントあり、ADC1と電源の電圧のみ
129-255イベントあり、その他のデータあり
起床要因の根源0x00磁気
0x01温度
0x02湿度
0x03照度
0x04加速度
0x31デジタル入力
0x35タイマ
起床要因の条件0x00イベントが発生した
0x01値が変化した
0x02値がしきい値を上回った
0x03値がしきい値を下回った
0x04値が範囲を満たした

1.1.5 - actからの出力(親機・中継機アプリ)

act からデータを受信した際の出力書式

act から受信したデータ

データ形式

#データ内容備考
charヘッダ:のみ
0uint8送信元の論理デバイスID
1uint8コマンド種別0xAAのみ
2uint8応答ID0x00-0x7F
3uint32送信元のシリアルID
7uint32送信先のシリアルID論理デバイスID指定時は00000000
11uint8LQI0-255
12uint16データのバイト数
14[uint8]任意のデータ長さ\(N\)のバイト列
uint8チェックサムLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

出力データの例

:FEAA008201015A00000000B7000F424154310F0CEE000B03FF03FF03FF92
#データ内容
:charヘッダ:
FE0uint8送信元の論理デバイスID0xFE
AA1uint8コマンド種別0xAA
002uint8応答ID0x00
8201015A3uint32送信元のシリアルID0x201015A
000000007uint32送信先のシリアルID論理デバイスID指定
B711uint8LQI183/255
000F12uint16データのバイト数15バイト
424154310F0CEE000B03FF03FF03FF14[uint8]任意のデータそのまま
92uint8チェックサム0x92
charフッタ\r
charフッタ\n

1.1.6 - 無線タグアプリからの出力(親機・中継機アプリ)

無線タグアプリからデータを受信した際の出力書式
子機へ主なセンサーを接続した際の出力を記載します。

アナログセンサー

データ形式

#データ内容備考
charヘッダ:のみ
0uint32中継機のシリアルID中継なしは80000000
4uint8LQI0-255
5uint16続き番号
7uint32送信元のシリアルID
11uint8送信元の論理デバイスID
12uint8センサー種別
13uint8電源電圧(mV)電源電圧の計算を参照
14uint16ADC1の電圧
16uint16ADC2の電圧
18uint32未使用
22uint8チェックサム

出力データの例

:80000000B700628201015A0010DF08FD09A300000000E9
#データ内容
:charヘッダ:
800000000uint32中継機のシリアルID中継なし
B74uint8LQI183/255
00625uint16続き番号98
8201015A7uint32送信元のシリアルID0x201015A
0011uint8送信元の論理デバイスID0x00
1012uint8センサー種別アナログセンサー
DF13uint8電源電圧(mV)3330mV
08FD14uint16ADC1の電圧2301mV
09A316uint16ADC2の電圧2467mV
0000000018uint32未使用
E922uint8チェックサム0xE9
charフッタ\r
charフッタ\n

加速度センサー(ADXL34x / TWELITE 2525A)

データ形式

#データ内容備考
charヘッダ:のみ
0uint32中継機のシリアルID中継なしは80000000
4uint8LQI0-255
5uint16続き番号
7uint32送信元のシリアルID
11uint8送信元の論理デバイスID
12uint8センサー種別
13uint8電源電圧(mV)電源電圧の計算を参照
14uint16ADC1の電圧
16uint16ADC2の電圧
18uint8センサーモード番号
19int16X軸の加速度単位はmG*10
21int16Y軸の加速度単位はmG*10
23int16Z軸の加速度単位はmG*10
25uint8チェックサム

出力データの例

:8000000063001781013C850035DF057702F2000000FF96FFF0BB
#データ内容
:charヘッダ:
800000000uint32中継機のシリアルID中継なし
634uint8LQI99/255
00175uint16続き番号23
81013C857uint32送信元のシリアルID0x1013C85
0011uint8送信元の論理デバイスID0x00
3512uint8センサー種別加速度センサー(ADXL34x)
DF13uint8電源電圧(mV)3330mV
057714uint16ADC1の電圧1399mV
02F216uint16ADC2の電圧754mV
0018uint8センサーモード番号通常
000019int16X軸の加速度0mG
FF9621int16Y軸の加速度-1060mG
FFF023int16Z軸の加速度-160mG
BB25uint8チェックサム0xBB
charフッタ\r
charフッタ\n

スイッチ

データ形式

#データ内容備考
charヘッダ:のみ
0uint32中継機のシリアルID中継なしは80000000
4uint8LQI0-255
5uint16続き番号
7uint32送信元のシリアルID
11uint8送信元の論理デバイスID
12uint8センサー種別
13uint8電源電圧(mV)電源電圧の計算を参照
14uint16ADC1の電圧
16uint16ADC2の電圧
18uint8センサーモード番号0がHi→Lo、1がLo→Hi
19uint8DI1の状態1がLo
20uint8未使用
21uint8チェックサム

出力データの例

:800000009C00118201015A00FEDF000709A300010064
#データ内容
:charヘッダ
800000000uint32中継機のシリアルID中継なし
9C4uint8LQI156/255
00625uint16続き番号98
8201015A7uint32送信元のシリアルID0x201015A
0011uint8送信元の論理デバイスID0x00
FE12uint8センサー種別スイッチ
DF13uint8電源電圧(mV)3330mV
000714uint16ADC1の電圧7mV
09A316uint16ADC2の電圧2467mV
0018uint8センサーモード番号Hi→Lo
0119uint8DI1の状態Lo
0020uint8未使用
6421uint8チェックサム0x64
charフッタ\r
charフッタ\n

電源電圧の計算

電源電圧 \(V_{cc}\) は、受信した値 \(e_{cc}\) を使って次のように表すことができます。

$$\begin{cases} V_{cc} = 1950+5e_{cc} & (e_{cc} <= 170) \\ V_{cc} = 2800+10(e_{cc}-170) & (e_{cc} > 170) \end{cases}$$

単位は mV

1.2 - 親機・中継機アプリの送信コマンド

子機へデータを送信する際の入力

既定の書式でシリアルポートから入力されたコマンドを子機へ送信します。

1.2.1 - 超簡単!標準アプリへの入力(親機・中継機アプリ)

超簡単!標準アプリの出力を制御するためのコマンド
超簡単!標準アプリの出力を制御できます。

デジタル・アナログ入出力

0x80:相手端末の出力変更

相手端末の出力信号を制御します。

データ形式

#データ内容備考
charヘッダ:のみ
0uint8送信先の論理デバイスID親機0x00,子機0x01-0x64,全子機0x78
1uint8コマンド番号0x80のみ
2uint8書式バージョン0x01のみ
3uint8デジタル信号LSBからDOxに対応、0でHigh
4uint8デジタル信号マスクLSBからDOxに対応、1で有効
5uint16PWM1信号0-1024,0xFFFFで無効
7uint16PWM2信号0-1024,0xFFFFで無効
9uint16PWM3信号0-1024,0xFFFFで無効
11uint16PWM4信号0-1024,0xFFFFで無効
uint8チェックサムLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

1.2.2 - シリアル通信アプリへの入力(親機・中継機アプリ)

シリアル通信アプリへデータを送信するコマンド
シリアル通信アプリの子機へデータを送信できます(書式モード、簡易形式)

UART

書式モード:アスキー・簡易形式

App_Wings v1.3 以降では、書式モード(A)の簡易形式に対応しています。

データ形式

#データ内容備考
charヘッダ:のみ
0uint8送信先の論理デバイスID親機0x00,子機0x01-0x64,全子機0x78
1uint8コマンド番号0x80未満の任意の値
2[uint8]任意のデータ長さ\(N\)のバイト列(\(N\leqq80\)を推奨)
uint8チェックサムLRC8
charフッタCR (0x0D/'\r')
charフッタLF (0x0A/'\n')

1.2.3 - パルアプリ(通知パル)への入力(親機・中継機アプリ)

通知パルのLEDを制御するためのコマンド
通知パルのLEDを制御できます。
:0190010004000169[CR][LF]
 ^1^2^3^^^^^^^4^5
番号バイト数意味データ例備考
11送信先の論理デバイスID01

送信先のTWELITE PALの論理デバイスIDを指定します。
0x01から0x64まで指定可能です。

21コマンド種別90
31コマンドパラメータ数01コマンドパラメータの数を指定します。例えば、コマンドパラメータを1つだけ指定するなら1に、2つ指定するには2にします。
4コマンド数x4コマンドパラメータ00040001

イベントやLEDの色などを指定するためのパラメータを指定します。
詳細はコマンドパラメータを参照してください。

51チェックサム69

1~4の各バイトの和を8ビット幅で計算し2の補数をとります。つまりデータ部の各バイトの総和+チェックサムバイトを8ビット幅で計算すると0になります。
チェックサムバイトをアスキー文字列2文字で表現します。
例えば 00A01301FF123456 では 0x00 + 0xA0 + … + 0x56 = 0x4F となり、この二の補数は0xB1 です。(つまり 0x4F + 0xB1 = 0)
チェックサムをXにすることでチェックサムを省略可能です。

62フッター[CR][LF][CR] (0x0D) [LF] (0x0A) を指定します。ただし、チェックサムをXで省略する場合はフッターも省略可能です。

コマンドパラメータ

4バイトのコマンドパラメータを組み合わせてコマンドを指定します。

0x00:イベントIDを送信する

TWELITE PALは受信したイベントIDごとの振る舞いが設定されております。 本パラメータでは送信先のTWELITE PALにイベントIDを送信し、設定した動作を行います。

番号バイト数内容備考
11コマンドパラメータID0x00
21送信先PAL ID

送信先のPAL IDを指定します。
0x04:通知パル
0xFF:すべてのTWELITE PAL

31未使用領域0x00固定
41イベントID0~16までのイベントIDを指定します。

0x01 : LEDの色、点滅パターン、明るさを送信する

送信先の通知パルにLEDの色、点滅パターン、明るさを送信します。

番号バイト数内容備考
11コマンドパラメータID0x01
21


0:赤
1:緑
2:青
3:黄色
4:紫
5:水色
6:白
7:暖かい白

31点滅パターン

0:常時点灯
1~3:点滅パターン(数値が大きくなるほど点滅が早くなる。)

41明るさ

0:消灯
0x01~0x0F:明るさ(数値が大きいほど明るくなる。)

0x02 : 点灯時間を送信する

通知パルのLEDの点灯時間を送信します。

番号バイト数内容備考
11コマンドパラメータID0x02
21

未使用領域

0xFF固定
31未使用領域0x00固定
41点灯時間秒で指定(0は常時点灯)

0x03:LEDの色をRGBWで指定する

通知パルのLEDの点灯色をRGBWで送信します。

番号バイト数内容備考
11コマンドパラメータID0x03
21

未使用領域

0xFF固定
32LEDの点灯色

LSBからRGBWの順番で4ビットずつ指定する。

数値が大きいほど明るい

0x04:点滅パラメータを指定する。

通知パルのLEDの点滅周期と点滅Dutyを送信します。

番号バイト数内容備考
11コマンドパラメータID0x04
21

未使用領域

0xFF固定
31点滅時間の割合

0x00~0xFFで指定する。

数値が大きいほど1周期当たりの点灯時間が長くなる。

1周期の半分だけ点灯させるには0x7Fを指定する。

41点滅周期

0x00~0xFFで指定する。

設定値が1大きくなるごとに点滅の周期が約0.04sずつ増える。

1周期1秒にするには0x17を指定する。

コマンド例

例1:イベントを送信する

論理デバイスIDが1のNOTICE PALに対してイベント1を送信するコマンド例です。

:0190010004000169
 ^1^2^3^4^5^6^7^8
番号バイト数意味データ例データ例の内容備考
11送信先の論理デバイスID01送信先の論理デバイスIDは0x01
21コマンド種別900x90コマンド90固定
31コマンド数01コマンドは1個
41コマンドID00コマンド00
51送信先PAL ID04通知パルに対して送信する
61未使用領域00
71イベントID01イベント10x00~0x10まで
81チェックサム69

例2:通知パルのLEDの点灯色を送信する

論理デバイスIDが1のNOTICE PALに対して明るさ8で白色にゆっくり点滅させるためのコマンドです。

:019001010601085E
 ^1^2^3^4^5^6^7^8
番号バイト数意味データ例データ例の内容備考
11送信先の論理デバイスID01送信先の論理デバイスIDは0x01
21コマンド種別900x90コマンド90固定
31コマンド数01コマンドは1個
41コマンドパラメータID01コマンドパラメータID 0x01
5106
61点滅パターン01点滅
71明るさ08明るさ80x00~0x0Fまで
81チェックサム5E

例3:通知パルのLEDの点灯色と点灯時間を送信する

論理デバイスIDが1のNOTICE PALに対して紫に点灯させ、点灯後1秒で消灯させるコマンドです。

:0190020104000802FF00015E
 ^1^2^3^4^5^6^7^8^9^a^b^c
番号バイト数意味データ例データ例の内容備考
11送信先の論理デバイスID01送信先の論理デバイスIDは0x01
21コマンド種別900x90コマンド90固定
31コマンド数02コマンドは2個
41コマンドパラメータID01コマンドパラメータID 0x01
5104
61点滅パターン00点灯
71明るさ08明るさ80x00~0x0Fまで
81コマンドパラメータID02コマンドパラメータID 0x02
91未使用領域FF
a1未使用領域00
b1点灯時間01点灯後1秒で消える
c1チェックサム5E

例4:通知パルに詳細な点灯色を送信する

論理デバイスIDが1のNOTICE PALに対して紫に点灯させるコマンドです。

:01900103FF0F0459
 ^1^2^3^4^5^^^6^7
番号バイト数意味データ例データ例の内容備考
11送信先の論理デバイスID01送信先の論理デバイスIDは0x01
21コマンド種別900x90コマンド90固定
31コマンド数01コマンドは2個
41コマンドパラメータID03コマンドパラメータID 0x03
51未使用FF
62LEDの点灯色0F04青:15、赤4の明るさで点灯させる。

LSBからRGBWの順番で各色4bitずつ(0~15)で指定する。

数値が大きいほど明るい

71チェックサム59

例5:通知パルのLEDの点灯色と点灯時間を送信する

論理デバイスIDが1のNOTICE PALに対して紫に点灯させ、点灯後1秒で消灯させるコマンドです。

:0190020104000802FF00015E
 ^1^2^3^4^5^6^7^8^9^a^b^c
番号バイト数意味データ例データ例の内容備考
11送信先の論理デバイスID01送信先の論理デバイスIDは0x01
21コマンド種別900x90コマンド90固定
31コマンド数02コマンドは2個
41コマンドパラメータID01コマンドパラメータID 0x01
5104
61点滅パターン00点灯
71明るさ08明るさ80x00~0x0Fまで
81コマンドパラメータID02コマンドパラメータID 0x02
91未使用領域FF
a1未使用領域00
b1点灯時間01点灯後1秒で消える
c1チェックサム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
中継機1810E18E8810F155E (親機のSID)※1
中継機2810F17FF810E18E8 (中継機1のSID)2

※上図の壁による影響のみに対処したい場合は設定不要です。