Windows10でflight radar 24, Flight Aware, Airnav radar にデータをフィード(Docker利用)

航空機が発信しているADS-Bデータを受信、それをFlight Radar 24等に配信する、というテーマです。

前の記事で、ラズパイを利用せずにデータを配信する方法を紹介した。ただ、本来はこちらがやりたかったことだったが一度挫折しました。でもDockerを使うのかっこよいので再チャレンジ…。

まだまだ初心者のため、ChatGPT等に聞きまくり現状をまとめた、ということで正確ではない理解・表現があるかもです。

なお、設定自体は基本的にこちらの記事に沿っています。大変参考にしています。ありがとうございます。

環境

ドッカ―を使えば環境なんて関係ない…のですが、そのドッカ―を動かしている環境です。

ハード

CPU 2コア4スレッド, 2.2 GHz, 4GRAM, 64G ストレージ + 512 GB 外付けマイクロSD
参考:機種はインテル® Compute Stick STK2M3W64CC

ソフト

Windows 10, その上にWSLで Ubuntu 20.04
DockerはUbuntu上で直接インストール(Docker Desktop利用していない)

基本的には、docker-compose.ymlファイルを記載しそれを実行、というものですが、様々壁にぶち当たりWSLやDocker Desktopのインストール・アンインストールすること幾度…でした。

壁①:レシーバー認識しない問題

いつ:WSLを再起動した際に発生。
原因:PCに接続したUSBドングルをWSLで認識させる必要がある。
解決策:コマンド操作で対応。これに沿えば簡単。

https://learn.microsoft.com/ja-jp/windows/wsl/connect-usb

壁②:readsbを一番最初に動かす必要あり

readsbが生データをデコードしている。これが最初に起動しないと他のコンテナが起動し際にデータを取得できない。

壁③:Airnav radar用 rbfeederエラー

いつ:Docker compose 時
原因:PCに温度センサーが無いとダメでその対応が必要だが、それに合わせて特定のファイルにCPU Serial番号が記載されている必要があるらしく、その取得に失敗する。
解決策:フェイクを作成。これに沿う。Docker compose ファイルにも記載。

壁④:rbfeederエラー 2

内容:エラーログを載せられれば良かったですが手元にありません…。Eorror: <<user name >> _radarbox_segfault_fix cannot find 的な物です。
いつ:Docker compose時、特に一度運用した後にコンテナ削除、再度作成した際。
原因(?):古いファイルが悪さしている?
対策:フォルダごと消す。そしてDocker compose

#フォルダを削除。
docker volume rm yoshi_radarbox_segfault_fix

壁⑤:rbfeederエラー 3

内容:エラーログを載せられれば良かったですが手元にありません…。
いつ:Docker compose時、特に一度運用した後にコンテナ削除、再度作成した際にrbfeederがデータを配信しない。
原因:温度センサーとCPUシリアルデータは毎回削除される。
対策:再度温度センサーとCPUシリアルデータ作成を行う。

壁⑥:Cドライブのストレージを圧迫

内容:24時間運用しているため、ログファイルが膨れ上がり少ないストレージが消費されてしまった。
原因:本当にログファイルだけなのかわからないが、とりあえずDocker関連のプロセスに由来してストレージが圧迫された。WSLだったので、ディスクの最適化が適用されないことも原因だったと思われる。
対策①:この記事に沿った。

対策②:WSLをDドライブ上に移動した。

対策③:ログファイル作成のルールを定義した。

また何かあれば追加します♪

いいなと思ったら応援しよう!