2017年に書いた RasPi(Stretch)でADS-B受信 を更新したお話

ADS-Bとかの話は省略

使った部材

Amazonにあるこういうのでもいけると思う
NESDR Mini 2+ 0.5PPM TCXO RTL-SDRおよびADS-B USBレシーバーセット(アンテナ、吸引マウント、メスSMAアダプター付き)。 RTL2832UおよびR820T2チューナー。 低コストのソフトウェア無線

環境

OS

$ cat /etc/os-release 
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

下準備

アップデート

sudo apt update
sudo apt full-upgrade -y
sudo apt autoremove -y
sudo apt clean
sudo reboot

ADS-B USBデバイスの接続確認

$ lsusb 
Bus 001 Device 005: ID 046d:c534 Logitech, Inc. Unifying Receiver
Bus 001 Device 004: ID 0bda:2832 Realtek Semiconductor Corp. RTL2832U DVB-T
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

rtl-sdrインストール

必要PKGインストール

sudo apt install git cmake libusb-1.0-0-dev build-essential

rtl-sdr インストール

git clone https://git.osmocom.org/rtl-sdr
cd rtl-sdr/
mkdir build
cd build/
cmake ../
make
sudo make install
sudo cp ../rtl-sdr.rules /etc/udev/rules.d/
sudo ldconfig

エラー対処

Linux標準ドライバが読み込まれないようにする

/etc/modprobe.d/rtlsdr-blacklist.conf に追記
```shell
$ cat /etc/modprobe.d/rtlsdr-blacklist.conf
blacklist dvb_usb_rtl28xxu
blacklist rtl2830
blacklist dvb_usb_v2

動作テスト

$ rtl_test -t

Found 1 device(s):
  0:  Realtek, RTL2832U, SN: 00001000

Using device 0: Generic RTL2832U
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6 
[R82XX] PLL not locked!
Sampling at 2048000 S/s.
No E4000 tuner found, aborting.

dump1090-faのインストール

必要PKGインストール

sudo apt install libncurses5-dev librtlsdr-dev libbladerf-dev dh-systemd libncurses5-dev libhackrf-dev liblimesuite-dev lighttpd

dump1090-fa インストール

mkdir dump1090-fa
cd dump1090-fa/
git clone https://github.com/flightaware/dump1090 dump1090-fa
cd dump1090-fa
dpkg-buildpackage -b --no-sign
cd ..
sudo dpkg -i dump1090-fa_5.0_armhf.deb 

サービス起動

sudo systemctl enable --now dump1090-fa.service

動作確認

Webブラウザで http://RasPiのIPアドレス:8080 にアクセスすると以下の画面が表示されます。
正常に動作していると飛行機の情報が見えてるはずです。

fr24feedのインストール

flightradar24の手順 通りに実施します。

緯度/経度/高度の確認

国土地理院 地理院地図でアンテナ設置場所の緯度/経度/高度を確認します。
地理院地図での標高はm単位なので、googleで「単位変換」で検索して変換しておきます。

インストール

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

セットアップウィザード

ウィザードが表示されるので適当に設定していきます。

質問事項 入力内容
Step 1.1 - Enter your email address (username@domain.tld) FR24の登録メールアドレス
Step 1.2 - If you used to feed FR24 with ADS-B data before, enter your sharing key. シェアリングキー 新規の場合は空欄でEnter
Step 1.3 - Would you like to participate in MLAT calculations? (yes/no) MLAT計算に参加するかどうか
Step 3.A - Enter antenna’s latitude (DD.DDDD) アンテナ設置場所の緯度
Step 3.B - Enter antenna’s longitude (DDD.DDDD) アンテナ設置場所の軽度
Step 3.C - Enter antenna’s altitude above the sea level (in feet) アンテナ設置場所の高度(単位:フィート)
Would you like to use autoconfig (yes/no) dump1090が動いていれば自動設定になるのでyes
Step 6 - Please select desired logfile mode ログファイル設定

サービス再起動

sudo systemctl restart fr24feed
sudo systemctl enable fr24feed

メール承認

新規で登録した場合、FR24の登録メールアドレスに確認メールがきているので確認しておきます。

動作確認

フィードを設定してから30分くらい放置した後にFR24のデータシェアリングを確認します。 RADARが登録され、Onlineになっていれば完了です。
アンテナの感度や時間帯によってはOnlineだけどNO DATAになるので調整しましょう。