シリアルデータのグラフ表示およびデータ保存のための クロスプラットフォーム GUI アプリケーション
Arduino-Serial-Plot-Recorder_min.mov
Arduino からのシリアルデータを読み取り、グラフの表示およびデータを保存する PyQt ベースの汎用的なアプリケーションです。Arduino Sensor Data Viewerと組み合わせることで、リアルタイムにセンサー等のデータを解析できます。軽量なので、Raspberry Pi などでも動作します。
こちらからプロジェクトへの寄付ができます。 継続的なプロジェクト維持のため、ぜひ寄付をお願いいたします。
- PyQt のインストール
% brew install pyqt@5
- conda のインストール
- conda パッケージのインストール
% conda create -n PyQt python=3.9
% conda activate PyQt
% conda install pyqt
% conda install numpy
% conda install pyserial
% conda install pyqtgraph
- リポジトリのクローン
% git clone https://github.com/kiyu-git/Arduino-Serial-Plot-Recorder
- Python のインストール
$ curl https://pyenv.run | bash
$ python -V
Python 3.9.2
- PyQt のインストール
$ sudo apt install libffi-dev
$ sudo apt install libatlas-base-dev
$ sudo apt install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tool
- pip package のインストール
$ pip install pyqt5
$ pip install numpy pyserial pyqtgraph pandas
- リポジトリのクローン
$ mkdir PlantAnalysisApps
$ cd PlantAnalysisApps
$ git clone https://github.com/kiyu-git/Arduino-Serial-Plot-Recorder
サンプルスケッチを参考に、スケッチを Arduino に書き込んでください。
この際、サンプリングレートと測定チャンネル数を覚えておいてください。
% cd Python
% python main.py
GUI のパラメータ説明
シリアルポート選択
- シリアルポートを選択する
- [Research serial port] からポートを再検索できる
Measurement Settings パネル
- show ports からシリアルポートの変更が可能
- number of channels: Arduino スケッチの測定チャンネル数に一致させる
- sampling rate: Arduino スケッチのサンプリングレートに一致させる
- display duration: 表示する時間の長さを変更できます。表示するデータ数が多くなると、動作が重くなります。長期的な変動を見る場合はArduino Sensor Data Viewerと組み合わせて使用してください
Measurement パネル
- start: 測定データの表示を開始します
- stop: 測定データの表示を停止します
Record Settings パネル
- record interval: 保存するデータの間隔を変更します。すべてのデータを保存すると、データ量が大きくなってしうため、この間隔での平均値を保村します
- save path: 記録データの保存先を選択します。記録データは選択されたフォルダ内の Data フォルダの中に保存されます。Data フォルダの中に Data フォルダが作られることのないように注意してください。
Record パネル
- start: 記録を開始します
- stop: 記録を停止します
- open folder: 記録データの保存先を開きます
Note パネル
Note パネルは測定時のメモのためのパネルです。Note データは、記録データと同じフォルダに保存されます。今後、カスタマイズできるよう、改善していく予定です。
このリポジトリは、『植物生体電位測定をオープンにするプロジェクト』の一部です。
『植物生体電位測定をオープンにするプロジェクトに関連する以下のリポジトリと組み合わせることによって、植物生体電位を測定することが可能です。
- 植物生体電位解析器 : https://github.com/kiyu-git/Plant-Bioelectric-Potential-Sensor
- 測定アプリケーション : https://github.com/kiyu-git/Arduino-Serial-Plot-Recorder
- 解析アプリケーション : https://github.com/kiyu-git/Arduino-Sensor-Data-Viewer
- 照明スイッチの自動化 : https://github.com/kiyu-git/Arduino-Python-Serial-Control-Example
植物生体電位の測定の詳細についてはこちらを参考にしてください。
こちらからプロジェクトへの寄付ができます。 継続的なプロジェクト維持のため、ぜひ寄付をお願いいたします。
質問等は twitter またはIssuesより
twitter: https://twitter.com/kyu_yukirinrin
website: https://untamable.work