/

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

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

書式モード:簡易形式

データ形式

#データ内容備考
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バイトであること

パーサの実装例