ADS-Bを受信して、flightrader24にデータをfeedする！！

# 2020/09/06追記

* WiFi環境のせいなのか、Pi Zero WHだと、途中で切れていることが数回/日発生するので、Raspberry Pi 4Bに入れ替えてみたら、安定して24時間以上落ちずに連携できている。
* せっかくなので、dump1090-mutabilityからの出力 `/run/dump1090/mutability/aircraft.json` を、GAS経由でGoogle Spreadsheetにアップロード
* lighttpdが起動していているようなので、 `document-root`を変更して、aircraft.jsonを外から見えるようにしてみた。

```/etc/lighttpd/lighttpd.conf
server.document-root        = "/run/dump1090-mutability"
```


# ADS-Bを受信して、flightrader24にデータをfeedする！！

* 本当の目的は、flightrader24のbusinessプラン($49.99/月)を入手すること^^;

* 上空を通過する飛行機の情報を表示する


# 準備したもの

* Raspberry Pi Zero WH (余ってたRaspberry Piがこれしかなかった…)
 * [公式のどこか](https://www.flightradar24.com/share-your-data)には raspberry piは3B以降の記載があった気がする…(後述しますが、Pi Zeroはちょっと厳しいかも。)
* ADS-Bレシーバ: https://www.amazon.co.jp/gp/product/B00VDSFXDC/
* アンテナ: https://www.amazon.co.jp/gp/product/B00WNT00SI/

(全く初めてなので、もっといいものがあると思います。)

* あと、Raspberry Pi Zero WHのUSBはMicoroBが並んでるので、[こういうMicroBオス->TypeAメス変換ケーブル]( https://www.amazon.co.jp/dp/B005WNBLN0/)があったほうがいいかも。

# 手順

* FR24にアカウントを作成しておく
* Raspberry Pi Zero WH用のMicro SDカードにOSを焼く
 * 最近はRaspberry Pi 4向けのBoot Partitionを含まないImageがあるので、古いRaspbianを推奨。
 * RaspbianがBusterだと、flightrader24のfeederがそのままではインストールできないようなので、Raspbian Stretchを推奨
 * 公式だとlite版でもダウンロードに1日かかるので、mirrorを推奨
 * ということで、[ここあたり](http://ftp.jaist.ac.jp/pub/raspberrypi/raspbian_lite/images/raspbian_lite-2019-04-09/2019-04-08-raspbian-stretch-lite.zip)からダウンロード
 * Raspberry Pi ImagerでローカルにダウンロードしたイメージをMicro SDカードに焼く![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78540/d6fd17f6-7a97-8784-3a0a-11194c9fc1e9.png)
* SDカードのBoot PartitionにHeadless用の設定を保存
 * "ssh"ファイルを作成する(空ファイル)
 * "wpa_supplicant.conf"ファイルを作成する

```wpa_supplicant.conf
 country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
    ssid="<接続したいSSID>"
    psk="<パスフレーズ>"
    scan_ssid=1
}
```

* SDカードをRaspberry Pi Zero WHに挿入して、ADS-Bレシーバ(もちろんアンテナ接続済み)を接続、電源USBケーブルを接続して暫く待つ
* Tera Termなどで"raspberrypi.local"に接続する
 * アカウント: pi / raspberry
 * ログインしたら、とりあえず、ユーザpiのパスワードを変更しておく
* fr24feedのインストール
 * 以下コマンドを入力して暫く待つ
 * 入力値は[こちらのブログ](https://vitan.hatenablog.com/entry/2017/02/16/010535)を参考にしました。ありがとうございます。
 * 途中で作成したアカウントを入力
 * 空港を指定したら、緯度経度は入力しなくても良いみたい

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

* しばらく接続状態を保つと、憧れのBusinessプランに！！!
 * ちなみに、マンション群に囲まれた2Fで室内アンテナなので、Maximum Distanceが17nmで、こんな感じ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78540/82f5d8fe-2d0b-4ef5-defd-430a0c2a0baf.png)

# CPU使用率など

* Raspberry Pi Zero WHだと、常時30%前後のCPU使用率
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78540/b8ba97e0-1292-d194-f15a-633fafef5eea.png)
 * うちのWiFi環境のせいかもしれないが、sshで接続できないことがたまにある。以下のDaily Availabilityを見ると時々切れていることがある(自動復帰するけど)
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78540/084ebbfa-d081-2aac-8b58-504ffa464512.png)
 * Raspberry Pi Zero WHの性能だと常用は少し難しいのかも。

* 


# Ranking

* なんとFeederのランキングも表示してくれる。Globalだと28378番目、日本だと1456番目らしい^^;
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/78540/5861954e-4262-bf8f-697d-578a1966dd14.png)


# その他

* http://raspberrypi.local:8754 でステータスの確認、設定画面などに接続可能
* コマンド
 * fr24feedサービスのステータス: `fr24feed-status`
 * fr24feedサービスのログ: `tail --l 50 /var/log/fr24feed/fr24feed.log`
 * 今受信している航空機: `cat /run/dump1090-mutability/aircraft.json`

# 参考URL

* 公式マニュアル: https://repo-feed.flightradar24.com/fr24feed-manual.pdf