FlightRadar24が普及するまでは、ADS-Bの信号を可視化するためにはKinetics社の「SBSシリーズ」を利用して、ADS-B信号を受信することが一般的でした。
SBSの機器自体は他のサービスが普及して必要なくなったのですが、付属のソフト「BaseStation」がまるで管制官のレーダースクリーンみたいで、何とも捨て難い魅力があります。
「BaseStation」はWindowsXP時代のソフトであり、最近のWindowsではインストールすらもできないと思いますが、ubuntuのDockerを利用し「wine」のイメージを利用することで。RDP経由で動作させることができましたので、自分メモとして残します。
今回はDockerを利用しましたが、ホストOSにwineを直接インストールしてもOKです。
BaseStation動作イメージ(http://woodair.net/sbs/article/Barebones2_data.htmより引用)
動作イメージ:
ubuntu22.04 LTS → Docker → wine → BaseStation → RDP(RemoteDeskTop) → macOS(WIndowsPCでも可)
以下構築手順です。
手順1: Docker上にwine+remotedesktopイメージを展開
# ubuntuにログインし、作業フォルダの作成を行い、作業フォルダへ移動
cd
mkdir wine
cd wine
# 起動ファイルの取得
wget https://raw.githubusercontent.com/scottyhardy/docker-wine/master/docker-wine
chmod +x docker-wine
# rdpをサービスとして起動。ホストの/tmpをwineの/tmpにアサイン(user:root volume:/tmp:/tmp)
./docker-wine --as-root --volume="/tmp:/tmp" --rdp=start
# rdp接続のuser/password
Username: wineuser
Password: wineuser
# rdp経由でDocker上のデスクトップにアクセスできたら、BaseStationを導入します。
# 参考)rdpを停止
./docker-wine --as-root --rdp=stop
手順2:BaseStationの導入
# 以下のページからソフトをダウンロード(2023年4月現在、ソフトの配布は終了しています)
# ホストの/tmpにBaseStationV168CD.zipがある前提です
cd /tmp
# アーカイブを解凍
unzip BaseStationV168CD.zip
# プログラムをwineのフォルダへコピー(インストールは不要です)
cp -R /BaseStationV168CD/program\ files/Kinetic/ /home/wineuser/.wine/drive_c/Program\ Files/
# ハマリポイント! 「ftd2xx.dll」をBaseStationのフォルダへコピーする
# 「ftd2xx.dll」は「CDM20814_Setup.exe」を実行するとインストールされるのですが、wineや最近のWindows環境では dllがうまくインストールされません
# 一度古いWindowsPCで実行して「c:\Windows\system32\」からコピーする必要があります
cp ./ftd2xx.dll /home/wineuser/.wine/drive_c/Program\ Files/Kinetic/Basestation/
# BaseStationの起動
cd /home/wineuser/.wine/drive_c/Program\ Files/Kinetic/Basestation/
wine BaseStation.exe
以上の作業でWindowsアプリケーションがubuntuのDocker(wine)で動作しました。
・Docker上で構築したので、作成したコンテナのイメージを適宜保存してください。
・「BaseStationV168CD.zip」と「ftd2xx.dll」の入手がポイントになります。
ネット上のアーカイブサイトに残っている可能性がありますので、頑張って探してみてください。
(このほか、port:10001でBaseStationと通信できるADS-Bの受信機が別途必要です)
動作イメージ:
参考)
動作したコンテナのイメージ化処理
# 書式
# docker commit -a authorname ContainerID image-name:version
# 実行
docker commit -a author 7e073e0b9c15 basestation/full:1.1
# 確認
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
basestation/full 1.1 ede903568557 3 seconds ago 3.08GB
イメージから起動
docker create --name sample -it ede903568557
dockerのコンテナイメージをexport/importする
docker export : exportと同時にgzipすること、でファイルのサイズは1/3程度に圧縮される
docker export basestation/full | gzip -c > basestation.wine.1.1.tar.gz
docker import
cat basestation.wine.1.1.tar.gz | gzip -d | docker import - basestation:1.0
Dockerのimport/exportで参考にさせていただきました。有用な情報をありがとうございます。
Docker-wine配布元