パルスクリプト

TWELITE PALシリーズのデータを受信したときに出力されたシリアルデータを解釈するためのPythonのサンプルスクリプトです。

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

ダウンロード

用意するもの

PCの準備

  1. 上記ダウンロードよりダウンロードしたアーカイブをわかりやすいフォルダ(例えばC:\) に解凍する。
  2. 下記WebページよりPCの環境にあったAnacondaをダウンロードし、インストールする。
    https://www.anaconda.com/download/
    Anacondaをインストールしたくない場合は”Anacondaをインストールしない場合”を参照
  3. Anaconda Promptを立ち上げ、下記コマンドを実行しpyserialをインストールする。
    (Windowsの場合、Anaconda Promptは スタートメニュー → Anaconda3 内にあるのでそちらから立ち上げること。)
    > pip install pyserial
    

Anacondaをインストールしない場合

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

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

    その時、下図の枠で囲まれている部分にチェックを入れること
    もしくはPythonのインストール先にPathを通すこと。
  2. コマンドプロンプトを立ち上げ、下記コマンドを入力しpyserialをインストールする。

    > pip install pyserial
    

TWELITE PALの準備

  1. BLUE PAL/RED PALにSENSE PALを接続する。
  2. BLUE PAL/RED PALの電池ホルダーにコイン型電池(CR2032)を挿入する。

MONOSTICKの準備

  1. MONOSTICKのアプリ(App_PAL-Parent-xxx-MONOSTICK.bin)を書き換える。
  2. MONOSTICKをリセットもしくはUSBポートに差しなおす。

スクリプトの実行方法

MONOSTICKのCOMポートがCOM6の場合、Anaconda Promptで下記コマンドを実行すると下記のようなデータが出力されます。(Teratermが接続された状態では起動できません。)

> cd C:\PAL_Script
> python PAL_Script.py -t COM6
*** MONOWIRELESS App_PAL_Viewer 1.0.0 ***
{'ArriveTime': datetime.datetime(2018, 12, 25, 12, 16, 15, 148718), 'LogicalID': 6, 'EndDeviceSID': '82012395', 'RouterSID': '80000000', 'LQI': 114, 'SequenceNumber': 3185, 'Sensor': 128, 'PALID': 1, 'PALVersion': 1, 'Power': 2705, 'ADC1': 829, 'HALLIC': 129}
{'ArriveTime': datetime.datetime(2018, 12, 25, 12, 16, 19, 548512), 'LogicalID': 4, 'EndDeviceSID': '82012CD4', 'RouterSID': '80000000', 'LQI': 84, 'SequenceNumber': 10550, 'Sensor': 128, 'PALID': 2, 'PALVersion': 1, 'Power': 2600, 'ADC1': 791, 'Temperature': 27.2, 'Humidity': 20.9, 'Illuminance': 502}
…

スクリプトを終了させるにはAnaconda Promptで'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