背景
前回からの続き。
作ったモデルを実際に試験するためのツールを作ってゆく
作りたいもの
- 飛行の状態を音声で知らせてくれる
- サーマルを捕まえ続けるように進行方向を教えてくれる
ハードウェア
- ラズパイゼロにいろいろ繋げてゆく(LinuxベースでPythonも使えて勝手がよさそう)
- 温度、湿度、気圧をBME280から取得
- GPSはUSBで接続(ublox7)
- スピーカはBlueToothで接続 (MIFA A1スピーカ)
-
各種捜査のボタンと確認用のLEDを付加pHAT追加で解決(20220814) - UPS HAT を追加してモバイルバッテリいらずに (20220814)
- BUTTON SHIMでボタンやLEDのはんだ付けいらず(20220814)
苦労した点
- ラズパイゼロとスピーカの接続が安定しない(Bullseye上でのBluetooth接続の情報があまりない。VNCをしようしてGUIで設定することで比較的安定)
- ラズパイとパーツの接続が良く外れる(自分でデュポン接続端子をかしめて作るようにした)
- 裸だと持ち歩いてテストしにくい。(3Dプリンタで専用の箱を作った)
筐体
tinkercadを使用して筐体を設計し、STL出力して3Dプリンターのアプリに食べさせる。
気圧を測る場合、筐体を密閉するとよろしくないと聞いたので、必要な穴はあけたままにしておく。
おおむね良さそうなので、あれこれ積んでゆく
なんて醜い配線取り回しなんだろう、、、
しかしこれであまり気を遣わずにバッグの中に放り込めるようになった!
苦労した点
- PETGだと恐ろしく糸を引くのと小さい穴などがつぶれてしまった。(ABSでちょうどよかった)
- ラズパイの穴の位置を記載している資料にたどり着くのに苦労した(結局公式内を探すのが早かった)
- 打ち出してから「穴が小さい」「穴が足りない」などちょっとした調整を思いつく(経験値を上げてゆく所存)
ソフトウェア
前準備
- 公式のツールを使って最新のBullsEyeをSDカードに書き込み
構成
home
├start_voice.sh (起動時に実行するシェル。switch.pyが実行される)
├Vario
│ └log
│ │ ├logger.log
│ │ └
│ ├bme280.py
│ ├nblox7.py
│ ├switch.py
│ ├data_log_out.py
│ ├event_check.py
│ ├voice_out.py
│ ├system_log_out.py
│ ├sys_mode.csv(実行時パラメタ)
│
└Music
│ └各種音源(voice_out.pyより呼び出される)
├jtalk.sh(動的に音声合成する際に使用)
苦労した点
- Bluetoot接続のスピーカに安定して音声出力するための情報が少なかった。古い情報と新しい情報が混在していてBullsEyeにあった設定が何かわからなかった。(VNCを使用してGUIで設定した)
- GPSとスピーカを同時に接続するのが厳しかった(ラズパイゼロに音声出力端子がなく、BluetootとGPSを同時に使用することもうまくゆかず、GPSはUSB接続にすることで対応)
- 遅い(不要なプロセスを切るなどする。が、HWのスペックが上がるとよくなると信じている。品薄にしても高すぎる、、)
- 画面がないと設定や確認が不便な時がある(flaskを使用してウェブアプリを作った)
- 実際に外に持ってゆくとセンサやバッテリが外付けでぶら下がっている構成は取り扱いが面倒(下手なところに入れると動いたときに抜ける)(20220814)
- 動きがあるとはんだ付け部分の通電が不安定になる?はんだ付けの腕の問題かもしれないが、構成をコンパクトにするためにもpHAT追加で解決(20220814)
テスト
この後
- 外で使ってデータが取れるか?データの精度は?確認して調整
- いつの日か実際の距離感に合わせてみたい - 強化学習モデルを搭載してテストする
- そしてさらにいつの日か携帯デバイスとして飛びながらベストな方向を教えてくれるようにしたい
その他
朝霧に行ったら同じようなデバイスを自作している人がいた。
きっとまだ他にも同志がいるに違いない
お金はかかるが全体構成をコンパクトにするためにpHATを使用するのは結局ペイすると気づいた。GPIOの競合は留意が必要なのでできるだけ購入前に確認した(20220814)