RTL-SDR Blog V4でADS-Bを受信しFlightradar24とFlightAwareにデータを送信 ①(dump1090-fa設定まで)

2024年1月24日

RTL-SDR Blog V4 (ソフトウェアラジオに使用できるUSBドングル)を使用して航空機が発信しているADS-Bを受信し、Flightradar24へのデータFeed(送信)にチャレンジしてみた話です。ついでにFlightAwareにもデータを送ってみます。

WindowsPC上にLinuxの仮想環境を作り、その中でADS-BのでコードとFlightradar24へのfeed(受信したADS-Bデータを送信)を実施してみました。

方法は下記のとおりです。

VirtualBox をインストール

下記サイトからVirtualBoxのWindows用パッケージをダウンロードし、インストールする。

https://www.virtualbox.org/wiki/Downloads

VirtualBox上にLinux(Raspberry Pi Desktop for PC)を構築

下記のサイトから「Raspberry Pi Desktop for PC」をダウンロードし、VirtualBox上にインストールする。

https://www.raspberrypi.com/software/raspberry-pi-desktop/

ネットワーク設定

VirtualBoxの設定から、ネットワーク接続をブリッジに変更

RaspverryPi内のネットワーク設定でIPアドレスを固定

RTL-SDRドングルにLinuxからアクセスできるように設定

VirtualBoxの設定のUSBから、RTL-SDRドングルをLinuxからアクセスできるように設定する。

そうすると下記のようにLinux側からUSBドングルが見えるようになります。

次にここを参考にRTL-SDR Blog V4用のドライバをインストールします。

後程、dump1090-fa 等をビルド&インストールする際にDebianのパッケージ管理システムを使用するため、このドライバについてもパッケージ管理システムを使ってビルド&インストールしていきます。

sudo apt update
sudo apt install libusb-1.0-0-dev git cmake
sudo apt install debhelper

git clone https://github.com/rtlsdrblog/rtl-sdr-blog
cd rtl-sdr-blog
sudo dpkg-buildpackage -b --no-sign
cd ..

sudo dpkg -i librtlsdr0_*.deb
sudo dpkg -i librtlsdr-dev_*.deb
sudo dpkg -i rtl-sdr_*.deb

下記を実行しておかないとうまくいかない場合もあるようです。

echo 'blacklist dvb_usb_rtl28xxu' | sudo tee --append /etc/modprobe.d/blacklist-dvb_usb_rtl28xxu.conf

dump1090-fa をインストール

公式サイトに書かれているインストール方法は32bitのarm用(=RaspverryPi専用)のパッケージインストール方法なので、VirtualBox等のVM上にインストールしたRaspverryPi for PCや他のLinuxでは使用できません。

そこで、githubのflightawareのリポジトリからソースをダウンロードしてビルドしてインストールします。

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

sudo apt-get install build-essential fakeroot debhelper librtlsdr-dev pkg-config libncurses5-dev libbladerf-dev libhackrf-dev liblimesuite-dev libsoapysdr-dev lighttpd

デコードソフトの dump1090-fa のコードをダウンロード。

cd ~
git clone https://github.com/flightaware/dump1090 dump1090-fa
cd dump1090-fa

パッケージの依存関係に関するエラーが出ないようにするため、dump1090-fa 内の「debian/rules」を編集して、末尾に下記を追加。

override_dh_shlibdeps: 
        dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info

その後ビルドとインストール。

dpkg-buildpackage -b --no-sign

cd ~
sudo dpkg -i dump1090-fa_9.0_i386.deb

dpkgするファイル名は環境やバージョンによって異なります。

これで dump1090-fa のインストールは完了です。

dump1090-fa の起動

メモ:librtlsdr がないから起動できない等のえらエラーが出たら再度インストールする。

dump1090-fa をサービスとして登録し、Linux起動時に自動的に起動するようにします。

sudo systemctl enable dump1090-fa.service
sudo service dump1090-fa start

無線

Posted by Takuma