アリアアプリ
App_ARIA
TWELITE ARIAには温湿度センサーと磁気センサーが搭載されており、両方のセンサーのデータも出力メッセージに含まれます。
このページでは出力メッセージからそれらのセンサーデータの読み方について解説します。
センサーデータの簡易的な読み方
以下のご案内はTWELITE ARIAモード時のご案内です。
開閉センサーパルモードの場合はこちらをご確認ください。
下記のデータ羅列は、: に始まり改行コードまでの16進数データをテキストで表現したものです。
上記は逐次解釈する書式ですので、厳密に解釈するのは煩雑です。
データの詳細情報はこちらをご参照ください。
そのため、各センサーの値の場所とその抽出例をご説明します。 その際、: を 0 文字目とします。
データの位置の表記法
以下の説明では、データの位置を示す際、Pythonのリストの指定の表記ような以下の書式でご案内します。
例えば、15文字目から4文字を指定する場合は、以下のように表記します。
温湿度センサー
温度などのセンサーデータは103文字目から118文字目までに含まれております。 各データの位置やデータ形式は以下の通りです。
磁気センサー
磁気センサーは93文字目から2文字分です。 磁気センサーは下表の値を出力します。
磁気センサーデータ | 意味 |
---|---|
磁気センサーのデータ | 意味 |
00 | 磁石が遠ざかった。 |
01 | 磁石のN極が近づいた。 |
02 | 磁石のS極が近づいた。 |
80 | 磁石が近くにない。(タイマーによる定期送信) |
81 | 磁石のN極が近くにある。(タイマーによる定期送信) |
82 | 磁石がS極が近くにある。(タイマーによる定期送信) |
例えば、磁石が近くにない状態から、磁石(N極)が一定期間センサーの近くにある場合、以下のように磁気センサーの値が変化します。磁石(N極)が一定期間センサーの近くにある場合、以下のように磁気センサーの値が変化します。
※ 多くの場合は磁石のN極を検出したときに01になりますが、設置環境によっては、出力値が一定期間安定せず、02や稀に00が出力される場合があります。
また、磁石が近くにあるかだけ知りたい場合は、94文字目だけ確認し、0だったら磁石が近くにない、1または2の時は磁石が近くにあると判定します。
センサーのデータの抽出例
以下は、温湿度と磁気センサーのデータを取得するPythonの対話モードでの実行例です。 出力メッセージから、温度、湿度、照度の文字列を取り出し、数値に変換します。その際、そのままだと符号無の数値ですので、温度は符号付の数値に変換します。 そのあと、センサーのデータを出力しますが、温度と湿度データは100倍されたデータですので、出力時に100で割った値を出力しています。 また、磁気センサーのデータをシリアル出力から抜き出し、上表に従って磁気センサーが検出している状態に変換し、加速度データと磁気センサーの情報を標準出力しております。
アドレスなどのセンサー以外のデータ
出力メッセージは、センサーのデータ以外に以下の情報が含まれております。
TWELITE ARIAのデータの判別方法
親機・中継機アプリはTWELITE PALからだけではなく、様々なアプリのデータを受信することができるので、出力メッセージがどのアプリの出力か区別する必要があります。 TWELITE ARIAの出力メッセージは、改行コード抜きで123文字(改行コードありでは125文字)で、ほかのセンサーパルなどのデータとは文字数が違うため、文字数で見分けると簡単です。 ただし、シリアル通信アプリなどのように受信メッセージの文字数が決まっていないものもありますので、文字数だけでは見分けられない場合があります。
より厳密に区別するには、文字数と以下の項目を確認してください。
1文字目が8であること
15文字目が8であること
25、26文字目が '80' であること
27、28文字目が '06' であること
TWELITE ARIAモード
出力例
意味 | バイト数 | データ例 | 備考 | |
1 | 中継機シリアルID | 4 | 80000000 | 中継されていない場合は80000000 |
2 | LQI | 1 | CF | 大きいほど電波品質が良い |
3 | 続き番号 | 2 | 0002 | |
4 | 送信元シリアルID | 4 | 8201BAA2 | |
5 | 送信元LID | 1 | 01 | |
6 | センサー種別 | 1 | 80 | TWELITE ARIAは80固定 |
7 | PAL ID | 1 | 06 | TWELITE ARIAモードは06 |
8 | センサーデータ数 | 1 | 07 | |
9 | センサーデータ0(ヘッダ) | 4 | 00340003 | 拡張バイトなし、符号なし1バイト、パケットプロパティが3バイト |
a | センサーデータ0 | 3 | 813500 | タイマーイベントで送信した |
b | センサーデータ1(ヘッダ) | 4 | 12053504 | 拡張バイトあり、符号なしLong、タイマーイベント情報 |
c | センサーデータ1 | 4 | 01000000 | タイマーが起床させた |
d | センサーデータ2(ヘッダ) | 4 | 11300802 | 符号なし2バイト、電源電圧 |
e | センサーデータ2 | 2 | 0D20 | 3360mV |
f | センサーデータ3(ヘッダ) | 4 | 11300102 | 符号なし2バイト、ADC1 |
g | センサーデータ3 | 2 | 04ED | 1261mV |
h | センサーデータ4(ヘッダ) | 4 | 00000001 | 拡張バイトなし、符号なし1バイト、磁気センサー |
i | センサーデータ4 | 1 | 80 | 変化なし、オープン (00: 磁石が離れた。 01: N極が近づいた 02: S局が近づいた 80: 変化なし(磁石なし) 81: 変化なし(N極が近くにある) 82: 変化なし(S極が近くにある)) |
j | センサーデータ5(ヘッダ) | 4 | 05010002 | 拡張バイトなし、符号あり2バイト、温度 |
k | センサーデータ5 | 2 | 09D0 | 25.12℃ |
l | センサーデータ6(ヘッダ) | 4 | 01020002 | 拡張バイトなし、符号なし2バイト、湿度 |
m | センサーデータ6 | 2 | 0F34 | 38.92% |
n | チェックサム1 | 1 | 79 | 1~mまでのLRC |
o | チェックサム2 | 1 | 34 | 1~nまでのCRC8 |
最終更新