Flightradar24にデータをフィードしてみる(Raspberry Pi にセットアップ)
Flightradar24 という、世界中の飛行機が今どこ飛んでる情報が見られる有名なサイト(スマホアプリも)があり、私も飛行機が多い場所に行くとつい起動して見てしまうのですが(楽しい)、その情報は全世界のユーザから集められたデータから成り立っています。私も、我が家のアンテナで受信したADS-BのデータをFlightrader24に提供する、 feeder (feed) をやってみました。フィードすると、有償のBusinessアカウントにアップグレードされる特典も付いてきます。備忘録です。
Flightradar24: Live Flight Tracker - Real-Time Flight Tracker Map
用意したもの
Raspberry Pi 関連
- Raspberry Pi (Raspberry Pi 3 Model B+)
- microSDHCカード CLASS 10 (32GB)
- AC電源(暫定で iPadの充電器(2.1A)で代用)
ADS-Bを受信するための、USBドングル型のチューナー(R820T2)
航空機が発信している ADS-B 位置情報 (高度、GPS 座標、機首方位など) を拾って受信するための機器として。「R820T2」や「ADS-B」をキーワードに探すと、こういう青いものがよく出てきます。
ただ、R820T2表記でもダメだった情報をいくつか見かけたので、レビューをよく読んで、こちらを購入。アンテナも付属。
- Nooelec NESDR Mini 2+ 0.5PPM TCXO
セットアップ
Raspberry Pi に OSインストール(Raspbian)
本来は、キーボードもディスプレイも不要(headless)で、Wifi経由のsshでインストール出来るはず。
はず、、というのは、どうやっても家のWifiルーター経由でラズパイにsshできない問題(connection refused)が有り、仕方なくディスプレイとキーボード繋いでやることに。ただこの問題は、後日、家のWifiルーターのファームウェアをバージョンアップしたら解決しました。
※OSインストールは2019年4月に実施、そこから特にUpdateしておらず以下。最近は、Raspberry Pi Imagerという、公式のOS書き込みツールが新しく出てきているようです。
pi@raspberrypi:~ $ uname -a Linux raspberrypi 4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l GNU/Linux
USBドングル型のチューナーを設置
付属のアンテナをチューナーに繋ぎ、チューナーをラズパイのUSBに挿しただけですが、どうやらこれだけで認識した様子😊
Flightrader24にFeedするためのソフトウェアをインストール(fr24feed)
インストール時に聞かれること
- Flightradar24に登録用のメールアドレス
- アンテナ設置場所の緯度(latitude)・経度(longitude)
- アンテナ設置場所の標高(単位はフィートで)
緯度・経度はgoogle mapのURLから、標高は住所から標高を調べるサイトでみて、住んでいる階の高さを適当に足しました。
インストール
ここに書いてあるとおりに、
Share your ADS-B data - Real-time flight tracker | Flightradar24
実行したのは以下の1行。
sudo bash -c "$(wget -O - https://repo-feed.flightradar24.com/install_fr24_rpi.sh)"
$ sudo bash -c "$(wget -O - https://repo-feed.flightradar24.com/install_fr24_rpi.sh)" (略) fr24feed (1.0.25-3) を設定しています ... You don't seem to have any dump1090 installed. On the fr24feed start it will automatically install dump1090-mutability. Created symlink /etc/systemd/system/multi-user.target.wants/fr24feed.service → /etc/systemd/system/fr24feed.service. (略) ______ _ _ _ _ _ _____ ___ | ___|| |(_) | | | | | | / __ \ / | | |_ | | _ __ _ | |__ | |_ _ __ __ _ __| | __ _ _ __`' / /' / /| | | _| | || | / _` || '_ \ | __|| '__|/ _` | / _` | / _` || '__| / / / /_| | | | | || || (_| || | | || |_ | | | (_| || (_| || (_| || | ./ /___\___ | \_| |_||_| \__, ||_| |_| \__||_| \__,_| \__,_| \__,_||_| \_____/ |_/ __/ | |___/ [main][i]FR24 Feeder/Decoder [main][i]Version: 1.0.25-3/generic [main][i]Built on Apr 8 2020 07:06:55 (HEAD-5e8ef0c.git/Linux/static_armel) [main][i]Running on: raspbian9 [main][i]Local IP(s): 192.168.11.10 [main][i]Copyright 2012-2020 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) $: abcabc@xyz.net <=== ★メールアドレスを入力 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, you can find it in your account on the website under "My data sharing". https://www.flightradar24.com/account/data-sharing Otherwise leave this field empty and continue. $: <=== ★何も入力せずに、Enter(既存ユーザはShareing Key(パスワードのようなもの)を入力) Step 1.3 - Would you like to participate in MLAT calculations? (yes/no)$: yes <=== ★よくわからないまま yes にしてみた。緯度経度硬度を正確に入れなさいと言われる。 IMPORTANT: For MLAT calculations the antenna's location should be entered very precise! Step 3.A - Enter antenna's latitude (DD.DDDD) $:35.6585 <===★緯度を入力(この入力例は、東京タワーの緯度) Step 3.B - Enter antenna's longitude (DDD.DDDD) $:139.7454 <===★経度を入力(この入力例は、東京タワーの経度) Step 3.C - Enter antenna's altitude above the sea level (in feet) $:333 <===★標高をフィートで入力(この入力例は、ダミー値) Using latitude: 35.6585, longitude: 139.7454, altitude: 333ft above sea level Validating email/location information...OK The closest airport found is ICAO:RJTT IATA:HND near Tokyo. <== ★最も近い空港を勝手に割り出してくれる(今回はRJTT/HND、つまり羽田空港) Latitude: 35.552250 Longitude: 139.779602 Country: Japan Flightradar24 may, if needed, use your email address to contact you regarding your data feed. Would you like to continue using these settings? Enter your choice (yes/no)$:yes <===★上記設定で続けますか?yes!! Step 4.1 - Receiver selection (in order to run MLAT please use DVB-T stick with dump1090 utility bundled with fr24feed): 1 - DVBT Stick (USB) ----------------------------------------------------- 2 - SBS1/SBS1er (USB/Network) 3 - SBS3 (USB/Network) 4 - ModeS Beast (USB/Network) 5 - AVR Compatible (DVBT over network, etc) 6 - microADSB (USB/Network) 7 - SBSx via Basestation (localhost:30006) Enter your receiver type (1-7)$:1 <===★1を入力 Checking for dump1090...NOT FOUND Step 4.3 - Enter your additional dump1090 arguments or leave empty <===★何も入力せずに、Enter (「追加のdump1090はある?」) Step 5.1 - Would you like to enable RAW data feed on port 30002 (yes/no)$:yes Step 5.2 - Would you like to enable Basestation data feed on port 30003 (yes/no)$:yes Step 6 - Please select desired logfile mode: 0 - Disabled 1 - 48 hour, 24h rotation 2 - 72 hour, 24h rotation Select logfile mode (0-2)$:1 <===★任意だが、今回は1を入力 Submitting form data...OK Congratulations! You are now registered and ready to share ADS-B data with Flightradar24. + Your sharing key (1cXXXXXXXXXXXXXX) ★sharing key が表示される★ has been configured and emailed to you for backup purposes. + Your radar id is T-RJTTXXX ★RADAR IDが表示される★, 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 Installation and configuration completed! $
sharing key と、RADAR ID(レーダーID) は、後でメールでも届きました。
レーダーIDは、T-RJTT-XXX のような、最寄りの空港のレターコードがついた、それっぽい感じの名前が付与されます😊
fr24feedを起動
インストールログの最後にかかれているように、以下で起動します。
$ sudo systemctl start fr24feed
fr24feed 起動状況の確認
fr24feed-status
$ fr24feed-status [ ok ] FR24 Feeder/Decoder Process: running. [ ok ] FR24 Stats Timestamp: 2020-06-03 16:29:57. [ ok ] FR24 Link: connected [TCP]. [ ok ] FR24 Radar: T-RJTTXXX. [ ok ] FR24 Tracked AC: 0. [ ok ] Receiver: connected (0 MSGS/0 SYNC). [ ok ] FR24 MLAT: ok [UDP]. [ ok ] FR24 MLAT AC seen: 0.
systemctl status fr24feed
$ sudo systemctl status fr24feed ● fr24feed.service - Flightradar24 Decoder & Feeder Loaded: loaded (/etc/systemd/system/fr24feed.service; enabled; vendor preset: Active: active (running) since Sun 2020-05-31 11:09:12 JST; 3 days ago Main PID: 440 (fr24feed) CGroup: /system.slice/fr24feed.service ├─ 440 /usr/bin/fr24feed └─17416 /usr/bin/dump1090-mutability --raw --mlat --write-json /run/d
※ラズパイ再起動後も自動起動するよう設定されている。
$ systemctl is-enabled fr24feed enabled
関連ログ
- /var/log/fr24feed/fr24feed.log : fr24feedのログ
- /run/dump1090-mutability/*.json:dump1090-mutability のログ
リソース使用状況など
CPUもメモリも全然余裕そうです。
Flightradar24サイトで自分がFeedした情報を確認
feedが始まると、Businessアカウントに格上げされます✈️
(feedが止まると格下げされるっぽい)
My Data Sharing から、自分がfeedしたデータの状況が確認できます。送信したフライトの数や、方位別集計、どのくらい遠くまで拾えたかの距離(単位は nm = 海里)などが、グラフィカルに表示されます。(グラフ表示は数時間待ちました。最初出なくて焦ってた💦)
自分のスタッツのグラフ見てるだけでも楽しいですが、ランキング表示があり、これはやる気をかきたてられるやん...。と、思いました。
ADS-B data statistics - Real-time flight tracker | Flightradar24
スコアは、過去30日間の起動時間・距離(最大や平均)から集計されるようです。起動しっぱなしにするだけで 8,640 points はもらえるなので、あとはいかに距離を広げてスコアを稼ぐかのようです。
おまけ:インストール後に学んだこと
飛行機も無線も全く詳しくないけどよくわからないままにチューナー挿してコマンド1つ実行したら動きはじめたようですが、後追いで調べてみました。引用だらけで失礼します🙏
ADS-B
ADS-B = Automatic Dependent Surveillance-Broadcast
ADS-B は、航空機を追跡するため協調監視技術です。この技術により、航空機は、モード S 信号方式を使用して、位置情報 (高度、GPS 座標、機首方位など) を定期的にブロードキャストします。
https://jp.mathworks.com/help/comm/examples/airplane-tracking-using-ads-b-signals.html
送信周波数: 1090 MHz
dump1090
RTL-SDRレシーバで受信したADS-Bの信号を文字にして出力するデコーダソフトウエア。
https://gato.intaa.net/archives/21762
ADS-Bの送信周波数が 1090 MHzにちなんだ名前になっているそう。dump1090にはいくつかのバージョン(のようなもの)がある。
flightradar24のインストールで、一緒にインストールされる dump1090は、dump1090-mutabilityというもの。
データを、Flightradar24に送らなくても、単体でも簡単な可視化ができるWebアプリも付いているので、単体で起動してみる。
### fr24feedで自動起動しているものを停止 $ sudo systemctl stop fr24feed ### dump1090を起動 $ dump1090-mutability --net --aggressive --interactive
インタラクティブに更新されます。
あと、ブラウザからも見れます。 http://<ラズパイのIPアドレス>:8080
dump1090により保存される、JSONファイルのフォーマット内容例(※これはdump1090-fa のもの)
dump1090/README-json.md at master · SDRplay/dump1090 · GitHub
ただこちら、もう新規インストールには使わないで、これからは dump1090-fa を使ってよ~とある。
GitHub - mutability/dump1090: Dump1090 is a simple Mode S decoder for RTLSDR devices
今後余力があれば、dump1090-fa に置き換えを検討したいと思います。
dump1090-fa - がとらぼ