Orange Pi PC 2のArmbianでADS-Bのフィード


航空機の飛行状況を発信しているADS-Bの電波を拾って、航空機を追跡する遊びを始めた。

必要なもの

・Raspberry Pi 3/4
・受信機

Raspberry Piでのセットアップ情報はいっぱいあるので、Raspberry Piを買うのが楽で間違いないのだが、手元に死蔵しているOrange Pi PC 2があったので、こいつを叩き起こした。

受信機はAmazonでこれを買った。

NESDR Mini 2+ 0.5PPM TCXO RTL-SDRおよびADS-B USBレシーバーセット(アンテナ、吸引マウント、メスSMAアダプター付き)。 RTL2832UおよびR820T2チューナー

受信機が届いてすぐに3つのサイトにフィードを始めて、4つ目がうまくいかなくて手を休めていたところで固まって再起動もできなくなってしまった。

ある程度整ったらmicroSDのイメージを抜き出してmicroSD死亡に備える予定だったんだが間に合わなかった。

今回の反省を踏まえて、microSDに依存せずにUSBメモリにOSを入れて運用しようと思ったのだが、Orange Pi PC 2はUSBメモリからの起動はできないらしく、microSDからbootしてOSはUSBメモリ上のを使う形になった。詳細は書かないが、nand-sata-installコマンドを使うと可能だ。先人の記録を参照してくれ。

ちなみに、以下の構成。

・32GB microSD
・8GB USBメモリ

8GBもあれば2GBのスワップファイルを作っても半分ちょいの使用量だ。microSDが32GBなのは使えるのがそれしかなかったから。bootのためなら4GBでも余るんじゃないか。どこかのブログには2GBでいいと書いていた。

さて、本題。ここからは再構築の際に作ったメモをそのまま貼っておく。気分が乗ってきたらもうちょっと整理して読みやすくするかもしれない。

システムの更新。

$ sudo apt update

$ sudo apt upgrade

dump1090-faをインストールする

https://ja.flightaware.com/adsb/piaware/install

$ git clone https://github.com/flightaware/dump1090.git

$ cd dump1090

$ sudo apt-get install build-essential fakeroot debhelper librtlsdr-dev pkg-config libncurses5-dev libbladerf-dev libhackrf-dev liblimesuite-dev

$ ./prepare-build.sh bullseye    # or buster, or stretch

$ cd package-bullseye            # or buster, or stretch

$ dpkg-buildpackage -b –no-sign
$ sudo dpkg-buildpackage -b –no-sign  #-no-signの先頭の「-」は2つ。何故か1つしか表示されない。htmlのお約束なんだろうけど…

$ cd ..

$ sudo apt install lighttpd

$  sudo dpkg -i dump1090-fa_7.2_arm64.deb

piawareをインストールする

参考: https://gato.intaa.net/archives/43335

$ sudo apt install tcl-dev chrpath

$  sudo apt install python3-dev

$  sudo apt install python3-venv python3-setuptools libboost-system-dev libboost-program-options-dev libboost-regex-dev libboost-filesystem-dev patchelf

$ sudo apt install tclx8.4 itcl3

$ git clone https://github.com/flightaware/tcltls-rebuild.git

$ cd tcltls-rebuild

$ ./prepare-build.sh bullseye

$ cd package-bullseye/

$ sudo dpkg-buildpackage -b –no-sign

$ cd ..

$ sudo dpkg -i tcl-tls_1.7.22-2+fa1_arm64.deb 

$ git clone https://github.com/flightaware/piaware_builder.git

$ cd piaware_builder/

$ ./sensible-build.sh  bullseye

$ cd package-bullseye/

$ dpkg-buildpackage -b –no-sign

$ cd ..

$ sudo dpkg -i piaware_7.2_arm64.deb

piawareを再インストールしてunique-identifierが変わってしまったら

$  sudo piaware-config feeder-id ********-****-****-****-************

参考: https://ja.flightaware.com/adsb/piaware/advanced_configuration

ADS-B Exchange / adsbexchange

$ wget -O /tmp/axfeed.sh https://adsbexchange.com/feed.sh

$ sudo bash /tmp/axfeed.sh

緯度経度標高を入力要求されるので、以下のサイトで調べておく。

https://japonyol.net/latlng.html

FlightRader24 

参考: https://www.flightradar24.com/share-your-data

参考: https://gato.intaa.net/archives/21706

mlatはfailedのまま。timestamp formatが違うと文句言っている。もしかして、dump1090-faがいやなのか?

追記2022.06.02: armbian-configでTimeZoneをUTCにして再起動したらflightrader24のMLATも接続できた。

CPUの温度を計る

$ sudo apt install lm-sensors