大森?
足裏センサデバイスのオフラインにおける使い方
arduinoの記事 : https://qiita.com/ketaro-m/items/f6d6eb8175f1c845839e
・python 64bit版
・python3.9.2
・Python3.8.5
・RealVNC
・Arduino IDE 1.8.19
まず、PCにRealVNCをダウンロードする。
次にVNCアカウントを作成する。
VNCアカウントは無料で作成でき、最大5台のRaspberryPyをVNCできる。
<RaspberryPiに置くプログラム>
圧力、加速度、ジャイロを検出し、csv形式で書き込むためのプログラム。
データは1分ごとに新しいファイルが作成されて作り変えられるようになっている。
Arduino nanoに書き込むプログラム。センサの取り方を記載してある。
注意:「デバイスの使い方」にあるAccelGyro.inoとは中身が違うので要注意。
<サーバに置くプログラム>
RaspberryPiで集めたデータを受信する。
右足データと左足データを組み合わせる。
重心を計算する。
左足の拡張カルマンフィルタを計算する。
右足の拡張カルマンフィルタを計算する。
機械学習に用いるcsvファイルを生成する。
ディレクトリを作成する。
まず、VNCを使ってPCからRaspberryPyにSensor.pyとAccelGyro.inoを送信する。
送信したらSensor.pyのプログラムを少し書き換える。
プログラムの最後、csvファイルの名前をSensorData_leftまたはrightになっている。これを右足、左足に合わせる。
図は右足用のセンサに使うSensor.pyのためrightにしてある。
Sensor.pyを送信できたらhome/piの階層にSensorDataというフォルダを作り、
その中にその日の日付でフォルダを作る。
例、「20220921」のように
そうしたらその日付フォルダの中にSensor.pyをコピーする。
次にArduinoというフォルダをhome/piの階層に作る。その中にAccelGyroという名前でフォルダを作り、そこにAccelGyro.inoを格納する。
Arduino IDEを用いてArduino nanoにAccelGyro.inoを書き込ませる。
このときボードはArduino nano、プロセッサはATmega328P(Old Bootloader)、シリアルポートはUSBの方を選択。
注意:もし初めて書き込む場合、ライブラリ「MPU9250_asukiaaa」が必要となる。
スケッチ→ライブラリをインクルード、からMPU9250_asukiaaaをインクルードする。
以上ができたらプログラム実行開始。
このとき、最初の行に「This is Debug 1023~.」などといった数字が書かれているときと「This is Debug.」のように何も書かれていないときがあるがどちらもデータを取れているので気にしない。言わばバグの処理。
ステップ4ができたらあとは動作を実行してデータを集めるのみ。
実験が終わったらプログラムを停止する。
データを収集できたらVNCのTransfar Fileを使ってRaspberryPyからPCにデータを送信する。