ひとしれずひっそり

主にソフトに関することをメモしていきます。過程をそのまま書いていたりするので間違いが含まれます。鵜呑みしない様に。

arduplot試してみる(1)

歩数カウントが怪しいので信号のグラフ表示をしてみたい。

arduplotというのがある様なので試してみよう。
github.com

インストール

pyenvでローカルバージョンを最新に固定してインストールしてみる
PlatformIOのターミナル立ち上げないとダメだった。(>アイコン)

pipでインストール。

pip install arduplot

うまくいったみたい。

環境構築

monitor ディレクトリがプロジェクト直下に必要らしい。

% mkdir monitor

ターゲット(espressif32)に合わせて./platformio下にもmonitorディレクトリが必要らしい。
そしてpythonスクリプトを中にコピー。(pyenvでインストールしたのでそちらからコピー). python3.10はその時のバージョンに合わせて変える。

% mkdir -p ~/.platformio/platform/espressif32/monitor
% cp ~/.platformio/penv/lib/python3.10/site-packages/arduplot/filter_plotter.py ~/.platformio/platform/espressif32/monitor

アクセスできる様に環境設定.

% export PLATFORMIO_MONITOR_DIR=${HOME}/.platformio/penv/lib/python3.10/site-packages/arduplot/

実行してみるが unknown filters ploter と出て失敗してる様だ。

% pio device monitor -f plotter
Warning! Skipping unknown filters `plotter`. Known filters are `colorize, debug, default, direct, esp32_exception_decoder, hexlify, log2file, nocontrol, printable, send_on_enter, time`
--- Terminal on /dev/cu.usbserial-6552D809B6 | 115200 8-N-1
--- Available filters and text transformations: colorize, debug, default, direct, esp32_exception_decoder, hexlify, log2file, nocontrol, printable, send_on_enter, time
--- More details at https://bit.ly/pio-monitor-filters
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H

また改めて

環境設定で 3.10 とするところを 3.9 にしてたためだった。

% pio device monitor -f plotter              
--- serial_plotter is starting
--- Terminal on /dev/cu.Bluetooth-Incoming-Port | 115200 8-N-1
--- Available filters and text transformations: colorize, debug, default, direct, esp32_exception_decoder, hexlify, log2file, nocontrol, plotter, printable, send_on_enter, time
--- More details at https://bit.ly/pio-monitor-filters
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H

フィルターは認識されてそう。
arduplotでグラフが出るらしいので実行してみる。
(platformio.iniでポート指定されてない場合は -p オプションで渡すといい。今、実機接続してないのでこのポートはダミーとして渡してる)

% arduplot -p /dev/cu.Bluetooth-Incoming-Port

arduplot画面

なんかウインドウがでたのでいいんじゃない。