パルスクリプト

受信したシリアルデータを解釈するためのPythonのサンプルスクリプトです。

BLUE PAL/RED PAL、TWELITE CUE、TWELITE ARIAから送信された各種センサーの情報や各端末ごとの電源電圧、電波強度などを辞書オブジェクトで受け取ることができます。

ダウンロード

用意するもの

PCの準備

Windowsで使用する場合

下記のインストール手順はOSがWindowsの場合の一例です。
各種ライブラリのドキュメントをご覧の上、必要なソフトウェアおよびライブラリをインストールしてください。

  1. 下記ページよりPythonの最新版をダウンロードしインストールする。
    https://www.python.org/downloads/

    その時、下図の枠で囲まれている部分にチェックを入れること
    もしくはPythonのインストール先にPathを通すこと。
  2. コマンドプロンプトを立ち上げ、下記コマンドを入力しpyserialをインストールする。
    > pip install pyserial
Linux(Ubuntu/RaspberryPi OSなど)で使用する場合

下記のインストール手順はOSがLinuxの場合の一例です。
各種ライブラリのドキュメントをご覧の上、必要なソフトウェアおよびライブラリをインストールしてください。

  1. ターミナルを起動し、下記コマンドでPython3をインストールする。
    以下のコマンドはDebian系のOS(Ubuntu/Raspberry Pi OSなど)の場合のコマンドです。そのほかのLinuxで本スクリプトを使用する場合は、そのOSのインストールコマンドをご使用ください。
    $ sudo apt update
    $ sudo apt install python3
  2. コマンドプロンプトを立ち上げ、下記コマンドを入力しpyserialをインストールする。
    $ sudo pip3 install pyserial

子機の準備

TWELITE PAL

  1. BLUE PAL/RED PALにSENSE PALを接続する。
  2. TWELITE R2を接続し、インタラクティブモードで以下のように設定する。
  3. --- 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
  4. TWELITE R2を外す。
  5. BLUE PAL/RED PALの電池ホルダーにコイン型電池(CR2032)を挿入する。

TWELITE CUE/ARIA

  1. TWELITE CUE/ARIAの電池ホルダーにコイン型電池(CR2032)を挿入する。

MONOSTICKの準備

  1. MONOSTICKのアプリ(App_Wings-xxx-MONOSTICK.bin)を書き換える。
  2. 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

資料