apppal.py
読み込んだバイト列を解釈して辞書オブジェクトに登録するクラス
Class AppPAL
AppBaseを継承し、得られたペイロードを解釈して、使いやすいデータに変換して、辞書オブジェクトに登録するクラスです。
定義するときのパラメータ
初期値が設定されているものは指定不要。
| 変数名 | 型 | 初期値 | 内容 |
|---|---|---|---|
| port | string | None | 開くシリアルポート名 例:COM3、/dev/ttyUSB0 など |
| baud | int | 115200 | ボーレート |
| tout | float | 0.1 | シリアル通信するときのタイムアウト時間(秒) |
| sformat | string | Ascii | 本設定値はAsciiで固定 |
| autolog | boolean | False | ペイロードが解釈出来たときに自動でCSVファイルにログを出力する場合はTrue |
| err | boolean | False | エラーメッセージを出力する場合はTrue |
ReadSensorData()
本メソッドでペイロードを読み込んだら、 TWELITE PAL 親機の書式フォーマット に従ってそのペイロードの解釈を行います。
TWELITE PAL 親機の書式フォーマット (ASCII形式のみ) を解釈しています。多くはその定義に従います。
パラメータ
なし
戻り値
- データが読み込めた場合:
True - 読み込めなかった場合:
False
辞書オブジェクトに格納されたデータのキーは下記の通りです。
EventIDなどのデータの意味に関しては、こちらもご確認ください。
| キー | 型 | 内容 |
|---|---|---|
| ArriveTime | datetime | ペイロードを得たときの時間 |
| LogicalID | int | 子機の論理デバイスID |
| EndDeviceSID | int | 子機のシリアル番号 |
| RouterSID | int | 最初に受信した中継機のシリアル番号 (親機が直接子機のパケットを受信した場合は0x80000000) |
| LQI | int | 受信電波品質 |
| SequenceNumber | int | パケットが送信されるごとにインクリメントされる続き番号 1からスタート、65535の次に0に戻る |
| Sensor | int | センサー種別(0x80で固定) |
| PALID | int | PAL基板ID |
| PALVersion | int | PAL基板バージョン |
| HALLIC | int | ホールICの状態 |
| Temperature | float | 温度(degC) |
| Humidity | float | 湿度(%) |
| Illuminance | int | 照度(lux) |
| AccelerationX | list,float | X軸の加速度(g) |
| AccelerationY | list,float | Y軸の加速度(g) |
| AccelerationZ | list,float | Z軸の加速度(g) |
| SamplingFrequency | int | 加速度のサンプリング周波数 |
| EventID | list,int | イベントの要因とイベントID |
| WakeupFactor | list,int | 起床した要因等のデータ |
OutputCSV()
辞書オブジェクトをCSVファイルに出力します。
パラメータ
なし
戻り値
なし