もしかして研究室の学生は天野は研究上のハードウェア・ソフトウェアの使用に関してなんでもすぐにできる、と思っている?という節がありました。そんなわけがありませんし、以下に示すような試行錯誤する力を身につけることが大切なのだということで(恥を忍んで)、直近の失敗談を書いてみようと思い立ちました。
(現時点では好奇心的な位置づけが強い理由で)ESP32 CSI Toolkitのpassiveモードをきちんと動かしてみようとしていました。これまでにESP32 CSI Toolkitは動作させていたので、すぐに完了するという見通しでいました。
ですがなかなか上手くいきません。というよりもどんどん悪循環というか、深みにはまっていきました。経緯を簡単にまとめてみます。
- これまで動かしていたESP-IDF+ESP32 CSI Toolkitで検証
- 正常に動作せず(連続的に受信できない。リセット直後に少しだけ。本来は連続的にデータを取得したい)
- 最新版で改めて動かそう、と判断
- ESP32 CSI Toolkitの最新状態をダウンロード、試行
- 変化しない
- ESP-IDFを最新版に入れ替え、4.4を導入
- 「idf.py menuconfig」でbaudrateを変更できない&コンパイルエラーが出るが解消できない
- ESP-IDFを少しずつダウングレード、4.3, 4.2
- 4.3はなぜかインストールに失敗
- 4.2では「idf.py menuconfig」でbaurdateは指定できるが、コンパイルエラーが解消できない
- (ここまでで3日間。これだけをやっていたのではないが、思いついたら試行なので実質的には2日間丸々とほぼ相違なし)
- ESP32 CSI Toolkitのドキュメントを読み直す(今さら!)
- ESP-IDFは4.3が必要という表記があった
- ESP-IDFをアンインストール&削除して、4.3をインストール、今度はOK
- baudrateの指定ができない
- デフォルトの115200で動作。意図したような連続的なデータ取得はできない(変化なし)
- デフォルト値を変更する方法を調査
- sdkconfig.defaultsファイルで指定できると記載されている
- が用意してもbaudrateは変更されず
- (更に半日以上経過)
- ESP32 CSI Toolkitのドキュメントに書いてある「そのまま」に「idf.py menuconfig」で操作
- するとbaudrateを指定する選択肢が表示された!
- 記載と同じ意味になるという理由で選択を変えていた箇所があった
- 921600を選択していたが、記載はCUSTOMにしてbaudrateを921600と指定
- 正しくbaudrateも変更された動作した!
- だが目的でった連続的なデータ取得はできない……
これでほぼ4日の時間を費やして元の状態に戻っただけです。何も進展していません。
ですが取り組まなければ動くかどうかわからないですし、目的を達成するためにソフトウェアを最新版にすることは解決策でないことを確認できました。これで他の方法を先に考えるべきだ、という次のステップに進めました。
設定のどこかを見落としているかも知れないし、ハードウェアの制限かも知れません。はたまたどれかの機器を入れ換えると動くかも知れません。そう考えられるのも手を動かして上のような検証を行ったからです。
上のような試行錯誤の中には経験がないと思いつかない選択肢もあると思います。そういうところはぜひ誰かに相談・報告してヒントを得てください。