早々に第2回目です。とりあえず、前回の記事を読んで無い方は、まずはそちらをご覧ください。
検証環境の構築
サクッと、D-Moniterに使っていたraspberryPiであるラズパイ3Bをつかって、
SDカードを追加で購入し、ADB-S受信検証環境構築を構築していきます。
OSインストール
raspberryPiの公式サイトにOSを設定し焼き込むツールが配布されているので、そちらを使ってOSを焼き込みます。
今回については、デスクトップいわゆるX環境はインストールしない方向性です。
CUIで事が足りるのと、GUI環境に回すメモリーやprocessがおしいというそんな理由からです。
アプリをインストールして起動すると、下記の様な画面が表示されます。
続いて、OSを選択します。上記書いた通り、Raspberry Pi OS (other)を選択します。
次に下記を選択します。X環境は入らないので、ログイン画面が表示されるだけの環境がになります。
コマンド操作に慣れていない方は、是非デスクトップ版を入れてください。
続いて下記の用に設定が出来たら次へを押してSDカードにOSを書き込んでください。
出来れば、書き込む手前でLinuxのユーザ設定等ができますので、オプションで設定を済ませておくと
後が楽になります。
ミドルウェア導入へ
OSが書き込まれて、ラズパイに取り付けて起動が問題問題が無いと、
Loginのプロンプトが表示されていると思いますので
SSHなどで接続していきます。Consoleにキーボードを取り付けて直ログインでも問題ありません。
下記の用な画面が出ていればログインも含めて問題ありません。
ざっとアップデートをしちゃいましょう。
ログインして、下記のコマンドを順に入力し実行します。
sudo apt update
sudo apt upgrade
おまじない!!
これ特定のデバイスをカーネルから呼ばないようにする奴なのですが
あまり、理由が見えて折らず。第3回以降にちょっと調査してみます。
sudo su -
cd /etc/modprobe.d/
echo "blacklist dvd_usb_rtl28xxu" >> blacklist-dvd_rt128xxu.conf
echo "blacklist rtl2832" >> blacklist-dvd_rt128xxu.conf
echo "blacklist rtl2830" >> blacklist-dvd_rt128xxu.conf
exit
上記3つ流し終わったら下記を実行して再起動させます。
sudo reboot
必要なソフトウェアをインストールします
sudo apt-get install git
sudo apt-get install rtl-sdr
上記を実行して、ソフトウェアをインストールします。
インストールがおわったら、いったんUSB SDRトングルを接続して動作確認を行います。
rtl_test
デバイスが1つ見つかればOKです。表示内容は機種毎に違うので全く同じである必要はないです。
piawareをインストールします
wget https://ja.flightaware.com/adsb/piaware/files/packages/pool/piaware/f/flightaware-apt-repository/flightaware-apt-repository_1.2_all.deb
sudo dpkg -i flightaware-apt-repository_1.2_all.deb
sudo apt install piaware
sudo apt install dump1090-fa
上記までエラーなく進む事ができたら、いったん再起動します。
sudo reboot
確認してみます
ps -ef | grep dump1090-fa
netstat -an -tcp
上記画面から抜けるには、CTRL+Cを押して抜けます。この画面で、0.0.0.0:8080がある事を確認します。
あれば現時点での受信環境としては立ち上がっています。
実際にAccessしてみましょう
ip a
上記を実行すると、現時点でにIPアドレスが表示されます。
今回は、下記のIPアドレスが設定されている事が分かります。
そちらにブラウザーで接続してみます。
http://192.168.3.8:8080/
上記画面が表示されたら、問題無く受信環境としてはできあがっていると思っています。
アンテナを接続し、データが受信出来ていれば下記マップに飛行機がプロットされていると思います。
だがしかし!
筆者の環境では一切見えていない・・・。💦
ディスコーンアンテナからの同軸ケーブルが細いってのもあるんですが
とりあえず全くデータは受信出来ていないという事になります。
理由としては、本日台風7号の影響で欠航が相次いで、関東圏に飛行機が1台も飛んでいないのです・・・。
本家 https://www.flightradar24.com/ をみても!下記のスクショの様に飛行機が見えないのです。
なので、受信したくても受信出来ない状況です。いったん、お盆休み中で作った環境はここまでです。
明日以降また、受信確認ができたら、受信したデータをフィードして行く設定を入れて行きたいと思います。
本番環境では
Raspberry Piは、4B系を新たに新設し、アンテナは1090Mhzに同期されたアンテナを設置します。
また、都市ノイズを低減させる為、フィルターとブースターの設置を順次行います。
最後パッケージ化して、防水ボックスに入れてアンテナ下に設置し、LANケーブル1本で
戸内に引き込んで運用管理していく感じにします。
また、監視についても、Zabbixを使っての監視を予定しており、下記に受信できた場合の情報が出力されるので
そちらの数等をZabbixから確認出来る様な仕組みも構築したいと思っています。
/run/dump1090-fa/aircraft.json このファイルに受信した飛行機の情報が書き込まれる。
ラズパイのストレージは、SDカードなので、実はこのdump1090-faを、RAMディスクにして
メモリー上に書き込ませた方が、SDカードへの攻撃性はなくなる。
{ “now” : 1697609623.8, “messages” : 2843412, “aircraft” : [ {“hex”:”87c823″,”alt_baro”:3725,”squawk”:”3440″,”mlat”:[],”tisb”:[],”messages”:52,”seen”:0.3,”rssi”:-26.8}, {“hex”:”8678e2″,”flight”:”ANA69 “,”alt_baro”:2150,”alt_geom”:2400,”gs”:209.5,”tas”:206,”track”:47.3,”roll”:1.1,”geom_rate”:1152,”squawk”:”2367″,”category”:”A0″,”nav_qnh”:1020.0,”nav_altitude_mcp”:15008,”lat”:35.610833,”lon”:139.795532,”nic”:8,”rc”:186,”seen_pos”:0.7,”version”:0,”nac_p”:8,”nac_v”:2,”sil”:2,”sil_type”:”unknown”,”mlat”:[],”tisb”:[],”messages”:974,”seen”:0.2,”rssi”:-11.2}, |
これらを、パースして、Zabbixにインプットしてあげれば、Zabbixからグラフで確認ができるようになる。
ZabbixAgentインストール
sudo apt install zabbix-agent
sudo nano /etc/zabbix/zabbix_agentd.conf
Server=192.168.3.?? Zabbix Server のIPを設定する |
sudo systemctl restart zabbix-agent
後は、ZabbixServerから監視対象に入れれば問題なく監視が出来る。
下記のように、さっきのJSONからパースして、今受信して見えてる飛行機の数をagent経由で吸い上げて
グラフにプロットする仕組みを組込ました。これで、寝てても夜中飛行機が見えた場合、グラフに
変化があるものと思われますが、何も変化がない場合は、何か設定が間違っている可能性もなきにしもあらずなので
また解析していきたいと思います。
しっかり受信したことを検知してますね。
台風の影響がほぼ無くなったので、飛行機は海外便については飛び出した模様です。
とりあえず専用のアンテナではないので、利徳が全く無い為、本当に限られた範囲の受信しか
できていないようだ。早急にアンテナの手配はした方が良さそうですね。
2024/08/17 追記
台風がすぎさって、監視サーバに情報がアップデートされてくるようになりました。
いいんじゃない!!13位は受信出来ているようですね。
総括
ざっくり、検証環境を作ったけど、問題無く動作しているのか?
判断するところまでは進めて居ない。台風7号の影響もあるのだが
受信が出来はじめてきたらフィード設定をして、いったん仮運用を行い
本番環境用の機材を集め出そうと思います。
とりあえず、SDR受信機であるトングルが2000円位でなんか、偽物ぽかったので
RTL-SDR.COM V4を急遽調達し、トングルは本番で使用する物に差し替えました。