エントリー

ページ移動

ADS-B受信をdump1090-faに変更

室外サーバにてADS-B受信をdump1090-mutabilityで試行させていたところ何度もダウンしたり受信できなくなる現象が発生

やはり更新の終わった古い版数からなのかと,後継として継続更新されているdump1090-faに変更

後継のdump1090はdebian系パッケージにはなくFlightAwareが提供しているようだ(なので-faか)

Armbian(ubuntu版)用に作成するため,がとらぼさんの記事を参考(こちらなど)にした

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

$ sudo apt install git lighttpd debhelper librtlsdr-dev pkg-config dh-systemd libncurses5-dev libbladerf-dev libusb-dev devscripts
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了
E: パッケージ dh-systemd が見つかりません
$

(dh-systemd は必要ないので外す)

$ sudo apt install git lighttpd debhelper librtlsdr-dev pkg-config libncurses5-dev libbladerf-dev libusb-dev devscripts

$ cd dump1090-fa
$ dpkg-buildpackage -b --no-sign --build-profiles=custom,rtlsdr

$ cd ..

$ ls dump*

dump1090-fa-dbgsym_10.2_arm64.ddeb
dump1090-fa_10.2_arm64.buildinfo
dump1090-fa_10.2_arm64.changes
dump1090-fa_10.2_arm64.deb

(インストール)

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

最新が10.2,再度入れ替える場合は以下のように先に削除

$ sudo systemctl stop dump1090-fa
$ sudo systemctl disable dump1090-fa
$ sudo dpkg -r dump1090-fa

簡易httpも動作し,アクセスは「localhost:8080」または「localhost/skyaware/」となる

MAP表示(試行中):dump1090-fa

20251128_fa-Win.png

アンテナも付け替えてLNAを動作させたところ受信範囲は広くなった

IMG_20251129_095041.jpgIMG_20251129_095157.jpg

ADS-B用のコーリニアアンテナを移動させて接続

室外サーバにVirtualRadarは負担が大きいので稼働は停止

20251128_VRS.png

Windows版VirtualRadarからJSONでデータを得て表示させることはできる

アプリサーバを立ち上げて重い処理を任せるもありかなと検討中

Apache2のログからBOTなどの不要分を削除

最近アクセスが多いのでログを観てみると,そのほとんどがBOTであることが判る

ログの書き込み量でパフォーマンスも落ちるし,SSDは書き込み量で劣化するので少しでも少なくしようかと以下を参考にログの調整を行った

参考:Apacheで特定のリクエストをログから除外しメモリ負荷を軽減する方法

ログの実態確認

リクエスト頻度が高いパスやリソースの確認

awk '{print $7}' /var/log/apache2/access.log | sort | uniq -c | sort -nr | head -20

以下が上位

/freo/js/
/freo/images/
/freo/css/
/robots.txt

特定のIPからのリクエスト確認

awk '{print $1}' /var/log/apache2/access.log | sort | uniq -c | sort -nr | head -20

現状は特に問題なし

BOTをログから抽出

grep "bot" /var/log/apache2/access.log

appleBot,GoogleBot,amazonbot,bingbotなどが抽出

100アクセス/時間という感じ

除外設定

000-default.conf,default-ssl.confのCustomLogの記述を以下に変更

# ボットアクセスの除外 
SetEnvIfNoCase User-Agent "bot" dontlog

# 静的リソースへのアクセス除外
SetEnvIf Request_URI "^/freo/js/" dontlog
SetEnvIf Request_URI "^/freo/images/" dontlog
SetEnvIf Request_URI "^/freo/css/" dontlog

CustomLog /var/log/apache2/access.log combined env=!dontlog

「/」はそのまま記述できるようだ

実証確認

ログローテートも月単位更新から週へ変更

強制的にログローテート

logrotate -f /etc/logrotate.d/apache2

しばらく置いて,ログに無いことを確認

NOAA用サーバをADS-B受信で利用する

先日からサーバのメンテナンスを実施

整理してWEBサーバはメールサーバを含むサーバ,NOAA受信で利用していた外部サーバを(おかしな名称なので)室外サーバに変更,室外サーバは夜間休止とした

利用しなくなった室外サーバにはRTL-SDRが接続されているので,まずはADS-B受信で利用してみる

ADS-B受信のマップ表示にはVirtualRadarを利用,公開はリバースプロキシで対応することにした

20251124_fig1.png

WEBサーバ

セキュリティ確保のため直接アクセスとしないでWEBサーバ経由とする

Apache2のリバースプロキシを設定

参考:https://rainbow-engine.com/apache-reverseproxy-howto/https://rainbow-engine.com/apache-reverseproxy-https/

モジュールの有効化

a2enmod (モジュール名),a2dismod (モジュール名):モジュール名は複数指定可能

# a2enmod proxy_http         
# a2enmod proxy_balancer
# a2enmod proxy
# a2enmod lbmethod_byrequests # 必要ない?

設定ファイルに追加

# vi sites-available/000-default.conf

ProxyRequests Off # リバースのみはOff,フォワードも使うならOn
ProxyPreserveHost On        # 元のホスト名を保持する設定のことだが,これがあると動作しない
<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>

ProxyPass /vrs/ http://(サーバ)/
ProxyPassReverse /vrs/ http://(サーバ)/

最終的に「VirtualRadar」「dump1090」用に2つProxyPassを作成

注)ProxyPasのバックエンドのURL(上記では(サーバ)の部分)にドメインを付けるとポート指定が無視されるようだ(拙者の環境が悪いのかな?)

Apache2を再起動

# systemctl restart apache2
室外サーバ

アンテナは解体も簡単ではないので,しばらく接続中のNOAA用で試行して,ADS-B受信の設定が落ち着いたら変更する

Virtual Radar Serverのセットアップ

参考:https://www.virtualradarserver.co.uk/mono.aspx

Linux用といってもmonoで動作させるのでWindows版と同じ

(monoのインストール)

$ sudo apt-get install mono-complete

(VirtualRadarServerのインストール)

$ cd
$ wget http://www.virtualradarserver.co.uk/Files/VirtualRadar.tar.gz
$ wget http://www.virtualradarserver.co.uk/Files/VirtualRadar.exe.config.tar.gz
$ cd /srv
$ sudo mkdir vrs
$ cd vrs
$ sudo tar -zxvf ~/VirtualRadar.tar.gz
$ sudo tar -xvf ~/VirtualRadar.exe.config.tar.gz

最初の1回admin,password付きで起動

$ mono VirtualRadar.exe -nogui -createAdmin:admin -password:password
Local address: http://127.0.0.1:8080/VirtualRadar
Network address: http://・・・:8080/VirtualRadar

2回目以降
$ mono VirtualRadar.exe -nogui

ブラウザでアクセスして確認(画面生成のためか少し接続時間が掛かる)→ まだ受信していないので航空機は無い

システム起動時自動起動させる

(スクリプト作製)
$ cat vrs.sh
#!/bin/sh
#
mono /srv/vrs/VirtualRadar.exe -nogui
$

(vrs.shを/etc/rc.localに登録)
$ cat /etc/rc.local
/srv/lbin/vrs.sh 1>&2&

dump1090のインストール(ADS-B受信用だが,マップ表示も可能)

$ sudo apt search dump1090
ソート中... 完了
全文検索... 完了
dump1090-mutability/jammy 1.15~20180310.4a16df3+dfsg-8 arm64
ADS-B Ground Station System for RTL-SDR

$ sudo apt install dump1090-mutability

$ sudo vi /etc/default/dump1090-mutability

(特に変更の必要ないがWebサーバなしでインストールしていると以下のようにnoとなっているかも)

START_DUMP1090="no"
MAP表示(試行)
  • VirtualRadar
  • dump1090-mutability
参考

以下が今後追加で参考になりそう(ありがたい)

 

「な!百葉箱」の復旧

前回,どうやら不具合はバッテリー側と推測できたので,外して電圧を確認

4.1Vを計測していたのは太陽電池であった

IMG_20251123_120953.jpg

したがって「な!百葉箱」が停止した原因はバッテリーだった訳で,接触不良はピンを外した事で錆付きが影響して発生したものと考えられる

原因は違ったかもしれないが,内側の環境が良くなかったのを改良したことはプラスになったので良いだろう

残り3個と少なくなった18650のバッテリーと充電部のボードを入れ替えて復旧

IMG_20251123_131632.jpg

ついでに裏側のバッテリーボックスも両面テープだと弱いのでビス止め

動作確認して設置完了

IMG_20251123_140702.jpg

今回,Aliexpressで購入した新しい半田を使ってみたところ良好

IMG_20251123_140913.jpg

また安価に販売されていたら追加しよう

ページ移動

ユーティリティ

検索

エントリー検索フォーム
キーワード

新着コメント

Re:NOAA受信システム復旧
2025/06/11 from admin
Re:NOAA受信システム復旧
2025/06/11 from とおりすがり
Re:SDRplay社RSP1クローンを購入
2025/05/25 from 匿名希望
Re:Mozilla FirefoxではNHKプラスを再生できない件
2025/05/09 from Donabeyaki
Re:ATS-25を作製する
2025/03/23 from kazu

過去ログ

Feed