きっかけ
沖縄で飛行機を見ながら id:masawada さんとFlightradar24の仕組みについての話をしていて、ADS-Bレシーバー作ったらどうですか?と言ってもらったことがきっかけになりました。家にRaspberry Piがあり、mackerel-agentを入れて遊んでいるだけでした。何かやりたいことがあれば良いなと思って放置していたのでちょうどよかったのでした。ADS-Bレシーバーについて調べてみるとFMのUSBチューナーを買うだけでレシーバーを組めることがわかったので帰ってすぐにポチりました。
運用開始
買ったのはこれ↓
構築手順(chefとかAnsible)にしたい気持ちもあるがまだできていないです。dump1090というソフトウェアが落ちたらすぐにサーバーとしての機能を停止してしまう状況なので、まずはsystemctlで管理できるようにして自動再起動などを取り入れたいと思っています。
アンテナは窓際に置いています。本当は屋上とかに置きたいくらいではあるけれども。
暮らしのご紹介
dump1090というソフトウェアを動かすとレシーバーから受信したデータをこのように標準出力に定期的に吐き出してくれます。分かる人にはわかると思うので書いておきますが最寄りの空港は大阪伊丹空港です。
Hex Mode Sqwk Flight Alt Spd Hdg Lat Long Sig Msgs Ti| ------------------------------------------------------------------------------- 85D7C0 S 2150 ANA772 24000 383 218 35.962 136.095 5 55 2 84B982 S 2321 18000 327 258 5 14 28 851186 S 26000 4 13 7 861E56 S 3356 JAL184 22825 437 154 35.860 136.567 4 52 0 71C004 S 32000 340 270 4 20 7 86DD66 S 2113 5500 6 72 22 8464B0 S 3314 ANA654A 25000 535 093 34.867 135.796 16 1882 0 71C343 S 4335 ESR601 35000 585 078 36.395 135.420 5 199 6 85C5DC S 2274 ANA633 21975 361 261 35.022 135.862 18 1066 0 86DDF0 S 2421 26000 366 268 5 63 0 841EBC S 2331 JJP641 24000 347 257 35.252 136.492 6 399 0 8694FA S 3721 ANA961 26000 393 271 35.907 135.740 6 298 2 84013F S 3325 21000 5 683 15 71BA08 S 3654 KAL744 24000 381 276 35.351 135.639 5 1370 2 850E59 S 2275 35975 3 140 5 86EBFA S 6030 ANA857 25975 383 257 34.919 135.304 15 3233 0 86D98E S 3747 ANA861 39975 358 269 35.978 134.565 6 507 0 84CB66 S 2446 SFJ61 26000 306 257 34.919 134.326 5 2696 3
Flightradar24へADS-Bデータを送信するデーモンであるfr24のログも面白いので紹介します。ASCIIアートでFlightradar24と書かれているのがかわいい。きちんとS3上でaptのリポジトリを持っているというのも個人的には高ポイントでした。
2020-02-07 22:15:02 | ______ _ _ _ _ _ _____ ___ 2020-02-07 22:15:02 | | ___|| |(_) | | | | | | / __ \ / | 2020-02-07 22:15:02 | | |_ | | _ __ _ | |__ | |_ _ __ __ _ __| | __ _ _ __`' / /' / /| | 2020-02-07 22:15:02 | | _| | || | / _` || '_ \ | __|| '__|/ _` | / _` | / _` || '__| / / / /_| | 2020-02-07 22:15:02 | | | | || || (_| || | | || |_ | | | (_| || (_| || (_| || | ./ /___\___ | 2020-02-07 22:15:02 | \_| |_||_| \__, ||_| |_| \__||_| \__,_| \__,_| \__,_||_| \_____/ |_/ 2020-02-07 22:15:02 | __/ | 2020-02-07 22:15:02 | |___/ 2020-02-07 22:15:02 | [main][i]FR24 Feeder/Decoder 2020-02-07 22:15:02 | [main][i]Version: 1.0.24-7/generic 2020-02-07 22:15:02 | [main][i]Built on Nov 7 2019 11:23:04 (HEAD-be32703.git/Linux/static_armel) 2020-02-07 22:15:02 | [main][i]Running on: raspbian9 2020-02-07 22:15:02 | [main][i]Local IP(s): xxx.xxx.xxx.xxx 2020-02-07 22:15:02 | [main][i]Copyright 2012-2019 Flightradar24 AB 2020-02-07 22:15:02 | [main][i]https://www.flightradar24.com 2020-02-07 22:15:02 | [main][i]DNS mode: PING 2020-02-07 22:15:03 | [main][i]Automatic updates are ENABLED 2020-02-07 22:15:03 | info | [httpd]Server started, listening on 0.0.0.0:8754 2020-02-07 22:15:05 | [i]PacketSenderConfiguration::fetch_config(): Yoda configuration for this receiver is disabled 2020-02-07 22:15:07 | [d]TLSConnection::ctor(): Enable verify_peer in production code! 2020-02-07 22:15:07 | [main][i]Reader thread started 2020-02-07 22:15:07 | [time][i]Synchronizing time via NTP 2020-02-07 22:15:07 | [master][i]Starting processing thread 2020-02-07 22:15:07 | [reader][i]Initializing reader 2020-02-07 22:15:07 | [reader][i]Connecting to AVR-TCP receiver via (avr-tcp://127.0.0.1:30002)
Flightradar24で自分の住んでいるエリアを飛んでいる飛行機を見ているときに、自分の提供しているデータが活きてるんだろうなぁと想像すると楽しい気持ちになってきます。ADS-Bのデータを提供するとFlightradar24のビジネスプランが無料で使えるようになります。これにより航空機のテキストラベル機能が強化されて便名・高度・スピード・出発地/目的地が確認しやすくなったり、ウェイポイントを表示することでどの経路を飛んでいるのかわかりやすくなったり、Webブラウザで見ている際の30分セッション切れがなくなったりととても暮らしが便利になりました。
羽田空港のRWY16R/Lへの着陸を運用確認している様子や、羽田空港のPMSが運用開始されたっぽい様子を眺めるのに大変重宝しました。PMSについて知りたい方は↓
Point Merge Systemについて|Ukyo Nagata|note
面白いこと
Flightradar24に、ADS-Bレシーバーをもらうということも可能なのが面白いです。いかにもブラックボックスという感じの筐体、アンテナ、Remove Before FlightタグのFlightradar24版などが同梱されている模様。同梱品でマニア心をくすぐる感じもさすが分かっている感がありますね。 www.flightradar24.com
ssh接続してるとRaspberry Piサーバーが不安定になるのがおもしろいです。観測者効果じゃん。普段扱っているサーバーたちよりも圧倒的に非力なのでこのようなことが起きているのだなーと思い、最近は放置することにしています。ありがたいことに、Flightradar24のADS-Bデータ提供者用のWebUIには、ADS-Bレシーバーがn時間Offlineになったらメールでアラートをくれる機能があります。よく分かっている感があるのがニクいですね。