パルアプリ
App_PAL
センサーデータの簡易的な読み方
下記のデータ羅列は、: に始まり改行コードまでの16進数データをテキストで表現したものです。
データの詳細情報はこちらをご参照ください。
上記が逐次解釈する書式ですので、厳密に解釈するのが煩雑です。
そのため、以下に使用するセンサーパルごとのデータのある場所とその抽出例のコードを示します。 その際、: を 0 文字目とします。
データの位置の表記法
以下の説明では、データの位置を示す際、Pythonのリストの指定の表記ような以下の書式でご案内します。
例えば、15文字目から4文字を指定する場合は、以下のように表記します。
開閉センサーパル
開閉センサーパルからのデータを受信すると以下のような出力メッセージがシリアル出力されます。
磁気センサーのデータは63文字目から2文字分です。 磁気センサーは下表の値を出力します。
磁気センサーのデータ
意味
00
磁石が遠ざかった。
01
磁石のN極が近づいた。
02
磁石のS極が近づいた。
80
磁石が近くにない。(タイマーによる定期送信)
81
磁石のN極が近くにある。(タイマーによる定期送信)
82
磁石がS極が近くにある。(タイマーによる定期送信)
例えば、磁石が近くにない状態から、磁石(N極)が一定期間センサーの近くにある場合、以下のように磁気センサーの値が変化します。
※ 多くの場合は磁石のN極を検出したときに01になりますが、設置環境によっては、出力値が一定期間安定せず、02や稀に00が出力される場合があります。
また、磁石が近くにあるかだけ知りたい場合は、64文字目だけ確認し、0だったら磁石が近くにない、1または2の時は磁石が近くにあると判定します。
センサーのデータの抽出例
以下は磁気センサーの状態を抜き出すためのPythonの対話モードでの実行例です。 以下の例では、63文字目と64文字目を抜き出して数値に変換し、上表に従って磁気センサーが検出している状態に変換し、標準出力しております。
アドレスなどのセンサー以外のデータ
出力メッセージは、磁気センサーのデータ以外に以下の情報が含まれております。
開閉センサーパルのデータの判別方法
親機・中継機アプリはTWELITE PALからだけではなく、様々なアプリのデータを受信することができるので、出力されたデータがどのアプリのデータか区別する必要があります。 開閉センサーパルの出力メッセージは、改行コード抜きで69文字(改行コードありでは71文字)で、ほかのセンサーパルのデータとは文字数が違うため、文字数で見分けると簡単です。 ただし、シリアル通信アプリなどのように受信メッセージの文字数が決まっていないものもありますので、文字数だけでは見分けられない場合があります。
より厳密に区別するには、文字数と以下の項目を確認してください。
1文字目が8であること
15文字目が8であること
25、26文字目が '80' であること
27、28文字目が '81' であること
環境センサーパル
環境センサーパルからのデータを受信すると以下のような出力メッセージがシリアル出力されます。
温度などのセンサーデータは63文字目から94文字目までに含まれております。 各データの位置やデータ形式は以下の通りです。
以下は、環境センサーパルのデータを取得するためのPythonの対話モードでの実行例です。 出力メッセージから、温度、湿度、照度の文字列を取り出し、数値に変換します。その際、そのままだと符号無の数値ですので、温度は符号付の数値に変換します。 そのあと、センサーのデータを出力しますが、温度と湿度データは100倍されたデータですので、出力時に100で割った値を出力しています。
アドレスなどのセンサー以外のデータ
出力メッセージは、温湿度、照度センサーのデータ以外に以下の情報が含まれております。
環境センサーパルのデータの判別方法
親機・中継機アプリはTWELITE PALからだけではなく、様々なアプリのデータを受信することができるので、出力メッセージがどのアプリの出力か区別する必要があります。 環境センサーパルの出力メッセージは、改行コード抜きで99文字(改行コードありでは101文字)で、ほかのセンサーパルなどのデータとは文字数が違うため、文字数で見分けると簡単です。 ただし、シリアル通信アプリなどのように受信メッセージの文字数が決まっていないものもありますので、文字数だけでは見分けられない場合があります。
より厳密に区別するには、文字数と以下の項目を確認してください。
1文字目が8であること
15文字目が8であること
25、26文字目が '80' であること
27、28文字目が '82' であること
動作センサーパル
動作センサーパルからのデータを受信すると以下のような出力メッセージがシリアル出力されます。
加速度データは63文字目から時系列順でX、Y、Zに並んだ加速度が16個分格納されます。 加速度は、符号付整数で単位はmg(1重力加速度(g)の1/1000)です。 *データが12文字、ヘッダが8文字で、20文字ごとにデータが並びます。
以下は、1サンプル目の加速度を取得するためのPythonの対話モードでの実行例です。 出力メッセージから、1サンプル目の加速度の文字列を取り出し、数値に変換します。その際、そのままだと符号無の数値ですので、符号付の数値に変換します。 変換後、加速度データを出力します。
アドレスなどのセンサー以外のデータ
出力メッセージは、加速度センサーのデータ以外に以下の情報が含まれております。
動作センサーパルのデータの判別方法
親機・中継機アプリはTWELITE PALからだけではなく、様々なアプリのデータを受信することができるので、出力メッセージがどのアプリのデータか区別する必要があります。 動作センサーパルの出力メッセージは、改行コード抜きで379文字(改行コードありでは381文字)で、ほかのセンサーパルなどのデータとは文字数が違うため、文字数で見分けると簡単です。 ただし、シリアル通信アプリなどのように出力メッセージの文字数が決まっていないものもありますので、文字数だけでは見分けられない場合があります。
より厳密に区別するには、文字数と以下の項目を確認してください。
1文字目が8であること
15文字目が8であること
25、26文字目が '80' であること
27、28文字目が '83' であること
出力例
以下は、パルごとのデータの出力例です。
開閉センサーパル
番号
バイト数
意味
データ例
内容
備考
1
4
中継機のシリアルID
80000000
中継無し
2
1
LQI
A8
168
3
2
続き番号
001C
28
4
4
送信元のシリアルID
82012B1E
送信元のシリアルIDは2012B1E
5
1
送信元の論理デバイスID
01
送信元の論理デバイスIDは01
6
1
センサー種別
80
7
1
PAL基板バージョンとPAL基板ID
81
開閉センサーパル Ver.1
8
1
センサーデータの数
03
3つ
9
1
各種情報ビット値
11
拡張バイトあり 符号なしShort型
a
1
データソース
30
ADC
b
1
拡張バイト
08
電源電圧
c
1
データ長
02
2バイト
d
2
データ
0D0C
3340mV
e
1
各種情報ビット値
11
拡張バイトあり 符号なしShort型
f
1
データソース
30
ADC
g
1
拡張バイト
01
ADC1
h
1
データ長
02
2バイト
i
2
データ
03E4
996mV
j
1
各種情報ビット値
00
拡張バイトなし
符号なしChar型
k
1
データソース
00
磁気
l
1
拡張バイト
00
0
m
1
データ長
01
1バイト
n
1
データ
01
磁石(N極)が近づいた
00: 磁石が離れた。 01: N極が近づいた 02: S局が近づいた 80: 変化なし(磁石なし) 81: 変化なし(N極が近くにある) 82: 変化なし(S極が近くにある)
o
1
チェックサム1
EC
p
1
チェックサム2
6E
環境センサーパル
番号
バイト数
意味
データ例
内容
備考
1
4
中継機のシリアルID
80000000
中継無し
2
1
LQI
84
132
3
2
続き番号
811F
33055
4
4
送信元のシリアルID
810EFF6D
送信元のシリアルIDは810EFF6D
5
1
送信元の論理デバイスID
04
送信元の論理デバイスIDは04
6
1
センサー種別
80
7
1
PAL基板バージョンとPAL基板ID
82
環境センサーパル Ver.1
8
1
センサーデータの数
05
5つ
9
1
各種情報ビット値
11
拡張バイトあり 符号なしShort型
a
1
データソース
30
ADC
b
1
拡張バイト
08
電源電圧
c
1
データ長
02
2バイト
d
2
データ
0AEB
2795mV
e
1
各種情報ビット値
11
拡張バイトあり 符号なしShort型
f
1
データソース
30
ADC
g
1
拡張バイト
01
ADC1
h
1
データ長
02
2バイト
i
2
データ
035A
858mV
j
1
各種情報ビット値
05
拡張バイトなし
符号ありShort
k
1
データソース
01
温度
l
1
拡張バイト
00
0
m
1
データ長
02
2バイト
n
2
データ
09E3
25.31℃
o
1
各種情報ビット値
01
拡張バイトなし
符号なしShort
p
1
データソース
02
湿度
q
1
拡張バイト
00
0
r
1
データ長
02
2バイト
s
2
データ
0E3A
36.42%
t
1
各種情報ビット値
02
拡張バイトなし
符号ありLong
u
1
データソース
03
照度
v
1
拡張バイト
00
0
w
1
データ長
04
4バイト
x
4
データ
000001BE
446 lux
y
1
チェックサム1
6C
z
1
チェックサム2
00
動作センサーパル
出力例
番号
バイト数
意味
データ例
内容
備考
1
4
中継機のシリアルID
80000000
中継無し
2
1
LQI
BA
186
3
2
続き番号
0023
35
4
4
送信元のシリアルID
82011CEF
送信元のシリアルIDは82011CEF
5
1
送信元の論理デバイスID
01
送信元の論理デバイスIDは01
6
1
センサー種別
80
7
1
PAL基板バージョンとPAL基板ID
83
動作センサーパル Ver.1
8
1
センサーデータの数
12
18
9
1
各種情報ビット値
11
拡張バイトあり 符号なしShort型
a
1
データソース
30
ADC
b
1
拡張バイト
08
電源電圧
c
1
データ長
02
2バイト
d
2
データ
0D02
3330mV
e
1
各種情報ビット値
11
拡張バイトあり 符号なしShort型
f
1
データソース
30
ADC
g
1
拡張バイト
01
ADC1
h
1
データ長
02
2バイト
i
2
データ
055C
1372mV
j
1
各種情報ビット値
15
拡張バイトあり
符号ありShort
k
1
データソース
04
加速度
l
1
拡張バイト
40
サンプリング周波数 : 100Hz
0サンプル目
m
1
データ長
06
6バイト
n
2
データ
001000100450
X : 16mg
Y : 16mg
Z : 1104mg
o
1
各種情報ビット値
15
拡張バイトあり
符号ありShort
p
1
データソース
04
加速度
q
1
拡張バイト
41
サンプリング周波数 : 100Hz
1サンプル目
r
1
データ長
06
2バイト
s
2
データ
000800100430
X : 8mg
Y : 16mg
Z : 1072mg
...
t
1
各種情報ビット値
15
拡張バイトあり
符号ありShort
u
1
データソース
04
加速度
v
1
拡張バイト
4F
サンプリング周波数 : 100Hz
15サンプル目
w
1
データ長
06
6バイト
x
4
データ
000000180438
X : 0mg
Y : 24mg
Z : 1080mg
y
1
チェックサム1
28
z
1
チェックサム2
A5
通知パル
番号
バイト数
意味
データ例
データ例の内容
備考
1
4
中継機のシリアルID
80000000
中継無し
2
1
LQI
CQ
186
3
2
続き番号
BBC0
48064
4
4
送信元のシリアルID
82014C35
送信元のシリアルIDは82014C35
5
1
送信元の論理デバイスID
01
送信元の論理デバイスIDは01
6
1
センサー種別
80
7
1
PAL基板バージョンとPAL基板ID
84
通知パル Ver.1
8
1
センサーデータの数
03
3
9
1
各種情報ビット値
11
拡張バイトあり 符号なしShort型
a
1
データソース
30
ADC
b
1
拡張バイト
08
電源電圧
c
1
データ長
02
2バイト
d
2
データ
0D0C
3340mV
e
1
各種情報ビット値
11
拡張バイトあり 符号なしShort型
f
1
データソース
30
ADC
g
1
拡張バイト
01
ADC1
h
1
データ長
02
2バイト
i
2
データ
03F9
1017mV
j
1
各種情報ビット値
12
拡張バイトあり符号なしLong
k
1
データソース
05
イベント
l
1
拡張バイト
04
加速度によるイベント
m
1
データ長
04
4バイト
n
1
データ1
10
イベント0x10(16)が発生
加速度の場合 0x01(1)~0x06(6):さいころ 0x08(8):シェイク 0x10(16):タップ
o
3
データ2
000000
0
将来の拡張用。現在は未使用
p
1
チェックサム1
28
q
1
チェックサム2
A5
最終更新