グラフ描画スクリプト

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

TWELITE 2525A-トワイライトニコニコで秒間100回(100Hz)の加速度計測ができます。

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

OTA

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

ダウンロード

用意するもの

PCの準備

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

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

下記のインストール手順は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にて設定を下記のように Option Bits を 0x00000001、SensorParameterを1024に変更する。

    --- CONFIG/App_Tag V2-00-2/SID=0x81027aae/LID=0x00/RC=9696 ---
     a: set Application ID (0x67726305)
     i: set Device ID ()
     c: set Channels (15)
     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 (30)
     m: set Sensor Mode (0x35)
     p: set Sensor Parameter (1024)
     P: set Sensor Parameter2 (  )
    ---
     S: save Configuration
     R: reset to Defaults

ジャイロセンサ(L3GD20)と組み合わせる場合

  1. TWELITE Rを使用してTWELITE 2525Aのアプリ(ファームウェア)をv2.0.2 以降にする。
  2. TWELITE Rを接続しインタラクティブモードもしくはOTAにて設定を下記のように 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 (0x67726305)
     i: set Device ID ()
     c: set Channels (15)
     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 Rを使用してTWELITE 2525Aのアプリ(ファームウェア)をv2.0.2 以降にする。
  2. TWELITE Rを接続しインタラクティブモードもしくはOTAにて設定を下記のように 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 (0x67726305)
     i: set Device ID ()
     c: set Channels (15)
     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で計測できないため注意してください。
また、送信間隔をより短く設定できますが、正しく動作しない可能性があります。

MONOSTICKの準備

  1. MONOSTICKのファームウェアを書き換える。
  2. MONOSTICKをリセットもしくはUSBポートに差しなおす。
  3. Teratermなどのターミナルソフトを使用し、下記条件でMONOSTICKのポートを開く。
    • ボーレート:115200
    • データビット:8bit
    • パリティ:none
    • ストップビット:1bit
  4. インタラクティブモードに移行し、下記のようにOption Bitsを0x00000101に設定する。

    --- CONFIG/App_Tag V2-00-2/SID=0x81010c2d/LID=0x00 ---
     a: set Application ID (0x67726305)
     c: set Channels (15)
     x: set Tx Power (3)
     b: set UART baud (38400)
     B: set UART option (8N1)
     k: set Enc Key (0xA5A5A5A5)
     o: set Option Bits (0x00000101)
    ---
     S: save Configuration
     R: reset to Defaults

スクリプトの実行方法

MONOSTICKのCOMポートがCOM6の場合、Anaconda Promptで下記コマンドを実行すると図のようなグラフが描画されます。

> 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軸の範囲が変化するようになります。