以前、Raspberry Pi 3 + DVB-T で ADS-B 受信機を作成してから 2 年近く経つので、OS の入れ替えを兼ねて、メモを残しておきます。
ちなみに、今までは Ubuntu MATE 16.04 で運用してました。
まさおのブログ (表): Raspberry Pi 3 を ADS-B レシーバーにして、Flightradar24 の Business Plan を無料で利用
■ 環境
Hardware | Raspberry Pi 3 Model B |
OS | Ubuntu MATE 18.04 |
SD | SanDisk Ultra micro SDHC 32GB Class10 A1 |
DVB-T | Radioddity S1 ミニ レシーバー 受信機 デジタル USB RTL-SDR ADS-B セット RTL2832U & R820T2 チューナー MCX 入力 ソフトウェア ポータブル DVB-T+DAB+FM ブラック |
1. Ubuntu MATE 18.04 イメージを micro SD に書き込む
Ubuntu MATE のサイト からイメージを取得。micro SD に書き込む。
$ sudo apt install gddrescue xz-utils
$ unxz ubuntu-mate-18.04.2-beta1-desktop-arm64+raspi3-ext4.img.xz
$ sudo ddrescue -D --force ubuntu-mate-18.04.2-beta1-desktop-arm64+raspi3-ext4.img /dev/mmcblk0
GNU ddrescue 1.23
Press Ctrl-C to interrupt
ipos: 4539 MB, non-trimmed: 0 B, current rate: 14417 kB/s
opos: 4539 MB, non-scraped: 0 B, average rate: 14834 kB/s
non-tried: 460714 kB, bad-sector: 0 B, error rate: 0 B/s
rescued: 4539 MB, bad areas: 0, run time: 5m 6s
pct rescued: 90.78%, read errors: 0, remaining time: 32s
time since last successful read: 0s
Copying non-tried blocks... Pass 1 (forwards)
2. Ubuntu MATE 18.04 諸設定
ここはお好みで。
別の PC から SSH でログインして作業したいので、SSHd をひとまず起動。
$ sudo apt update
$ sudo apt upgrade
SSHd を有効にする。これをやらないと SSHd が起動できなかった。/etc/ssh/ssh_host_*_key が存在しないため。
$ sudo dpkg-reconfigure openssh-server
$ sudo /etc/init.d/ssh restart
$ sudo systemctl enable ssh
NTP をインストールする。
$ sudo apt install ntp
3. FlightAware
(参考)
https://ja.flightaware.com/adsb/piaware/install
https://discussions.flightaware.com/t/piaware-v-3-7-1-on-debian-10-0-buster-amd64-intel-pc/52414
■ Piaware
$ sudo apt install -y git devscripts build-essential debhelper tcl8.6-dev autoconf python3-dev python3-venv virtualenv \
dh-systemd zlib1g-dev tclx8.4 tcllib tcl-tls itcl3 net-tools libboost-system-dev libboost-program-options-dev \
libboost-regex-dev libboost-filesystem-dev
$ git clone https://github.com/flightaware/piaware_builder.git
$ cd piaware_builder
$ ./sensible-build.sh stretch
$ cd package-stretch
$ sudo dpkg-buildpackage -b --no-sign
$ cd ../
$ sudo dpkg -i piaware_3.7.1_arm64.deb
既に feeder id がある場合は、下記を設定。
$ sudo piaware-config feeder-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
$ sudo piaware-config allow-auto-updates yes
$ sudo piaware-config allow-manual-updates yes
sudo systemctl restart piaware
■ dump1090-fa
$ sudo apt install -y git lighttpd build-essential debhelper dh-systemd \
libboost-system-dev libboost-program-options-dev libboost-regex-dev \
libboost-filesystem-dev libsoapysdr-dev soapysdr-module-rtlsdr \
debhelper dh-systemd librtlsdr-dev libusb-1.0-0-dev \
git pkg-config libncurses5-dev lighttpd libbladerf-dev
$ git clone https://github.com/flightaware/dump1090.git dump1090-fa
$ cd dump1090-fa
$ sudo dpkg-buildpackage -b --no-sign
$ cd ../
$ sudo dpkg -i dump1090-fa_3.7.1_arm64.deb
$ sudo systemctl restart dump1090-fa
しばらくしたら、下記リンクで Piaware と FlightAware のアカウントを関連付ける。
同じルータ配下の別 PC からブラウザでアクセスすれば OK。
https://flightaware.com/adsb/piaware/claim
更に、MY ADS-B のリンクから、アンテナ設置場所の緯度、経度、高度を設定すれば OK。
4. Flightradar24
今回もサクッとインストールできるかと思ったら、少しはまった。下記を実行すると fr24feed が見つからないと言われる。
$ sudo bash -c "$(wget -O - https://repo-feed.flightradar24.com/install_fr24_rpi.sh)"
N: リポジトリ 'http://flightaware.com/adsb/piaware/files/packages stretch InRelease' がアーキテクチャ 'arm64' をサポートしないため設定ファイル 'piaware/binary-arm64/Packages' の取得をスキップ
N: リポジトリ 'http://repo.feed.flightradar24.com flightradar24 InRelease' がアーキテクチャ 'arm64' をサポートしないため設定ファイル 'raspberrypi-stable/binary-arm64/Packages' の取得をスキップ
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
E: パッケージ fr24feed が見つかりません
このエラーを回避するために、下記を設定すると良い。ちょっとはまった。
$ sudo dpkg --add-architecture armhf
$ sudo dpkg --print-foreign-architectures
armhf
再度、実行。
$ sudo bash -c "$(wget -O - https://repo-feed.flightradar24.com/install_fr24_rpi.sh)"
______ _ _ _ _ _ _____ ___
| ___|| |(_) | | | | | | / __ \ / |
| |_ | | _ __ _ | |__ | |_ _ __ __ _ __| | __ _ _ __`' / /' / /| |
| _| | || | / _` || '_ \ | __|| '__|/ _` | / _` | / _` || '__| / / / /_| |
| | | || || (_| || | | || |_ | | | (_| || (_| || (_| || | ./ /___\___ |
\_| |_||_| \__, ||_| |_| \__||_| \__,_| \__,_| \__,_||_| \_____/ |_/
__/ |
|___/
[main][i]FR24 Feeder/Decoder
[main][i]Version: 1.0.23-8/generic
[main][i]Built on Oct 16 2018 08:10:47 (HEAD-2d57e58.git/Linux/static_armel)
[main][i]Running on: ubuntu18.04
[main][i]Local IP(s): 192.168.10.15
[main][i]Copyright 2012-2018 Flightradar24 AB
[main][i]https://www.flightradar24.com
[main][i]DNS mode: PING
Welcome to the FR24 Decoder/Feeder sign up wizard!
Before you continue please make sure that:
1 - Your ADS-B receiver is connected to this computer or is accessible over network
2 - You know your antenna's latitude/longitude up to 4 decimal points and the altitude in feet
3 - You have a working email address that will be used to contact you
4 - fr24feed service is stopped. If not, please run: sudo systemctl stop fr24feed
To terminate - press Ctrl+C at any point
Step 1.1 - Enter your email address (username@domain.tld)
$:●Flightradar24 に登録しているメールアドレスを入力
Step 1.2 - If you used to feed FR24 with ADS-B data before enter your sharing key.
If you don't remember your sharing key, pelase use the retrival form:
https://feed.flightradar24.com/forgotten_key.php
Otherwise leave this field empty and continue.
$:●新規登録であれば、メールで送られてきた sharing key を入力。または既存のものを入力
Verifying sharing key...OK
Step 1.3 - Would you like to participate in MLAT calculations? (yes/no)$:yes
IMPORTANT: For MLAT calculations the antenna's location should be entered very precise!
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)
$:●設置場所の高度を入力
Using latitude: XX.XXXX, longitude: XXX.XXXX, altitude: XXft above sea level
We have detected that you already have a dump1090 instance running. We can therefore automatically configure the FR24 feeder to use existing receiver configuration, or you can manually configure all the parameters.
Would you like to use autoconfig (*yes*/no)$:● yes を入力
Step 6A - Please select desired logfile mode:
0 - Disabled
1 - 48 hour, 24h rotation
2 - 72 hour, 24h rotation
Select logfile mode (0-2)$:● 2 を入力
Step 6B - Please enter desired logfile path (/var/log/fr24feed):
$:●何も入力せずに Enter
Submitting form data...OK
Congratulations! You are now registered and ready to share ADS-D data with Flightradar24.
+ Your radar id is T-RJFF33, please include it in all email communication with us.
+ Please make sure to start sharing data within one month from now as otherwise your ID/KEY will be deleted.
Thank you for supporting Flightradar24! We hope that you will enjoy our Premium services that will be available to you when you become an active feeder.
To start sending data now please execute:
sudo systemctl start fr24feed
Saving settings to /etc/fr24feed.ini...OK
Settings saved, please run "sudo systemctl restart fr24feed" to use new configuration.
fr24feed を再起動。
$ sudo systemctl restart fr24feed
5. RadarBox
続いて RadarBox。
RadarBox は、下記コマンドを実行するだけ。
RadarBox のアカウントに紐付ける方法は、忘れてしまいました。
あと、mlat-client のインストールができませんでした。
$ sudo bash -c "$(wget -O - http://apt.rb24.com/inst_rbfeeder.sh)"
(本来は、これもやる必要がありますが、失敗します)
$ sudo apt install mlat-client
mlat-client をソースからインストール。
$ wget wget https://github.com/mutability/mlat-client/archive/v0.2.10.tar.gz
$ tar zxvf v0.2.10.tar.gz
$ cd mlat-client-0.2.10/
$ dpkg-buildpackage -b -uc
$ sudo dpkg -i ../mlat-client_0.2.10_arm64.deb
$ sudo ./setup.py install
(再起動)
$ init 6
設定ファイルのメモを残しておきます。
$ cat /etc/rbfeeder.ini
[client]
network_mode=true
log_file=/var/log/rbfeeder.log
key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
sn=XXXXXXXXXXXX
[network]
mode=raw
external_port=30002
external_host=127.0.0.1
[mlat]
■ 備考
ADS-B feeder を設置すると、下記プランが無料で利用可能になります。
年間、$ 1 = 108 円 換算で、$ 499.99 + ($ 89.95 × 12) + $399.50 = $ 1,978.89 = 213,720 円 お得です♪
dump1090 の受信状況は下記コマンドで確認できる。
$ nc 127.0.0.1 30003
● Raspberry Pi 3, raspi3, raspi, DVB-T, Ubuntu MATE 18.04, ADS-B, Flightradar24, FlightAware RadarBox, dump1090-fa