Raspberry Pi3を使ってADS-Bを受信、FlightRadar24にフィードする

前回はbump1090を使ってADS-Bを受信し表示させましたが、今回は更にそのデータをFlightRader24に送信してみます。前提として24時間の電源確保とインターネット接続が必要になります。 条件を満たしている場合、フィーダー特典としてビジネスアカウント($49.99/月)が提供されます。

 

 

以下を打ち込み、その後必要事項を記入するだけで簡単にフィードをすることができます。

sudo bash -c "$(wget -O - http://repo.feed.flightradar24.com/install_fr24_rpi.sh)"

 

インストールが終わると初期セットアップが始まります。

 

Enter your email address (username@domain.tld)

 

最初にメールアドレスを聞かれますアカウントを登録するときに必要となります。

次に、過去にキーを持っていたか聞かれるので、持っていない場合は空欄で次にすすみます。

 

 

Would you like to participate in MLAT calculations? 

MLATを使うかです。

どちらでもいいと思います。

 

 

 Enter antenna's latitude (DD.DDDD) 

 Enter antenna's longitude (DDD.DDDD)

アンテナの緯度経度、海抜高度をです。

緯度経度はGoogleMAP上で右クリックをして”この場所について”をクリックすると表示出来ます。 海抜高度は

Google Maps 標高 (SRTM版)

こちらのサイトで取得できます。

 

次に、

Would you like to continue using these settings?

と聞かれるのでyesを入力します。

 

 

 

Receiver selection

次に使用する受信機を聞かれるので答えます。私の使っているR820T2の場合

1 - DVBT Stick (USB) を選びます。

 

 

 

Enter your additional dump1090 arguments or leave empty

こちらは空白のままでOKです

 

 

Would you like to enable RAW data feed on port 30002 (yes/no)

Would you like to enable Basestation data feed on port 30003 (yes/no)

 

こちらの2つはどちらもnoにしておきます。

 

Please select desired logfile mode

ログファイルの設定です /var/log に置かれます。 お好みで選択してください。

 

 

以上で設定は終わりです。FlightRader24からメールが届きます。

以下、FR24のコマンドです

 

sudo service fr24feed start フィードをスタート
sudo service fr24feed stop フィードをストップ
sudo service fr24feed restart 再起動
sudo service fr24feed status 現在のステータス

Raspberry Pi3でADS-Bを受信する

 

 

前回はPCを使って受信しましたが、今回はRaspberry Pi3を使って受信していきます。

Raspberry Piの初期設定は終わっている前提で進めていきます。

 



必要なパッケージをインストール

sudo apt-get install git
sudo apt-get install cmake
sudo apt-get install libusb-1.0-0.dev
sudo apt-get install build-essential
sudo apt-get install pkg-config
 
 

rtl-sdrをGitHubから取得

git clone git://git.osmocom.org/rtl-sdr.git

 

 

rtl-sdrをビルド

cd rtl-sdr
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig
cd -
sudo cp rtl-sdr.rules /etc/udev/rules.d/
 

 

SDR受信機のテスト

sudo rtl_test

Found 1 device(s):○○ が表示されればOK
されない場合、以下を試す

sudo rmmod dvb_usb_rtl28xxu




dump1090をGitHubから取得

git clone git://github.com/MalcolmRobb/dump1090.git

 

dump1090をビルド

cd dump1090
make

 

dump1090を実行

./dump1090 --interactive --net



コンソールに受信したデータのリストが出ていれば成功です。

また、ブラウザでRaspberry PiIPアドレスの8080番ポートポートにアクセスして以下のような地図を見ることができます。

 

f:id:vita_n:20170214225405p:plain

ADS-Bを受信してみる

Flightradar24.com 等のトラッキングサイトは基本的に航空機から発信されるADS-Bという信号をキャッチしてそのデータをMAPにプロットしています。

今回はその信号をPCで受信して実際に表示させてみようと思います。

同じような記事は他の方のブログにあると思いますがソフトウェアのリンク切れで躓いた点があったので備忘録も兼ねての記事です。

 

 

 

ADS-Bを受信するにはSDR受信機と呼ばれるものが必要になります。基本的に数千円あればAmazon等で買えると思います。私が今回使ったのはこれです。

 

まず必要なソフトウェアのインストールから始めます

・RTL1090 http://rtl1090.com/

受信機で受信した信号をエンコードするソフトです

 

 f:id:vita_n:20170214184138p:plain

一番上をDLして解凍しておきます。

 

 

 

私はまずここで躓きました。 解凍してexeを実行しても起動できません。

 

f:id:vita_n:20170214184508p:plain

おそらくこの様なエラーが出てきます。 書いてある通り、必要なファイルが足りません。

そこで正攻法ではないと思いますが、他のソフトウェアにこのファイルが付属してくるので次の手順でそちらをDLしてきます。

 

・SDR software Package

 http://airspy.com/download/

 

こちらから、一番上のSDR software PackageをDLし解凍します。

解凍したファイルの中に install-rtlsdr.bat というファイルがあるので、これを実行します。

実行が終わるとコンソールが閉じ、zadig.exe というファイルが増えているはずです。

zadigを実行し、SDR受信機のドライバーを書き換えます。

ここではSDR受信機をUSBに挿しておいてください

 

まずzadigのOptionsタブからList All Devicesにチェックを入れます。

次に、ドロップダウンリストからBulk-In,Interface(Interface0)を選択します。

Driverの項目が以下の画像のようになっているか確認し、Replace Driverを実行します。

f:id:vita_n:20170214185321p:plain

ドライバーのインストールは以上です。

 

 

さて、次はRTL1090に不足していたファイルを取り出します。

まずSDR software Packageのフォルダにある rtlsdr.dll libusb-1.0.dll の2つのファイルをコピーしてRTL1090のフォルダに貼り付けます。

f:id:vita_n:20170214190600p:plain

 

最終的なファイル構成がこのようになっていればOKです。

SDR software Packageはもう使わないので削除なり何なりしてもらって大丈夫です

 

これでRTL1090が起動できるようになったはずです。実行してみましょう

 

f:id:vita_n:20170214190937p:plain

STARTボタンを押して画像のような状態になればおそらく動いています。

一旦このソフトは終了させておきます。

 

次に、受信してエンコードしたデータを地図上に表示させるためのソフトウエアをインストールします。

・adsbSCOPE

http://www.sprut.de/electronic/pic/projekte/adsb/adsb_en.html

 

こちらのサイトの左側からDownloadページに飛び、Latest VersionのZIPファイルをDLし、解凍します。

解凍したフォルダの中のadsb_all\adsb_all\pc_software\adsbscope\27

に、adsbscope27_256.exeというファイルがあるはずなので実行します。

 

 

そして、other>Network>Network setup を開きます

f:id:vita_n:20170214191756p:plain

 

 

f:id:vita_n:20170214191800p:plain

 

上の画像のようなウインドウが出て来るので、URLの横にあるlocalボタンを押し、127.0.0.1に合わせます。 合わせたらOKを押し閉じます。

以上で設定系は全て終わりです。

 

SDR受信機にアンテナを接続し、アンテナを高くて見晴らしのいいところ(ベランダなど)に出しておきます。

 

先程と同じくRTL1090を起動し、STARTボタンを押します。

その状態で、adsb scopeの start RAW-data CLIENTを押します。

f:id:vita_n:20170214192228p:plain

 

すると右上のテキストボックスに接続完了のメッセージが流れ、ADS-Bの受信が開始され地図上に飛行機が表示され始めます。

 

f:id:vita_n:20170214192701p:plain

 

もちろんですが地図を自分の住んでいる場所(日本)にドラッグしてこないと表示されないのでご注意ください。初期位置ではヨーロッパになっています。

 

 

今回はここまでです。 

何か質問等がありましたらコメントへ気軽にどうぞ。