CzADSB

Z Poznámkový blok
Přejít na: navigace, hledání

SW komponenty

Hlavní komponenty:

  • dump1090 - Zpracovává data z RTL-sdr "klíčenky" a vytváří na přijímači data v několika formátech
    • TCP 30001 Raw imput. Přijatá data na tomto portu jsou následně přeposílána na port 30002.
    • TCP 30002 Raw output. Nezpracovaná data (hexa) ve formátu AVR (Beast Raw Feed) (dump1090, bez MLAT)
    • TCP 30003 SBS1 output. Zpracovaná data ve formátu BaseStation (dump1090, bez MLAT)
    • TCP 30004 Beast Raw imput. Přijímá data pro přeposílání na ostatních portech.
    • TCP 30005 Beast Raw otput. netříděná data ve formátu Beast Raw Feed (dump1090, bez MLAT)
    • TCP 30104 Beast imput. Přijímá data pro přeposílání na ostatních portech.
  • mlat client - Zjištuje multi latenci přijatých dat pro výpočet polohy vysílače na serveru, kam data přeposílá
  • modesmixer2 - Zobrazí základní informace z ADSB dat, které načte dump1090. Navíc tato data přeposílá na server, což je hlavní hoho důvod
  • ADS-Bfwd - Přeposílač dat z dunp1090 na dalsi servery


Pomocné komponenty:

  • RpiMonitor - Utilita z web rozhraním zobrazující stav RaspberriPI. Díky tomu je možné zjistit některé nestandartní chovaní.
  • edge - Vytváří VPN. Je určen zejména pro podporu ze strany komunity, aby se na zařízení dalo dostat vzdáleně bez mapování portu pro přístup.

Konfig soubor

Pro pořádek jak by mohl vypadat konfig soubor pro instalaci a nastavení

# Konfigurace prijimace, pouzite ve vice castech (MLAT, ModesMixer2) 
# Registracni email
USER_EMAIL=""
# Oznaceni prijimace
STATION_NAME=
# Umisteni prijimace
STATION_LAT=""
STATION_LON=""
STATION_ALT="" 
# Konfigurace k dump1090
# Instalace a spousteni sluzbu po restartu { not | install | disable | enable }
# not - neinstalujese a neni nainstalovany; install - neni instalovan czadsb; 
# disable - je nainstalovan, ale nespousti se; enable - je nainstalovany a spousti se
DUMP1090="install"
# Konfigurace pro ADS-Bfwd
# Instalace a spousteni sluzbu po restartu { not | disable | enable }
ADSBFWD="enable"
# Adresa a port zdroje dat { IP/DNS_url:port }
SOURCE="127.0.0.1:30005"
# Adresa/y kam data chceme preposilat (oddelene mezerou) { IP/DNS_url:port [IP/DNS_url:port] ... }
DESTINATION="czadsb.cz:50115"
# Konfigurace MLAT klienta
# Instalace a spousteni sluzbu po restartu { not | disable | enable }
MLAT="enable"
# Server
MLATSERVER="czadsb.cz:40147"
# Results
MLATRESULT="czadsb.cz:31003"
MLATFORMAT="basestation,connect"
# Konfigurace ModesMixer2
# Instalace a spousteni sluzbu po restartu { not | disable | enable }
MM2="not"
WEB_PORT="8181"

MM2_OUTCONNECT_PORT=
# Konfigurace pro RpiMonitor
# Instalace RpiMonitoru { not | install }
RPIMONITOR="install"
# Konfigurace VPN edge
# Instalace a spousteni sluzbu po restartu { not | disable | enable }
VPNEDGE="disable"
# Lokalni adresa VPN prirazena od CzADSB
LOCAL=""
# Konfigurace Statistic Reporteru
# Instalace a spousteni sluzbu po restartu { not | disable | enable }
REPORTER="not"
# URL adresa pro zasilani zprav
REPORTERURL=""

dump1090

mlat client

Instalace

Vlastní projekt mlat klient je na stránkách gitu: [1]. Pro vlastni instalaci prvně doinstalujeme zavislosti. Poté stahneme projekt z gitu.

cd ~
sudo apt install -y git build-essential debhelper python3-dev
git clone https://github.com/mutability/mlat-client.git
cd mlat-client

sudo ./setup.py install

Spouštěcí skript

#!/bin/sh

cp /etc/czadsb/czadsb-config.txt ./mlat-client.cfg
dos2unix ./mlat-client.cfg
. ./mlat-client.cfg

if [ "$MLAT_CLIENT" = "yes" ]; then
    sleep 2
    mlat-client $MLAT_PARAMS --user "$STATION_NAME"
else
    echo "MLAT Client is disabled. You make the change in the file czadsb-config.txt"
fi
rm ./mlat-client.cfg

Systemd

sudo systemctl edit --force --full mlat-client.service
[Unit]
Description=MLAT client for CZ ADSB
Documentation=https://github.com/mutability/mlat-client
After=network-online.target

[Service]
Type=simple
EnvironmentFile=/etc/czadsb/czadsb-config.cfg
ExecStart=/opt/mlat-client/mlat-client $ARGS
#ExecStart=/opt/mlat-client/mlat-client.sh

[Install]
WantedBy=multi-user.target

modesmixer2

Dobré skripty: https://github.com/abcd567a/mm2

ADS-Bfwd

Skript v pythonu který se připojí na dump1090 a přijatá data odešle ve stejném formátu na servery která ADSB data zpracovávají. Hlavní výhoda oproti nc v linuxu je možnost odesílat data na více serverů a že každé připojení se hlídá samostatně. Vlastní ADSBfwd instalujeme bud přímo na zařízení kde je zdroj dat (dump1090) nebo na server který musí mít na zdroj dat přístup. Vzhledem že pak jsou data posílána na servery, tak nemusí mít veřejnou adresu.

Instalace

Pro instalaci stačí spustit:

sudo bash -c "$(wget -O - https://acars.slapnet.cz/adsb/ads-bfwd.sh)"

Nastavení

Nastavení je uloženo v konfiguračním souboru společně ze skriptem.

# Konfigurace pro AdsbFWD

# Adresa a port zdroje dat
SOURCE="127.0.0.1:30005"

# Adresa/y kam data chceme preposilat (oddelene mezerou)
DESTINATION="127.0.0.1:30105"

Reporter

Skript, který posílá provozní stavy na server pro další zpracování. Mezi sledované data může patřit:

  • CPU, RAM, Disk
  • Sytém, verze
  • Teplota, status
  • Konfigurace
  • čas
  • Status služeb:
    • Dump 1090
    • Mlat klient
    • ADS-B fwd
    • VPN

Odkazy

Další zajímavé odkazu:


Blok: