グラフ描画スクリプト

説明動画 (再生時間:2分25秒)

TWELITE 2525A、TWELITE PAL + 動作センサーパル、TWELITE CUEで秒間100回(100Hz)の加速度計測ができます。

グラフ表示スクリプトを使用してTWELITE 2525A/PAL/CUEの動きをXYZ軸のグラフにし、パソコンに表示できます。CSV 形式でログを保存することもできます。

OTA

CR2032コイン型電池で50〜100時間程度連続動作します。(当社計算値による)

※ 本スクリプトは比較的、データの受信頻度が高いことが想定されるため、1台分のグラフのみ描画可能です。子機を複数使用したい場合は、子機と同数のMONOSTICKを用意していただき、それぞれ異なる通信チャネルを設定して、本スクリプトを親機の台数だけ起動してご使用ください。

ダウンロード

用意するもの

PCの準備

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

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

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

    > pip install pyserial
    > pip install pyqt5
    > pip install pyqtgraph
    

子機の準備

TWELITE 2525Aを使用する場合
100fpsで加速度のグラフを出力する
  1. TWELITE Rを使用してTWELITE 2525Aのアプリ(ファームウェア)をv2.0.2 以降にする。
  2. TWELITE Rを接続しインタラクティブモードもしくはOTAにて設定を下記のように Application ID を 67720102、Channels を 18、Option Bits を 0x00000001、SensorParameterを1024に変更する。
    --- CONFIG/App_Tag V2-00-2/SID=0x81027aae/LID=0x00/RC=9696 ---
     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)
     d: set Sleep Dur (500)
     w: set Sensor Wait Dur (0)
     m: set Sensor Mode (0x35)
     p: set Sensor Parameter (1024)
     P: set Sensor Parameter2 (  )
    ---
     S: save Configuration
     R: reset to Defaults
複数のセンサーを使う場合:ジャイロセンサ(L3GD20)と組み合わせる
  1. TWELITE R2を使用してTWELITE 2525Aのアプリ(ファームウェア)をv2.0.2 以降にする。
  2. TWELITE R2を接続しインタラクティブモードもしくはOTAにて設定を下記のように Application ID を 67720102、Channels を 18、Sleep Dur を 200、Option Bits を 0x00000001、Sensor Mode をD1、SensorParameter を 0、SensorParameter2 を 50 に変更する。
    --- CONFIG/App_Tag V2-00-2/SID=0x81027aae/LID=0x00/RC=9696 ---
     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)
     d: set Sleep Dur (200)
     w: set Sensor Wait Dur (30)
     m: set Sensor Mode (0xD1)
     p: set Sensor Parameter (0)
     P: set Sensor Parameter2 ( 50 )
    ---
     S: save Configuration
     R: reset to Defaults
  3. 電池を抜くもしくは電源を切り、下記のように配線する。

※ 本設定は5fpsでグラフのデータを更新します。加速度を100fpsで計測できないため注意してください。
また、送信間隔をより短く設定できますが、正しく動作しない可能性があります。

複数のセンサーを使う場合:温湿度センサ(SHT21)、気圧センサ(MPL115A2)と組み合わせる
  1. TWELITE R2を使用してTWELITE 2525Aのアプリ(ファームウェア)をv2.0.2 以降にする。
  2. TWELITE R2を接続しインタラクティブモードもしくはOTAにて設定を下記のように Application ID を 67720102、Channels を 18、Sleep Dur を200、Option Bits を 0x00000001、Sensor Mode をD1、SensorParameter を 0、SensorParameter2 を 15 に変更する。
    --- CONFIG/App_Tag V2-00-2/SID=0x81027aae/LID=0x00/RC=9696 ---
     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)
     d: set Sleep Dur (200)
     w: set Sensor Wait Dur (30)
     m: set Sensor Mode (0xD1)
     p: set Sensor Parameter (0)
     P: set Sensor Parameter2 ( 15 )
    ---
     S: save Configuration
     R: reset to Defaults

※ 本設定は5fpsでグラフのデータを更新します。加速度を100fpsで計測できないため注意してください。
また、送信間隔をより短く設定できますが、正しく動作しない可能性があります。

TWELITE CUEを使用する場合

TWELITE CUEは加速度以外のセンサーに接続できないため、加速度のグラフのみ出力可能です。

100fpsで加速度のグラフを出力する

TWELITE R2を接続してインタラクティブモードもしくはOTAにて下記のように Transmission Interval を 0、Senser Parameter を 13000200 に設定する。

--- CONFIG/App_CUE V1-00-2/SID=0x810ba765/LID=0x01 ---
 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 (0)
 p: set Senser Parameter (0x13000200)
---
 S: save Configuration
 R: reset to Defaults
TWELITE PAL + 動作センサーパルを使用する場合

TWELITE PAL + 動作センサーパルは加速度以外のセンサーに接続できないため、加速度のグラフのみ出力可能です。

100fpsで加速度のグラフを出力する

TWELITE R2を接続してインタラクティブモードで下記のように Application ID を 67720102、Channels を 18、Transmission Interval を 0、Senser Parameter を 10000200 に設定する。

--- CONFIG/App_PAL V1-04-0/SID=0x82011cef/LID=0x01 ---
 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 (0)
 p: set Senser Parameter (0x10000200)
 e: set Event Parameter(s) (0180002A0208002A0300802A0488002A0580802A0608802A0880000A1008000A)
---
 S: save Configuration
 R: reset to Defaults

MONOSTICKの準備

MONOSTICKには親機・中継機アプリ(App_Wings)を書き込んで使用します。

親機・中継機アプリの初期設定を使用するため、改めて設定する必要はありません。

スクリプトの実行方法

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

> cd C:\Graph
> python Graph.py -t COM6

スクリプトの引数

スクリプト実行時に以下の引数を使用できます。

引数:-h

機能:コマンドライン引数の一覧を表示
使用例:python Graph.py -h

引数:-t

機能:MONOSTICKが使用するポート名を指定
設定項目:MONOSTICKのポート名
初期値:Windowsの場合:COM3、Linuxなどの場合:/dev/ttyUSB0
使用例:python Graph.py -t COM6

引数:-b

機能:MONOSTICKが使用するポートのボーレートを指定
設定項目:MONOSTICKのボーレート
初期値:115200
使用例:python Graph.py -t COM6 -b 115200

引数:-s

機能:MONOSTICKからの入力書式を指定
設定項目:Ascii書式 or Binary書式
初期値:Ascii
使用例:python Graph.py -t COM6 -s Ascii

引数:-n

機能:グラフに表示する横軸の長さを指定
設定項目:サンプル数(1秒100サンプル)
初期値:128
使用例:python Graph.py -t COM6 -n 1000(10秒分に設定)

引数:-r

機能:グラフのY軸の幅の絶対値を指定
設定項目:Y軸のレンジ
初期値:2
使用例: python Graph.py -t COM6 -r 6(±6gに設定)

引数:-a

OTA

機能:CSV形式のログを出力
使用例:python Graph.py -t COM6 -a
備考:同一ディレクトリ内にCSVファイルが生成される。
ファイル名はAppTag_シリアル番号_センサ名_YYYYMMDD.csv

CSVファイルの読み方は下記表の通りです。

見出し 値の説明 単位
EndDeviceSID 子機のシリアルナンバー -
LQI LQI -
Power 電源電圧 mV
Temperature 温度
Humidity 湿度 %
Pressure 大気圧 hPa
AccelerationX 加速度(X軸) g
AccelerationY 加速度(Y軸) g
AccelerationZ 加速度(Z軸) g
Roll 角速度(ロール軸) dps
Pitch 角速度(ピッチ軸) dps
Yaw 角速度(ヨー軸) dps

引数:-v

機能:電源電圧のグラフを表示
使用例:python Graph.py -t COM6 -v

引数:-l

機能:LQI(電波強度)のグラフを表示
使用例:python Graph.py -t COM6 -l

引数:-A

機能:ADCのグラフを表示
使用例:python Graph.py -t COM6 -A

引数:-o

機能:受信したデータの詳細情報をプロンプトに出力
使用例:python Graph.py -t COM6 -o

引数:-p

機能:本スクリプトで作成したログファイルを再生
使用例:python Graph.py -p -t AppTag_1021745_ADXL34x_20170530.csv
備考:ログ中の取得時間は使用しない。更新頻度は-fで指定する。

引数:-f

機能:ログ再生モードのグラフの更新頻度を指定
設定項目:グラフの更新頻度(fps)
初期値:100
使用例:python Graph.py -a -t AppTag_1021745_ADXL34x_20170530.csv -f 200

Y軸のレンジを自動で変化させたい場合

グラフが出力されている状態で下図で示す部分をクリックすると、グラフに出力されている加速度に応じてY軸の範囲が変化するようになります。

TWELITE
TWELITE
DIP
DIP
UART
UART
CUE
CUE
ARIA
ARIA
PAL
PAL
STICK
STICK
spot
SPOT
R3
R3
STARTER KIT
STARTER KIT
アンテナ
アンテナ
製品一覧
製品一覧

モノをつなぐ無線

モノをつなぐ無線
モノの無線
導入事例
導入事例
選び方
選び方
小型
小型
省電力
省電力
多数接続
多数接続
コントロール
コントロール
モニタリング
モニタリング
ソフトウエア
ソフトウエア
親機
親機
中継機
中継機
子機
子機
始め方
始め方

評価開発環境

STAGE
STAGE
STAGE APP
STAGE APP
interactive
アプリ設定
アプリ書換
アプリ書換
プログラミング
プログラミング