リモコンアプリからの出力(親機・中継機アプリ)
リモコンアプリからデータを受信した際の出力書式
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バイトであること(:とチェックサムの間) |