アリアアプリからの出力(親機・中継機アプリ)
アリアアプリからデータを受信した際の出力書式
TWELITE ARIA モード
以前はここにPythonを使って解釈する方法を記載していましたが、現在は公式ライブラリを配布しています。
MWings for Python をご利用ください。
データ形式
| # | データ | 内容 | 備考 |
|---|---|---|---|
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 | データ | 3360mV |
| センサーデータ4 | ||||
11 | 36 | uint8 | 情報ビット | 拡張バイトありuint16 |
30 | 37 | uint8 | データソース | 電圧 |
01 | 38 | uint8 | 拡張バイト | ADC1の電圧 |
02 | 39 | uint8 | データ長 | 2バイト |
04ED | 40 | uint16 | データ | 1261mV |
| センサーデータ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++)
開閉センサーパルモード
開閉センサーパルモードの場合は、開閉センサーパルの子機における出力と同一です。