グラフ描画スクリプト
説明動画 (再生時間:2分25秒)
TWELITE 2525A、TWELITE PAL + 動作センサーパル、TWELITE CUEで秒間100回(100Hz)の加速度計測ができます。
グラフ表示スクリプトを使用してTWELITE 2525A/PAL/CUEの動きをXYZ軸のグラフにし、パソコンに表示できます。CSV 形式でログを保存することもできます。
CR2032コイン型電池で50〜100時間程度連続動作します。(当社計算値による)
ダウンロード
- Ver. 1.0.2 ソースコード
- 変更点
- 細かいバグの修正
- 変更点
- Ver. 1.0.1 ソースコード
- 変更点
- 無線タグアプリでサポートしているセンサに対応いたしました。
- 複数のセンサ使用時に使用しているセンサのグラフを同時に出力するように変更しました。
- ADC1とADC2のグラフの描画機能を追加しました。
- 変更点
- Ver. 1.0.0 ソースコード
- 初回リリース版
用意するもの
- 子機 以下のどれかを用意してください。
- TWELITE 2525A-トワイライトニコニコ
- TWELITE-トワイライト + ADXL34x 加速度センサーでも使用可能
- アプリ (App_Tag-EndDevice-BLUE-LITE2525A.bin)
※ v2.0.2 以降であること
- TWELITE CUE-トワイライトキュー
- TWELITE PAL-トワイライトパル + 動作センサーパル
- アプリ (App_PAL-EndDevice-xxx.bin)のバージョンが v1.3.0 以降であること。
- TWELITE 2525A-トワイライトニコニコ
- TWELITE R2-トワイライター
- アプリの書き換えに使用します。
- MONOSTICK-モノスティック
- アプリ(App_Wings-xxxx-MONOSTICK.bin)
- パソコン
PCの準備
下記のインストール手順はOSがWindowsの場合の一例です。
各種ライブラリのドキュメントをご覧の上、必要なソフトウェアおよびライブラリをインストールしてください。
- 下記ページよりPythonの最新版をダウンロードしインストールする。
https://www.python.org/downloads/
その時、下図の枠で囲まれている部分にチェックを入れること
もしくはPythonのインストール先にPathを通すこと。
-
コマンドプロンプトを立ち上げ、下記コマンドを入力しpyserial、pyqt5、pyqtgraphをインストールする。
> pip install pyserial > pip install pyqt5 > pip install pyqtgraph
子機の準備
TWELITE 2525Aを使用する場合
100fpsで加速度のグラフを出力する
- TWELITE Rを使用してTWELITE 2525Aのアプリ(ファームウェア)をv2.0.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)と組み合わせる
- TWELITE R2を使用してTWELITE 2525Aのアプリ(ファームウェア)をv2.0.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
- 電池を抜くもしくは電源を切り、下記のように配線する。
※ 本設定は5fpsでグラフのデータを更新します。加速度を100fpsで計測できないため注意してください。
また、送信間隔をより短く設定できますが、正しく動作しない可能性があります。
複数のセンサーを使う場合:温湿度センサ(SHT21)、気圧センサ(MPL115A2)と組み合わせる
- TWELITE R2を使用してTWELITE 2525Aのアプリ(ファームウェア)をv2.0.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
機能: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軸の範囲が変化するようになります。