見出し画像

ADS-B信号を受信する -windows編

Windows10のPC + USBレシーバ + 自作アンテナ でADS-B信号の受信、FlightRadar24サーバへのフィードまでやってみたので、記録を残します。
本来の目的はRaspberry Piを使って常時受信、フィードする環境を作るこのなのですが、Raspberry Piを復活させるのに足りないモノがアマゾンから来る前に、Windowsマシンでやってみた、の記録です。
似た内容はWEBにあちこちあるのだけど、情報が古かったり構成が自分と異なったりでつまづくことがあったので、今後始める人の参考になれば。

※ちなみに、筆者は電波関係ほぼ素人です。なのでこのnoteは、とりあえずやってみて、試行錯誤しながら勉強した足跡でもあります。

飛行機が好きで、たまに眺める FlightRadar24(以後FR24)。このサービスは、飛行機自身が発信しているADS-Bと呼ばれる衝突回避用の電波を誰かしらがキャッチ&解読し、位置などのデータをFR24のサーバーに送ることで成り立っているようだ。ADS-B信号は割と安く簡単な装置で受信できて、フリーソフトを用いればPCでその内容(コールサイン、位置、速度など)を解読できる。
このデータを自分のPCから送れれば、機能制限なしのアカウント(約5000円/月)が無料で手に入るので、すぐに元は取れるだろう。まあ、元が取れると言ってもお金が入るわけではないので、作ってみたい、やってみたい、というのが一番の動機。

もくじ

・買ったもの
・FR24にアカウントを作成

・アンテナの製作
・PC側の作業 ←ここでつまづいた
・受信結果

■買ったもの @カホパーツセンター

・USBレシーバ

アンテナ、リモコン無しの単体で1900円くらいでした。
機能としては、受信した電波をバイナリ信号か何かに復号して、USB経由でPCに送るところまで、といったところか。もともとの用途はFMラジオ、地デジの受信なのだろう。
後で調べたところによると、似たような商品でもADS-B信号の周波数1090[MHz]に対応していないものがあるらしく、ハズレを引くと悲しいので、店員さんに確認するかAmazonでADS-B対応を明記したものを買ったほうが良いと思う。

・MCXP-BNC変換ケーブル

1000円くらい(案外高い)。
USBレシーバ側端子はMCXという規格で、そのオス(Plug)なのでMCXP。いろいろ作ったアンテナを試せるよう、アンテナ側はBNC。
変換をかまさないで行きたいところだが、MCXプラグは専用圧着工具が必要そうだったので、とりあえずコレで。

・BNCプラグ(はんだ付け型)

300円くらい。
写真はもう結線しちゃってるけど、中心の信号線とピンははんだ付けするタイプ。はんだ付け不要のものもあったが、何となく損失低そうだったので。
ちなみに、BNCは Bayonet Neill Concelman の略だそうで(諸説あり)。なるほど、確かにバヨネット的な接続。でもConcelmanって誰。

・同軸ケーブル S3Cなんちゃら

100円/mくらい。
上のBNCコネクタについているやつ。
細いほうが取り回しやすいだろうと、売ってたBNCプラグが対応する最も細いものをチョイス。このあたりがきっと素人判断で、後で考えるともっと太いほうが伝送性能は良いのであろう。この辺はおいおい勉強しよう。
ちなみに、壁のアンテナ用コンセント~テレビに使うような、心線の周りに網状のシールドが施されたケーブル、エレキギター趣味がある関係で、一般的に「シールドケーブル」だと思ってました。ので店の人に「シールドケーブル下さい」と言ったのだけど、どうやらアンテナ線に使うようなものは「同軸ケーブル」と呼び、その違いは対応する周波数(同軸ケーブルのほうが高周波対応)なんだそうな。

■FR24にアカウントを作成

メールアドレス、パスワード等記入して作成。
特に困ることなし。

■アンテナの製作

電波の受信には、アンテナが必要だろう。
ADS-Bは1090[MHz]の信号で、いろんな場所を飛んでいる航空機からの電波を受信する必要がある。つまり、1090[MHz]にマッチし、指向性が無いもの。調べてみると、自作派界隈ではGround Plane(GP)アンテナと、Co-Linear(コリニア)アンテナと呼ばれる形式が良く製作されているようだ。いくつかの記事の雰囲気だと、

感度:  GP < コリニア ※GPでも使えなくはなさそう
製作難度:GP ≪ コリニア

のようで(そりゃそうだ。難易度が低くて感度が高ければ片方が滅びる)、とりあえずパパっと作ってみるにはGPでよかろう。範囲は狭くても受信してみて、改めてコリニアに挑戦して比較するのも良いと思う。

で、作りました。

構造は、直立した1/4波長の導体をケーブルの信号線(芯線)に、放射状に伸ばした同じく1/4波長の導体を外部導体(網線)に接続したもの。

各導体(エレメント)には電工試験の練習で余ったVVF2.0の芯線(Φ2[mm])を、放射エレメントの付け根には同じく余ったリングスリーブを使用。
受信周波数1090[MHz]の1/4波長は光速を3×10^8[m]とすると約69[mm]なのだが、ネットの作例は65[mm]とかで、微妙に短い。空気中の光速とか、何とか率とかいろいろあるのかも。未勉強。

出来上がったモノとしては、
・放射エレメントの付け根が垂直エレメントの付け根と一致していない
・中心から考えると、放射エレメントが3[mm]くらい長くなってる
・雰囲気で放射エレメントを下方に曲げたが、理屈が分かってない
・放射エレメントの数は多いほうが良いらしいが、ハンダが溶けて
 他が落ちるので4本が限界だった。
などの不備、エクスキューズがあるのだが、まあ使ってみよう。

※結果として部屋の中に置いても130[km]程度の受信距離が出たし、放射エレメントが無くても50[km]以上出たので、"とりあえず" で良ければ、GPアンテナの製作はそんなにシビアでなくてもOKぽい。

■PC側の作業

・ドライバの上書き
USBレシーバをPCに刺すと、標準のドライバを読み込みました。様々なサイトによれば、この標準ドライバを別のものに上書きする必要があるとのことで、手順に沿って行います。
Zadigなるドライバインストーラソフトをダウンロード、適当な場所に保存
起動すると、アカウント制御の確認が出るが続行。

こんな画面が出てきて、Options - List all Devices を選択。すると、プルダウンの一覧にあれこれ出てくる。

その中で、"RTL2838UHIDIR" または "Bulk-In,Interface(Interface 0)"(注意:Bulk-In,Interface(Interface '1')ではない。Interface 1 はUSBレシーバのリモコン制御用らしい) を選択して、自動で出てくるWinUSB (v~~~~~)をインストールする。
私が購入したレシーバは、当初"Bulk-In,Interface(Interface 0)"が出ていて、そいつに新しいドライバを上書きしたものの、後述のFR24フィーダを起動する際に認識できず、トラブりました。
改めてZadigを起動してみると、"Bulk-In,Interface(Interface 0)"は消えていて、"RTL2838UHIDIR"のみの表示になっていたのである。そこで改めてそいつにWinUSB (v~~~~~)を当てて無事解決した。
ここでは説明しない(できない)が、ADS-B受信用のいろんなソフトを試していたためにそうなってしまったのかもしれない。ちなみにあちこちで紹介されているADSB#(ADSBSharp)なるソフトは、どう試してもうまく動かなかった。

・fr24feedの導入
FlightRadar24のサイト
から、ソフトをダウンロード。
解凍して、中にある fr24feed.exe を実行。
初回にあれこれ登録するのだけど、スクリーンショットを撮っていないのでここを参考にメアドや受信機の位置などを登録しました。ここで、最寄りの空港を指定すると、T-RJFFxx(RJFFは福岡空港のICAOコード。xxは数字)のようなイカした名前がアカウントとして割り当てられます。登録すると、Sharing keyがメールで送られてくるらしい(なぜか自分にはSharing keyがメールされなかったのだが、何故かうまく動いている)。

再び fr24feed.exe を実行。

こんな画面が立ち上がって(バックスラッシュが¥になってる、、)、
[feed][i]sent 0,1 AC (数字部分は受信状況による)が表示されれば無事、送信できています。
3機程度の情報がシェアできると、アカウントが自動的にBusinessへアップグレードされるようです。自分の環境だと数分でOKでした。変わらない場合は一度ログアウトしてみるか、ここの下のほうを参考にするとよいかも。

■送受信結果

現在捉えている航空機の一覧は http://localhost:8754/ から、Show tracked aircraft list をクリックすれば見られます(直接 http://localhost:8754/tracked.html へ飛んでも良いけど)。

RTL1090 のように、WEBブラウザを介さず、ソフトの画面からリストを確認できるものもありますが、情報が新旧あったり公式と思しきサイトが開けなかったりで、自分は結局 fr24feed + ブラウザの方式になりました。
また、アカウント管理画面から Show Statistics を選ぶと、自分が検知した機数、方位、距離などの統計データを眺めることができます。距離の単位がnm(1[nm]=1852[m])しかないのが残念ですが。

初めて作ったヘボアンテナ、飼い猫の襲撃を受けない、などを考慮した結果、窓から3[m]ほど離れた部屋の中に安置。その結果がこちら。

窓がある東方面を中心に、最大87[nm] =137.6[km]の探知距離が出ていた。
上出来である。GoogleMapで試しに描いてみるとこんな感じ。

福岡空港はもちろん、佐賀、北九州、大分、熊本の空港がカバーできていて、関西、関東~アジア方面の航路もここを通過するので、多いときは20機以上、深夜でも5機程度は補足できているようだ。
ネットでは200[km]を超える距離を出している人がたくさんいるので、今後は設置場所、アンテナの種類など、いろいろ変えて実験してみようと思います。

参考にさせていただいたサイト、Blog記事:
KG-ACARS HFDL VDL MCAに感謝 受信方法 受信記録のブログPlus RTL-SDR
Flightradar24をビジネスクラスにアップグレード!設定編
SHAFT CORPORATIONのblog

この記事が気に入ったらサポートをしてみませんか?