パルスクリプト
受信したシリアルデータを解釈するためのPythonのサンプルスクリプトです。
BLUE PAL/RED PAL、TWELITE CUE、TWELITE ARIAから送信された各種センサーの情報や各端末ごとの電源電圧、電波強度などを辞書オブジェクトで受け取ることができます。
ダウンロード
- Ver. 1.2.1 ソースコード
- Windows用実行バイナリを追加
- Ver. 1.2.0 ソースコード
- TWELITE ARIAに対応
- Teraterm等で出力したログファイルからCSVファイルに変換する機能の追加
- Ver. 1.1.0 ソースコード
- TWELITE CUEに対応
- Ver. 1.0.1 ソースコード
- 動作センサーパルに対応
- Ver. 1.0.0 ソースコード
- 初回リリース版
用意するもの
- 子機: 以下のどれかを用意する
- MONOSTICK-モノスティック
- アプリ(App_PAL-Parent-xxx-MONOSTICK.bin)インストール
- パソコン
PCの準備
Windowsで使用する場合
下記のインストール手順はOSがWindowsの場合の一例です。
各種ライブラリのドキュメントをご覧の上、必要なソフトウェアおよびライブラリをインストールしてください。
-
下記ページよりPythonの最新版をダウンロードしインストールする。
https://www.python.org/downloads/
その時、下図の枠で囲まれている部分にチェックを入れること
もしくはPythonのインストール先にPathを通すこと。
- コマンドプロンプトを立ち上げ、下記コマンドを入力しpyserialをインストールする。
> pip install pyserial
Linux(Ubuntu/RaspberryPi OSなど)で使用する場合
下記のインストール手順はOSがLinuxの場合の一例です。
各種ライブラリのドキュメントをご覧の上、必要なソフトウェアおよびライブラリをインストールしてください。
-
ターミナルを起動し、下記コマンドでPython3をインストールする。
以下のコマンドはDebian系のOS(Ubuntu/Raspberry Pi OSなど)の場合のコマンドです。そのほかのLinuxで本スクリプトを使用する場合は、そのOSのインストールコマンドをご使用ください。$ sudo apt update $ sudo apt install python3
-
コマンドプロンプトを立ち上げ、下記コマンドを入力しpyserialをインストールする。
$ sudo pip3 install pyserial
子機の準備
TWELITE PAL
- BLUE PAL/RED PALにSENSE PALを接続する。
- TWELITE R2/R3を接続し、インタラクティブモードで以下のように設定する。
- TWELITE R2/R3を外す。
- BLUE PAL/RED PALの電池ホルダーにコイン型電池(CR2032)を挿入する。
--- CONFIG/App_PAL V1-00-0/SID=0x810ea91d/LID=0x00/RC=8901/ST=0 --- a: set Application ID (0x67720102) ← 親機に合わせる i: set Device ID (--) c: set Channels (18) ← 親機に合わせる x: set Tx Power (13) b: set UART baud (38400) B: set UART option (8N1) k: set Enc Key (0xA5A5A5A5) o: set Option Bits (0x00000001) t: set Transmission Interval (60) p: set Senser Parameter (0x00000000) e: set Event Parameter(s) (0180002A0208002A0300802A0488002A0580802A0608802A0880000A1008000A) --- S: save Configuration R: reset to Defaults
TWELITE CUE/ARIA
- TWELITE CUE/ARIAの電池ホルダーにコイン型電池(CR2032)を挿入する。
MONOSTICKの準備
- MONOSTICKのアプリ(App_Wings-xxx-MONOSTICK.bin)を書き換える。
- MONOSTICKをリセットもしくはUSBポートに差しなおす。
スクリプトの実行方法
MONOSTICKのCOMポートがCOM6の場合、ターミナルで下記コマンドを実行すると下記のようなデータが出力されます。(Teratermが接続された状態では起動できません。)
> cd C:\PAL_Script > python PAL_Script.py -t COM6 *** MONOWIRELESS App_PAL_Viewer 1.2.0 *** *** Open COM6 *** Receive Time: 2021/12/17 17:14:29.859 Logical ID: 0x01 Serial ID: 0x810A63A4 Power: 3410 mV Sensor: TWELITE-ARIA HALLIC: 128 Temperature: 24.53 degC Humidity: 36.69 % …
スクリプトを終了させるにはターミナルに'Ctrl+C'を入力してください。
スクリプトの引数
スクリプト実行時に以下の引数を使用できます。
引数:-h
機能:コマンドライン引数の一覧を表示
使用例:python PAL_Script.py -h
引数:-t
機能:MONOSTICKが使用するポート名を指定
設定項目:MONOSTICKのポート名
初期値:Windowsの場合:COM3、Linuxなどの場合:/dev/ttyUSB0
使用例:python PAL_Script.py -t COM6
引数:-b
機能:MONOSTICKが使用するポートのボーレートを指定
設定項目:MONOSTICKのボーレート
初期値:115200
使用例:python PAL_Script.py -t COM6 -b 115200
引数:-l
機能:CSV形式のログを出力
使用例:python PAL_Script.py -t COM6 -l
備考:同一ディレクトリ内にCSVファイルが生成される。
ファイル名はAppPAL_シリアル番号_PAL_YYYYMMDD.csv
CSVファイルの読み方は下記表の通りです。
見出し | 値の説明 | 単位 |
---|---|---|
LogicalID | 子機の論理デバイスID | - |
EndDeviceSID | 子機のシリアルナンバー | - |
LQI | LQI | - |
Power | 電源電圧 | mV |
ADC* | 電圧 | mV |
HALLIC | マグネットセンサーの状態 | - |
Temperature | 温度 | ℃ |
Humidity | 湿度 | % |
Illuminance | 照度 | Lux |
AccelerationX AccelerationY AccelerationZ | 加速度 | g |
引数: -f
機能: テキストファイルの読み込み
設定項目: 読み込むファイル名
備考: Teratermなどで取ったMONOSTICKの出力のログ(テキストデータ)を読み込んで、ターミナルやCSVに出力することができます。
使用例: python PAL_Script -f log.txt -l