Windows10でFlightradar24にデータをフィード(ラズパイ無し)
まえおき
自分が飛行した飛行機のログをダウンロードしたかったため、Flightradar24 の一番高い「Commercial & personal use」にお試し登録した。10日間に解約すれば金はかからない。
そして無事に解約し忘れ、1年契約500ドルの請求が来た。
自分のアホさに呆れつつも、「….これを機にビジネス始めるか…?」なんて考えたが当然知識もないのでプランが見えない。ダメ元で「ごめんなさい。解約してください」と連絡したところ1日ほどで対応してくれて4日後に返金もされた。
自分みたいなアホがいることで世の中いろんな人に余計な手間がかかっているなぁなんて反省しつつも、感謝です。
本題
さて、Flightradar 24にはこの非常に高いプランに無料で登録できる方法があるらしい。
要は飛行機から発信されるADS-B データを受信してアップロードすれば、見返りにビジネスプランをタダにしてあげるよ、というもの。専用のレシーバーが必要だが、購入さえすればそこまで難しくなさそうだ。得られるメリットのほうが大きそう。
実は返金をお願いするとき、「これを行いますので何卒🙇🙇」みたいな書き方をしていたのもあってこれを機に本格的に行うことに決めた。
丁度自宅では、大学の時メイン機として使おうとしたスティックPCがあり、VPNサーバとして24/7で動かしている。
OS: Windows 10 home,
プロセッサ: Intel Core m3-6Y30 (0.9 GHz), 2コア(仮想的に4コア扱い?),
RAM: 4GB, ストレージ64GB,
Flightradarへのフィード様に元々はWindows向けのソフトもリリースされていたようだが、メンテナンスに手間がかかったのが今はなく、Linux用とRassbery pi用のソフトが配布されている。
https://www.flightradar24.com/share-your-data
ラズパイは持ってないし、買うのもちょっと気が引けたのですこし調べ、Windows上でも仮想的にその環境を再現できると思われた(Dockerを利用すれば行けると思った)。ちなみに最終的にはそうはなってないが、ラズパイが無くても使えることはわかった。
好奇心もあり、とりあえずレシーバーを購入した。結局どれが良いのか不明だったが、いくつかのサイトを参考にして以下を購入した。もっと安いのもあったが本当に可能か判断つかなかったため外さなさそうなものを選んだ。(2021年に書かれた記事だと3000円だった…多分割高なんだろうが…)
セットアップ
ぶっ刺しただけでは何も認識しなかった。説明書にドライバインストールが必要とかそういう細かい情報も書かれていなかったはず。そのため実は購入して差したはいいものの1か月以上放置した。家族にスパイ活動しているのでは、と訝しげに聞かれたりもした。
以下のサイトを参考にさせていただき、ドライバを探す。
すると出てきた。手順は以下のウェブサイトに説明されている。
ちょっと怪しげなサイトだが「Zadig」というソフトをインストールし必要なドライバを入れる必要があるらしい。インストール・問題なくドライバを入れることができた。
デバイスマネージャー、でもきちっと認識できている。(ドライバインストール前どうなっていたかは不明です)
沼った
このあと四苦八苦した。最初の方針としてはDockerの上に構築、だったのだがこのあたりの知識は無く沼にはまった。。。
今となっては何に詰まっていたのかわからない。ただ方針として、Windows上でLinuxを動かせるWSL (Windows subsystem for Linux)を使えばよい、ということになり、それでうまく行った。基本的に↓の方法でやっています。
WSLを利用したWindowsでのfr24feedセットアップ
WSLのインストール
WSLとは、Windows上でLinuxを動かせるシステム、くらいのざっくりした理解でいる。管理者権限のPowerShellで
wsl --install
を実行する等する。そうするとUbuntuがインストールされ、windowsのアプリ上でも見られるようになる。
このUbuntuをクリックすると黒い画面が立ち上がるが、僕の理解だとこれがLinuxのコマンドラインである。
USBの認識
レシーバーは、僕の場合はUSBを利用している。WSLでUSBに刺さっているものを認識するには特別な設定が必要であった。(そんなこと思ってもみなかった)。
usbipd-winというソフトを利用する。powershellを管理者権限で以下を実行。↓参考
#Windows上で実行
winget install usbipd
usbipd list
usbipd bind --busid=<BUSID>
usbipd attach --wsl --busid=<BUSID>
その後、Ubuntuをクリック、その画面に
#ubuntuで実行
lsusb
と打って実行すると、USBに刺さっていたドングルを認識した。(写真忘れました)
fr24feedのインストール
受診した信号をデコードするためのdump1090というソフトをインストールしたのち、核となるfr24feedを入れている、という理解。
sudo bash -c "$(wget -O - https://github.com/abcd567a/fr24feed-debian-ubuntu-amd64-i386/raw/master/install-dump1090-fa.sh)"
wget https://repo-feed.flightradar24.com/linux_binaries/fr24feed_1.0.46-1_amd64.deb
sudo dpkg -i fr24feed_1.0.46-1_amd64.deb
sudo fr24feed --signup
対話が出てくるが、例えばこの方の記事の様に行ってください。
これを終えると設定完了!
動作確認
Ubuntuに以下のように打つと状況が確認できる。
sudo service fr24feed status
fr24feed-status
また 自分のIPアドレス:8754とブラウザに打ち込むとブラウザで状況を確認できる。IPアドレスはコマンドプロントに
ipconfig
と打ち込むと、「イーサネット アダプター vEthernet (WSL)」というものが出てくるのでIPv4 アドレス(4つの数字が . で区切られている)をコピーすればよい。
運用Tips
別の記事にまとめました。
まとめ
最初Dockerを使おうとしたが、結局使わずにもできた。
Windows上ではWSLを利用することでラズパイが無くてもADS-Bを受信・Flightradar24にアップロードできます。