ADS-B: Porovnání verzí

Z Poznámkový blok
Přejít na: navigace, hledání
(FlightAware)
(CzADSB)
 
(Není zobrazeno 48 mezilehlých verzí od stejného uživatele.)
Řádka 1: Řádka 1:
== Raspberry Pi ==
+
== Flightradar24 ==
 +
Server [http://www.flightradar24.com Flightradar24.com] zobrazuje jednotlivá letadla na obloze. Využívá dobrovolníků, kteří přijímají ADS-B data z letadel a následně je předávají na na server Flightradar24. Tento přenos zajišťuje program fr24feed který je nutné mít nainstalován na vlastním přijímači.
  
=== Modely ===
+
=== Auto Instalace ===
Raspberry Pi se vyrábí v několika provedení které se liší jak výkonem, tak počtem interface. Český e-shop: [http://rpishop.cz/ rpishop.cz] mohu plně doporučit.
+
Dle postupu na serveru [https://www.flightradar24.com/share-your-data Flightradar24.com] by pro instalaci na Respberry mělo stačit zadat:
 +
wget -qO- https://fr24.com/install.sh | sudo bash -s
 +
Bohužel je aktuálně problém z importem klíčů pro ověření pravosti SW. Proto tato instalace je zatím nefunkční.
  
Raspberry Pi Model B+ V1.2
+
=== Ruční Instalace 1 ===
  pi@raspberrypi:~ $ lscpu                                      pi@raspberrypi:~ $ cat /proc/cpuinfo
+
Ruční instalace vychází z výše uvedenáho skriptu, jen je zjednodušena a urcena pro RaspberryPI. Prvně provedeme aktualizaci a doinstalujeme pomocný soubor. Následně přidáme veřejný klíč a repozitář. Nakonec nainstalujeme vlastni fr24feed.
  Architecture:         armv6l                                  processor      : 0
+
  sudo apt update && sudo apt -y upgrade
  Byte Order:            Little Endian                          model name      : ARMv6-compatible processor rev 7 (v6l)
+
sudo apt install -y dirmngr
  CPU(s):               1                                      BogoMIPS        : 2.00
+
  On-line CPU(s) list:  0                                      Features        : half thumb fastmult vfp edsp java tls
+
if [ ! -e "/etc/apt/keyrings" ];then sudo mkdir /etc/apt/keyrings; sudo chmod 0755 /etc/apt/keyrings; fi
  Thread(s) per core:    1                                      CPU implementer : 0x41
+
  wget -O- https://repo-feed.flightradar24.com/flightradar24.pub | gpg --dearmor > /etc/apt/keyrings/flightradar24.gpg
  Core(s) per socket:    1                                      CPU architecture: 7
+
  sudo mv ./flightradar24.gpg /etc/apt/keyrings/flightradar24.gpg
  Socket(s):             1                                      CPU variant    : 0x0
+
  echo "deb [signed-by=/etc/apt/keyrings/flightradar24.gpg] https://repo-feed.flightradar24.com flightradar24 raspberrypi-stable" > ./fr24feed.list
Model name:           ARMv6-compatible processor rev 7 (v6l)  CPU part        : 0xb76
+
  sudo mv ./fr24feed.list /etc/apt/sources.list.d/fr24feed.list
CPU max MHz:           700.0000                                CPU revision    : 7
+
   
  CPU min MHz:          700.0000
+
  sudo apt-get update -y
                                                                Hardware        : BCM2708
+
  sudo apt-get install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" -y fr24feed
                                                                Revision        : 0010
+
   
                                                                Serial          : 000000008bdc96fc
+
sudo fr24feed-signup-adsb
  
Raspberry Pi2 Model B V1.1
+
=== Ruční Instalace 2 ===
pi@raspberrypi:~ $ lscpu                                      pi@raspberrypi:~ $ cat /proc/cpuinfo
+
Ve vyvoji situace se ani predchozí zpusob nezadařil. Tak přikládam další. Jen je potreba upravit verzi pro stazeni:
Architecture:          armv7l                                  processor      : 0
 
Byte Order:            Little Endian                          model name      : ARMv7 Processor rev 5 (v7l)
 
CPU(s):                4                                      BogoMIPS        : 38.40
 
On-line CPU(s) list:  0-3                                    Features        : half thumb fastmult vfp edsp neon vfpv3 
 
Thread(s) per core:    1                                                        tls vfpv4 idiva idivt vfpd32 lpae evtstrm
 
Core(s) per socket:    4                                      CPU implementer : 0x41
 
Socket(s):            1                                      CPU architecture: 7
 
Model name:            ARMv7 Processor rev 5 (v7l)            CPU variant    : 0x0
 
CPU max MHz:          900.0000                                CPU part        : 0xc07
 
CPU min MHz:          600.0000                                CPU revision    : 5
 
                                                                        .
 
                                                                        .                                                                        .
 
                                                                        .
 
                                                                Hardware        : BCM2709
 
                                                                Revision        : a01041
 
                                                                Serial          : 000000002e97c5ef
 
  
Raspberry Pi3 Model B V1.1                                     
+
  wget http://repo-feed.flightradar24.com/rpi_binaries/fr24feed_1.0.46-2_armhf.deb
pi@raspberrypi:~ $ lscpu                                      pi@raspberrypi:~ $ cat /proc/cpuinfo
+
sudo dpkg -i fr24feed_1.0.46-2_armhf.deb  
Architecture:          armv7l                                  processor      : 0
+
   
Byte Order:            Little Endian                          model name      : ARMv7 Processor rev 4 (v7l)
+
  sudo systemctl restart fr24feed
CPU(s):                4                                      BogoMIPS        : 38.40
+
   
On-line CPU(s) list:  0-3                                    Features        : half thumb fastmult vfp edsp neon vfpv3 tls 
+
  sudo fr24feed --signup
Thread(s) per core:    1                                                        vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
 
Core(s) per socket:    4                                      CPU implementer : 0x41
 
Socket(s):            1                                      CPU architecture: 7
 
  Model name:            ARMv7 Processor rev 4 (v7l)            CPU variant    : 0x0
 
CPU max MHz:          1200.0000                              CPU part        : 0xd03
 
CPU min MHz:          600.0000                                CPU revision    : 4
 
                                                                        .
 
                                                                        .                                                                        .
 
                                                                        .
 
                                                                Hardware        : BCM2709
 
                                                                Revision        : a02082
 
                                                                Serial          : 00000000bd487497
 
 
 
=== Image ===
 
 
 
Vlastní stránky Raspberry Pi se nachází na [https://www.raspberrypi.org/ www.raspberrypi.org]. Zde v sekci "Downloads" můžeme stáhnout image pro microCD kartu. Ta slouží jako disk na kterém je vlastní systém ktrý se zní spustí. Pro přehrání image na microSD kartu můžeme použít program [http://sourceforge.net/projects/win32diskimager/ Win32 Disk Image] (není možné jen překopírovat, neboť je potřeba zajistit z karty bootování). Pro příjem signálů ADS-B a distribuci na flightradar24 je možné též použít hotový image přímo z [http://repo.feed.flightradar24.com/rpi_images/fr24-raspberry-pi-latest.img.zip flightradar24.com]. Obdobně je také možné stáhnou další image z [http://flightaware.com/adsb/piaware/build FlightAware] kde je i postup instalace.
 
 
 
=== První spusštění - Debian ===
 
 
 
V případě balíčků Debian je ve výchozím nastavení nastaven DHCP klient a přístup přes SSH. Vychozí login je "pi" a heslo "raspberry". U instalace FlightAware je heslo "flightaware".
 
 
 
Po prvním spuštění je vhodné spustit příkaz "sudo raspi-config" pro dokončení plného nastavení vlastního Raspberry.
 
 
 
┌───────────────────────────┤ Raspberry Pi Software Configuration Tool (raspi-config) ├────────────────────────────┐
 
│                                                                                                                  │
 
│    1 Expand Filesystem                                Ensures that all of the SD card storage is availabl        │
 
│    2 Change User Password                            Change password for the default user (pi)                  │
 
│    3 Enable Boot to Desktop/Scratch                  Choose whether to boot into a desktop environment,        │
 
│    4 Internationalisation Options                    Set up language and regional settings to match your        │
 
│    5 Enable Camera                                    Enable this Pi to work with the Raspberry Pi Camera        │
 
│    6 Add to Rastrack                                  Add this Pi to the online Raspberry Pi Map (Rastrac        │
 
│    7 Overclock                                        Configure overclocking for your Pi                        │
 
│    8 Advanced Options                                Configure advanced settings                                │
 
│    9 About raspi-config                              Information about this configuration tool                  │
 
│                                                                                                                  │
 
│                                <Select>                                <Finish>                                │
 
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
 
 
 
 
 
┌───────────────────────────┤ Raspberry Pi Software Configuration Tool (raspi-config) ├────────────────────────────┐
 
│                                                                                                                  │
 
│          A1 Overscan    You may need to configure overscan if black bars are present on display                │
 
│          A2 Hostname    Set the visible name for this Pi on a network                                          │
 
│          A3 Memory Split Change the amount of memory made available to the GPU                                  │
 
│          A4 SSH          Enable/Disable remote command line access to your Pi using SSH                          │
 
│          A5 Device Tree  Enable/Disable the use of Device Tree                                                  │
 
│          A6 SPI          Enable/Disable automatic loading of SPI kernel module (needed for e.g. PiFace)          │
 
  │          A7 I2C          Enable/Disable automatic loading of I2C kernel module                                  │
 
  │          A8 Serial      Enable/Disable shell and kernel messages on the serial connection                      │
 
  │          A9 Audio        Force audio out through HDMI or 3.5mm jack                                              │
 
  │          A0 Update      Update this tool to the latest version                                                  │
 
│                                                                                                                  │
 
│                                <Select>                                <Back>                                  │
 
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
 
Pokud se rozhodneme používat grafické rozhraní a chceme se na něj vzdáleně připojit, můžeme nainstalovat RDP server který je následně přístupný na portě 3389:
 
  sudo apt-get install xrdp
 
 
 
=== Napájení ===
 
 
 
Raspberry Pi je napájeno přes USB mini kde jsou zapojené jen napájecí piny. Proto je potřeba mít zdroj 5V. Je také potřeba aby byl zdroj dostatečně "stabilní". Při testech u 2A zdroje nastávalo odpojení USB donglu. Při výměně jen za 1A se tento problém neprojevil a bylo vše v pořádku ! Z toho plyne že i 1A zdroj může plně dostačovat, pokud je ale stabilní a nijak na výstupu nekolísá.
 
 
 
Odpojení USB zařízení bylo signalizované v dmesg výpisem "USB disconnect, device number 35".
 
  
 +
=== Nastavení ===
  
== Flightradar24 ==
+
Prvotní nastavení přijímače provedeme příkazem "sudo fr24feed --signup". Následně jsme vyzváni k zadání parametrů. V případě, že aktivujeme nový přijímač, je vhodné si zaznamenat vygenerovaný klíč a název radaru pro případ dalšího přenastavení.
Server [http://www.flightradar24.com Flightradar24.com] zobrazuje jednotlivá letadla na obloze. Využívá dobrovolníků, kteří přijímají ADS-B data vysílané letadly a tyto data předávají.
 
 
 
Pokud chceme sdílet svoje data, je nutné se [http://feed.flightradar24.com/forgotten_key.php zaregistrovat]. Zda zadáme svoji email adresu a souřadnice umístění přijímače. Následně bude na uvedenou adresu zaslán registrační klíč a kód radaru.
 
 
 
Do již nainstalovaného přijímače z DUMP1090 nahrajeme:
 
 
 
sudo bash -c "$(wget -O - http://repo.feed.flightradar24.com/install_fr24_rpi.sh)"
 
 
 
Nastavení:
 
 
 
Prvotní nastavení přijímače provedeme příkazem "sudo fr24feed --signup". Následně jsme vyzváni k nastavení:
 
  
 
  Než budete pokračovat, prosím ujistěte se, že:  
 
  Než budete pokračovat, prosím ujistěte se, že:  
Řádka 164: Řádka 79:
 
  $:
 
  $:
  
 
+
=== Rekonfigurace ===
 
Případné přenastavení, jen vlastního zdroje dat lze provést příkazem "sudo fr24feed --reconfigure --fr24key=0123456789ABCDEF" kde samozřejmě key odpovídá dříve přiřazenému kódu. Toto přenastavení je také možné provést přes web rozhraní a to na adrese přijímače na portě 8754.
 
Případné přenastavení, jen vlastního zdroje dat lze provést příkazem "sudo fr24feed --reconfigure --fr24key=0123456789ABCDEF" kde samozřejmě key odpovídá dříve přiřazenému kódu. Toto přenastavení je také možné provést přes web rozhraní a to na adrese přijímače na portě 8754.
  
Řádka 184: Řádka 99:
 
   
 
   
 
  ....
 
  ....
 +
Pokud již na zařízení používáme dump1090, bude vypadat nastaveni přiblizne takto:
 +
 +
Receiver selection:
 +
  AVR Compatible (DVBT over network, etc)
 +
Connection type:
 +
  Network connection
 +
Data port number:
 +
  30002
 +
 +
=== Na závěr ===
 +
Po nastavení nakonec spustíme fr24feed
 +
sudo service fr24feed start
 +
V případě potřeby můžeme obdobnmým spůsobem provést restart služby
 +
sudo service fr24feed restart
 +
V případě potřeby můžeme sledovat stav, nebo změnit některé parametry přes web rozhraní na portě 8754
  
 
== [[FlightAware]] ==
 
== [[FlightAware]] ==
Dalším serverem který také zobrazuje data z ADS-B přijímači je [http://www.FlightAware.com FlightAware]. Navíc ale poskytuje zpětně dobrovolníkům informace vypočítané na základě informaci [http://flightaware.com/adsb/piaware/about MLAT]. Také je zde funkční webové rozhraní kde je přehled stavu a také mapa ze zobrazením letadel. Postup zprovoznění přijímače nalezneme též na jejich [http://flightaware.com/adsb/piaware/build stránkách]. Vlastní instalace SDmicro image je stejná pro všechny Raspberry.
+
Dalším serverem který také zobrazuje data z ADS-B přijímači je [http://www.FlightAware.com FlightAware]. Navíc ale poskytuje zpětně dobrovolníkům informace vypočítané na základě informaci [http://flightaware.com/adsb/piaware/about MLAT]. Také je zde funkční webové rozhraní kde je přehled stavu a také mapa ze zobrazením letadel.  
 +
 
 +
I zde jsou různé možnosti instalace. Zde uvádím dvě a to buď přímo image kde je vše potřebné, nebo vlastní instalace. Ta má výhodu že se dá instalovat i na Respory které plní další funkce.
 +
 
 +
=== Image ===
 +
Postup zprovoznění přijímače nalezneme též na jejich [http://flightaware.com/adsb/piaware/build stránkách]. Vlastní instalace SDmicro image je stejná pro všechny Raspberry.
  
Je zde ale rozdíl v přihlášení, kdy login je opět "'''pi'''", ale heslo je "'''flightaware'''". To ale po spuštění není přímo třeba. Data jsou po zapnutí ihned posílána na server. To že je vše v pořádku se dá podívat na [http://flightaware.com/adsb/stats/#new-tab přehledu]. Přesto aby jsme měli práva, jakožto naši odměnu za poslaná data je dobré si [http://flightaware.com/account/join/?referer=/account/join/ založit účet.
+
Je zde ale rozdíl v přihlášení, kdy login je opět "'''pi'''", ale heslo je "'''flightaware'''". To pro spuštění není přímo třeba. Data jsou po zapnutí ihned posílána na server. To že je vše v pořádku se dá podívat na [http://flightaware.com/adsb/stats/#new-tab přehledu]. Přesto aby jsme měli práva, jakožto naši odměnu za poslaná data je dobré si [http://flightaware.com/account/join/?referer=/account/join/ založit účet.
  
 
Z bezpečnostních důvodů je od verze 3.3 ve výchozím stavu přístup přes SSH zablokován. Pokud chceme přístup povolit, vytvoříme prázdný soubor v oddílu / boot na SD kartě pouze s názvem "ssh" (bez přípony souborů). Pokud je tento soubor přítomen, SSH bude automaticky povoleno.
 
Z bezpečnostních důvodů je od verze 3.3 ve výchozím stavu přístup přes SSH zablokován. Pokud chceme přístup povolit, vytvoříme prázdný soubor v oddílu / boot na SD kartě pouze s názvem "ssh" (bez přípony souborů). Pokud je tento soubor přítomen, SSH bude automaticky povoleno.
 +
 +
=== Instalace ===
 +
Také tento postup je popsán na [http://flightaware.com/adsb/piaware/install flightaware.com]. Neboť verze se postupem času mění a instalace je velice jednoduchá, ponechávám popis na autorech.
 +
 +
Po instalaci ale nezapomenme nastavit lokaci.
 +
sudo timedatectl set-timezone Europe/Prague
 +
 +
=== Nastavení ===
  
 
Pokud se nepovede automatické spárování (probíhá na základě veřejné IP adresy), je možné nastavení ruční. Po přihlášení do Raspberry pro spárování zadáme:
 
Pokud se nepovede automatické spárování (probíhá na základě veřejné IP adresy), je možné nastavení ruční. Po přihlášení do Raspberry pro spárování zadáme:
Řádka 197: Řádka 140:
  
 
poté budeme vyzváni k zadání hesla pro FlightAware.  
 
poté budeme vyzváni k zadání hesla pro FlightAware.  
Verze 3.1 je již přednastavená aby poskytla všechny dostupné informace. Proto není potřeba ji standardně přenastavovat. Přesto můžeme přenastavit potřebné parametry. Seznam parametru najdeme na [http://flightaware.com/adsb/piaware/advanced_configuration Flightaware.com].  Aktuální nastavení získáme příkazem:
+
Verze 3.1 je již přednastavená aby poskytla všechny dostupné informace. Proto není potřeba ji standardně přenastavovat. Přesto můžeme přenastavit potřebné parametry. Seznam parametru najdeme na [http://flightaware.com/adsb/piaware/advanced_configuration Flightaware.com]. Mnou často donastavené hodnoty:
 +
sudo piaware-config feeder-id <Unique Identifier>  # Dlouhe identifikacni cislo pri vymene SD karty
 +
sudo piaware-config wireless-network no            # Vypniti WiFi
 +
sudo piaware-config rfkill yes                    # Pro Ri3 vypne wifi/bluetooth
 +
sudo piaware-config rtlsdr-gain 48                # Nastaveni zesileni pro RTL-SDR
 +
sudo piaware-config rtlsdr-ppm 55                # Nasatveni corekce hodin pro RTL-SDR
  
  sudo piaware-config
+
Aktuální nastavení získáme příkazem:
 +
 
 +
  sudo piaware-config -showall
  
 
Poté by se již měly informace párovat na náš účet. To vše je v pořádku bude také potvrzeno emailem.
 
Poté by se již měly informace párovat na náš účet. To vše je v pořádku bude také potvrzeno emailem.
 +
 +
Vlastní konfigurace Piaware je uločena v souboru /etc/piaware.conf při instalaci z balíčku, nebo /boot/piaware-config.txt při použití image SD karty.
  
 
Pokud bude vše v pořádku, tak jsou následně otevřené porty:
 
Pokud bude vše v pořádku, tak jsou následně otevřené porty:
Řádka 221: Řádka 173:
 
  sudo echo "blacklist ipv6" > /etc/modprobe.d/blacklist.conf
 
  sudo echo "blacklist ipv6" > /etc/modprobe.d/blacklist.conf
  
Pokud chceme data poskytovat i sdružení [https://czadsb.cz czadsb], můžeme doinstalovat mlat klienta, který odesílá potřebná data. Na oplátku nám pak doplňuje informace o pozici letadel. Doinstalování můžeme provést:
+
=== Web nastavení ===
  sudo apt-get install python3-dev
+
Piaware umožňuje zobrazení svého aktuálního stavu přes web rozhraní. Bohužel to není součástí vlastní instalace a je potřeba jej získat samostatně. Prvně vytvoříme konfigurační soubor pro lighttpd.
wget http://radar.slapnet.cz/deb/mlat-client_0.2.9_armhf.deb
+
  sudo nano /etc/lighttpd/conf-available/50-piaware.conf
sudo dpkg -i mlat-client_0.2.9_armhf.deb
 
  
Následně je potřeba samozřejmě provést provést nastavení v souboru /etc/default/mlat-client. Viz [[ADS-B_Image#Mlat_Client | Mlat Client]]. Potá by se váš přijímač měl objevit v tabulce  [https://czadsb.cz/system/mlat/sync/ přehled mlat].
+
# Allows access to the piaware status file, and
 
+
  # does translation rewrites for the landing page
== RTL-SDR ==
 
Prvně si stáhneme nejaktuálnější image distribuce pro [https://www.raspberrypi.org/downloads/raspbian/ Raspberry]. V našem případě nám postačuje verze "Lite". Tu nakopírujeme na SD kartu a spustíme vlastní Raspberry. Po přihlášení (login: pi / raspberry) doporučuji provést prvotní nastavení:
 
sudo raspi-config
 
Zde nastavíme "1 Expand Filesystem" aby byla k dispozici celá kapacita SD karty. Dále provedeme lokalizaci v "4 Internationalisation Options". Komu se nelíbí původní heslo, tak jej může změnit "2 Change User Password".
 
 
 
Jakmile budeme mít připravenou distribuci musíme doinstalovat programy které nám umožní vlastní instalaci ovladačů rtl-sdr:
 
  sudo apt-get install git
 
sudo apt-get install cmake
 
sudo apt-get install libusb-1.0-0.dev
 
sudo apt-get install build-essential
 
Zkráceně: " sudo apt-get install git cmake libusb-1.0-0.dev build-essential ". Je samozřejmě možné že některé programy mohou být již v distribuci zahrnuty.
 
 
 
Pak pokračujeme vlastní instalací ovladačů rtl-sdr:
 
git clone git://git.osmocom.org/rtl-sdr.git
 
cd rtl-sdr/
 
mkdir build
 
cd build
 
cmake ../
 
make
 
sudo make install
 
sudo ldconfig
 
sudo cp rtl-sdr.rules /etc/udev/rules.d/
 
 
 
Nakonec zablokujeme načtení původních ovladačů rtl v souboru raspi-blacklist.conf a vše restartujeme:
 
sudo nano /etc/modprobe.d/raspi-blacklist.conf
 
 
   
 
   
  blacklist dvb_usb_rtl28xxu
+
  alias.url += (
blacklist rtl2832
+
    "/status.json" => "/run/piaware/status.json"
  blacklist rtl2830
+
  )
 
   
 
   
  sudo reboot
+
  server.modules += ( "mod_rewrite" )
 
 
Po znovu přihlášení můžeme příkazem rtp_test -t ověřit, že je vše v pořádku.
 
 
 
Bohužel součástí instalace není skript, který by zajistil automatické spuštění po startu. Proto jsem se pokusil vytvořit následující. Jeho podstatnou výhodou je, že umožňuje spuštění RTL TCP serveru pro všechny klíčenky, které jsou připojeny.
 
 
 
#!/bin/sh
 
#
 
### BEGIN INIT INFO
 
# Provides:          skeleton
 
# Required-Start:    $remote_fs $syslog
 
# Required-Stop:    $remote_fs $syslog
 
# Default-Start:    2 3 4 5
 
# Default-Stop:      0 1 6
 
# Short-Description: Example initscript
 
# Description:      This file should be used to construct scripts to be
 
#                    placed in /etc/init.d.  This example start a
 
#                    single forking daemon capable of writing a pid
 
#                    file.  To get other behavoirs, implemend
 
#                    do_start(), do_stop() or other functions to
 
#                    override the defaults in /lib/init/init-d-script.
 
### END INIT INFO
 
 
   
 
   
  # Author skriptu: Tydyt
+
  $HTTP["language"] =~ "(en)" {
+
     url.rewrite = ( "^/translations/lang.js$" => "/translations/%1.js" )
# Nastaveni adresy na ktere RTL TCP server posloucha:
 
# 0.0.0.0  - server nasloucha na vsech svych adresach
 
# 127.0.0.1 - server posloucha jen na adrese lokalhost (nelze se vzdalene pripojit)
 
# x.x.x.x  - server nasloucha na konkretni adrese (adresa musí byt k dispozici)
 
# auto      - skript nastavi automaticky vnejsi IP adresu z eth0
 
# hostname  - skript nastavi automaticky IP adresu z hostname
 
NET="0.0.0.0"
 
 
# Seznam RTL SDR zarizeni ktere se maji pouzit
 
# Jednotlive ID oddelit mezerou
 
# 0      - pouzije se prvni zarizani ID 0
 
# 0 4 5  - pouziji se zrizeni ID 0, 4, 5
 
# all    - pouziji se vsechny zarizeni
 
DEVICE="all"
 
 
# Vychozi TCP port pro server
 
PORT="1234"
 
 
# Zpusob vytvoreni TCP portu pro jednotlive zarizani
 
# sum - k vychozimu portu je pricteno ID zarizeni ($PORT + $DEVICE)
 
# add - k vychozimu portu je pridano ID zarizeni ($PORT$DEVICE)
 
PORT_ADD="sum"
 
 
# Moznost pridani dalsich parametru pro server. Tyto hodnoty mohou byt
 
# zmeneny vlastni aplikaci ktera se k RTL RTP serveru pripoji.
 
#        -f frequency to tune to [Hz]
 
#        -g gain (default: 0 for auto)
 
#        -s samplerate in Hz (default: 2048000 Hz)
 
#        -b number of buffers (default: 15, set by library)
 
#        -n max number of linked list buffers to keep (default: 500)
 
#        -P ppm_error (default: 0)
 
#
 
PROG_ARGS=""
 
 
# Nazev vlastniho skriptu rtl_tcp
 
PROGRAM=rtl_tcp
 
 
# Cesta k vlastnimu skriptu rtl_tcp
 
PROGDIR=/usr/local/bin
 
 
# Adresar ze seznamem spustenych programu
 
PIDDIR=/var/run
 
 
# Zacatek skriptu
 
PATH=/sbin:/usr/sbin:/bin:/usr/bin
 
 
if [ ! -f $PROGDIR/$PROGRAM ]; then
 
    echo "Nebyl nelezen skript rtl_tcp !"
 
    exit 0
 
fi
 
 
# Zjisteni IP adresy
 
if [ "$NET" = "auto" ]; then
 
    NET=`ifconfig eth0 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}'`
 
fi
 
if [ "$NET" = "hostname" ]; then
 
     _IP=$(hostname -I) || true
 
    if [ "$_IP" ]; then
 
        NET=$_IP
 
    else
 
        NET="0.0.0.0"
 
    fi
 
fi
 
 
# Nastav id z prikazovaho radku jsouli zadane
 
if [ $# -gt 1 ]; then
 
    DEVICE=""
 
    for ID in $@; do
 
        if [ ! "$ID" = "$1" ]; then
 
            DEVICE="$DEVICE $ID"
 
        fi
 
    done
 
fi
 
 
# Zjisteni vsech SDR zarizeni jeli nastaveno all
 
if [ "$DEVICE" = "all" ]; then
 
    DEVICE=`$PROGDIR/rtl_test -t 2>&1 | grep 'Realtek' | cut -d: -f1 | awk '{ print $1}'`
 
fi
 
 
start(){
 
    for ID in $DEVICE; do
 
        if [ "$PORT_ADD" = "sum" ]; then
 
            PORT_ID=$(($PORT+$ID))
 
        else
 
            PORT_ID="$PORT$ID"
 
        fi
 
        if [ "$PROG_ARGS" ]; then
 
            ARGS="-a $NET -p $PORT_ID $PROG_ARGS"
 
        else
 
            ARGS="-a $NET -p $PORT_ID"
 
        fi
 
        startone $ID $PORT_ID
 
    done
 
 
  }
 
  }
   
+
  else $HTTP["language"] =~ ".*" {
stop(){
+
     url.rewrite = ( "^/translations/lang.js$" => "/translations/en.js" )
     for ID in $DEVICE; do
 
        stopone $ID
 
    done
 
 
  }
 
  }
 +
 +
Následně nakopírujeme vlastní html stránky do adresáře /var/www - nutno si je někde sehnat .. ( wget http://radar.slapnet.cz/radar/deb/html.zip )
 +
 +
Nakonec vytvoříme symlink souboru 50-piaware.conf do adresáře /etc/lighttpd/conf-enabled
 +
=== Moje nastaveni ===
 +
Donastaveni systemu:
 +
sudo piaware-config feeder-id ...........-.....-.....-.....-.....  - ID puvodniho zarizeni pokud se jedna o vymenu HW
 
   
 
   
  startone(){
+
  sudo piaware-config rtlsdr-ppm 50
    PIDFILE="$PIDDIR/$PROGRAM-$1.pid"
+
sudo piaware-config rtlsdr-gain max
    if [ -f $PIDFILE ]; then
+
sudo piaware-config wireless-network no
        echo "Server RTL TCP na zarizeni ID $1 JE jiz spusten !"
+
  sudo piaware-config rfkill yes
        return
 
    else
 
        echo -n "Server RTL TCP na zarizeni ID $1 ... "
 
        $PROGDIR/$PROGRAM -d $1 $ARGS >> /dev/null 2>&1 &
 
        PID=$!
 
        sleep 1
 
        PIDR=`pidof $PROGRAM`
 
        if [ "$PIDR" ]; then
 
            for ID in $PID; do
 
                if [ $ID = $PID ]; then
 
                    echo $PID > "$PIDFILE"
 
                    echo "Je spusten na porte TCP $2"
 
                    return
 
                fi
 
            done
 
        fi
 
        echo "Se nepodarilo spustit ! ($ARGS)"
 
    fi
 
  }
 
 
   
 
   
  stopone(){
+
  sudo piaware-config uat-receiver-type sdr
    PIDFILE="$PIDDIR/$PROGRAM-$1.pid"
+
sudo piaware-config uat-sdr-device "driver=rtlsdr,rtl=1"
    if [ ! -f $PIDFILE ]; then
+
sudo piaware-config uat-sdr-gain max
        echo "Server RTL TCP na zarizeni ID $1 NENI spusten !"
+
  sudo piaware-config uat-sdr-ppm 50
        return
+
RTL klicenky umoznuji nasledujici zesileni
    else
+
  Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6
        echo -n "Server RTL TCP na zarizeni ID $1 ... "
+
 
        pid2kill=`cat $PIDFILE`
+
== CzADSB ==
        kill -9 $pid2kill
+
Pokud chceme data poskytovat i sdružení [https://czadsb.cz czadsb], je potřeba doinstalovat, nebo nainstalovat další drobnosti. Pro pořádek jsem vytvořil samostatnou stránku [[CzADSB]].
        rm $PIDFILE
 
        echo "Je ukoncen."
 
    fi
 
  }
 
 
  killall(){
 
    echo -n "Ukonceni vsech RTL TCP serveru: "
 
    PID=`pidof $PROGRAM`
 
    echo "pid: $PID"
 
    if [ "$PID" ]; then
 
        for ID in $PID; do
 
            kill -9 $ID
 
        done
 
    fi
 
    PIDFILE="$PIDDIR/$PROGRAM-*.pid"
 
    rm $PIDFILE
 
}
 
 
case "$1" in
 
    start)
 
        start
 
        ;;
 
    stop)
 
        stop
 
        ;;
 
    restart)
 
        killall
 
        start
 
        ;;
 
    kill)
 
        killall
 
        ;;
 
    *)
 
    echo $"Moznosti: $0 {start|stop|restart|kill} [ID_zarizeni] [ID_zarizeni_1] [ID_zarizeni_2]"
 
    retval=1
 
esac
 
  
 
== Dump1090 ==
 
== Dump1090 ==
Řádka 515: Řádka 276:
 
* Program pro automatickou aktualizaci databáze pro VR [http://www.gatwickaviationsociety.org.uk/ www.gatwickaviationsociety.org.uk]
 
* Program pro automatickou aktualizaci databáze pro VR [http://www.gatwickaviationsociety.org.uk/ www.gatwickaviationsociety.org.uk]
 
* Lodní provoz [http://www.marinetraffic.com/ais/cz/default.aspx Marinetraffic]
 
* Lodní provoz [http://www.marinetraffic.com/ais/cz/default.aspx Marinetraffic]
 +
 +
 +
* [[Raspberry#Projekty | Zpět na projekty Raspberry Pi]]
  
  

Aktuální verze z 2. 4. 2024, 19:39

Flightradar24

Server Flightradar24.com zobrazuje jednotlivá letadla na obloze. Využívá dobrovolníků, kteří přijímají ADS-B data z letadel a následně je předávají na na server Flightradar24. Tento přenos zajišťuje program fr24feed který je nutné mít nainstalován na vlastním přijímači.

Auto Instalace

Dle postupu na serveru Flightradar24.com by pro instalaci na Respberry mělo stačit zadat:

wget -qO- https://fr24.com/install.sh | sudo bash -s

Bohužel je aktuálně problém z importem klíčů pro ověření pravosti SW. Proto tato instalace je zatím nefunkční.

Ruční Instalace 1

Ruční instalace vychází z výše uvedenáho skriptu, jen je zjednodušena a urcena pro RaspberryPI. Prvně provedeme aktualizaci a doinstalujeme pomocný soubor. Následně přidáme veřejný klíč a repozitář. Nakonec nainstalujeme vlastni fr24feed.

sudo apt update && sudo apt -y upgrade
sudo apt install -y dirmngr 

if [ ! -e "/etc/apt/keyrings" ];then sudo mkdir /etc/apt/keyrings; sudo chmod 0755 /etc/apt/keyrings; fi
wget -O- https://repo-feed.flightradar24.com/flightradar24.pub | gpg --dearmor > /etc/apt/keyrings/flightradar24.gpg
sudo mv ./flightradar24.gpg /etc/apt/keyrings/flightradar24.gpg
echo "deb [signed-by=/etc/apt/keyrings/flightradar24.gpg] https://repo-feed.flightradar24.com flightradar24 raspberrypi-stable" > ./fr24feed.list
sudo mv ./fr24feed.list /etc/apt/sources.list.d/fr24feed.list

sudo apt-get update -y
sudo apt-get install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" -y fr24feed

sudo fr24feed-signup-adsb

Ruční Instalace 2

Ve vyvoji situace se ani predchozí zpusob nezadařil. Tak přikládam další. Jen je potreba upravit verzi pro stazeni:

wget http://repo-feed.flightradar24.com/rpi_binaries/fr24feed_1.0.46-2_armhf.deb
sudo dpkg -i fr24feed_1.0.46-2_armhf.deb  

sudo systemctl restart fr24feed

sudo fr24feed --signup

Nastavení

Prvotní nastavení přijímače provedeme příkazem "sudo fr24feed --signup". Následně jsme vyzváni k zadání parametrů. V případě, že aktivujeme nový přijímač, je vhodné si zaznamenat vygenerovaný klíč a název radaru pro případ dalšího přenastavení.

	Než budete pokračovat, prosím ujistěte se, že: 
	 1 - Vaše ADS-B přijímač připojen k tomuto počítači, nebo je přístupná po síti. 
	 2 - Znáte zeměpisné souřadnice vaše antény na 4 desetinná místa a nadmořskou výšku ve stopách. 
	 3 - Máte pracovní emailovou adresu, která bude použita pro korespondenci s vámi.
	 4 - Služba fr24feed je zastavena. Pokud tomu tak není, spusťte: sudo service fr24feed stop

	Krok 1.1 - Zadejte vaší emailovou adresu (username@domain.tld)
	$:
	
	Krok 1.2 - Pokud jste použili FR24 s ADS-B údajů dříve, zadejte váš klíč sdílení.
	Pokud si nepamatujete svůj klíče pro sdílení, použijte prosím formulář pro vytvoření:
	http://feed.flightradar24.com/forgotten_key.php

	V opačném případě nechte pole prázdné a pokračovat.
	$:

	Krok 1.3 - Chtěli byste se podílet na matematických výpočtů? (yes/no) $:

	Krok 2 - Zadejte nejbližší kód letiště (IATA or ICAO)
	
	Potřebujeme znát vaše antény přibližnou polohu filtrovat falešnou provoz, jakož i k tomu, 
	 aby pozemní pozice dekódování. Můžete buď zadat nejbližší kód letiště nebo ponechte pole prázdné,
	 aby přesnou polohu antény. Pokud je vaše anténa je dál než 20 mil od nejbližšího letiště důrazně
	 doporučujeme poskytovat svou pravou pozici, místo, jak to může ovlivnit výkon dekodér.
	
	Zadejte kód letiště nebo nechte prázdné
	$:

	DŮLEŽITÉ: Při výpočtech MLAT umístění antény by měly být zapsány velmi přesný!
	Krok 3.A - Vložte zeměpisnou šířky umístění antény (DD.DDDD) $:

	Krok 3.B - Vložte zeměpisnou délku umístění antény (DDD.DDDD) $:

	Krok 3.C - Vložte nadmořskou výšku umístění antény (ve stopách) $:

	Flightradar24 může, v případě potřeby, použijte emailovou adresu, aby vás kontaktovat ohledně zdroji dat.

	Chtěli byste i nadále používat toto nastavení?

	Zadejte svou volbu (ano / ne)
	$:

Rekonfigurace

Případné přenastavení, jen vlastního zdroje dat lze provést příkazem "sudo fr24feed --reconfigure --fr24key=0123456789ABCDEF" kde samozřejmě key odpovídá dříve přiřazenému kódu. Toto přenastavení je také možné provést přes web rozhraní a to na adrese přijímače na portě 8754.

	 1 - DVBT Stick (USB)
	 -----------------------------------------------------
	 2 - SBS1, SBS1er or SBS3 (USB/Network)
	 3 - ModeS Beast (USB/Network)
	 4 - AVR Compatible (DVBT over network, etc)
	 5 - microADSB (USB/Network)

	Zadejte typ vašeho přijímače (1-5)

 	Krok 4.2 - Vyberte dump1090 variantu: 
	1 - Původní Salvatore Sanfilippo Varianta 
	2 - Malcolma Robb je vidlice


	Krok 4.3 - Zadejte své další dump1090 argumenty nebo nechte prázdné

	....

Pokud již na zařízení používáme dump1090, bude vypadat nastaveni přiblizne takto:

Receiver selection:
  AVR Compatible (DVBT over network, etc)
Connection type:
  Network connection
Data port number:
  30002

Na závěr

Po nastavení nakonec spustíme fr24feed

sudo service fr24feed start

V případě potřeby můžeme obdobnmým spůsobem provést restart služby

sudo service fr24feed restart

V případě potřeby můžeme sledovat stav, nebo změnit některé parametry přes web rozhraní na portě 8754

FlightAware

Dalším serverem který také zobrazuje data z ADS-B přijímači je FlightAware. Navíc ale poskytuje zpětně dobrovolníkům informace vypočítané na základě informaci MLAT. Také je zde funkční webové rozhraní kde je přehled stavu a také mapa ze zobrazením letadel.

I zde jsou různé možnosti instalace. Zde uvádím dvě a to buď přímo image kde je vše potřebné, nebo vlastní instalace. Ta má výhodu že se dá instalovat i na Respory které plní další funkce.

Image

Postup zprovoznění přijímače nalezneme též na jejich stránkách. Vlastní instalace SDmicro image je stejná pro všechny Raspberry.

Je zde ale rozdíl v přihlášení, kdy login je opět "pi", ale heslo je "flightaware". To pro spuštění není přímo třeba. Data jsou po zapnutí ihned posílána na server. To že je vše v pořádku se dá podívat na přehledu. Přesto aby jsme měli práva, jakožto naši odměnu za poslaná data je dobré si [http://flightaware.com/account/join/?referer=/account/join/ založit účet.

Z bezpečnostních důvodů je od verze 3.3 ve výchozím stavu přístup přes SSH zablokován. Pokud chceme přístup povolit, vytvoříme prázdný soubor v oddílu / boot na SD kartě pouze s názvem "ssh" (bez přípony souborů). Pokud je tento soubor přítomen, SSH bude automaticky povoleno.

Instalace

Také tento postup je popsán na flightaware.com. Neboť verze se postupem času mění a instalace je velice jednoduchá, ponechávám popis na autorech.

Po instalaci ale nezapomenme nastavit lokaci.

sudo timedatectl set-timezone Europe/Prague

Nastavení

Pokud se nepovede automatické spárování (probíhá na základě veřejné IP adresy), je možné nastavení ruční. Po přihlášení do Raspberry pro spárování zadáme:

sudo piaware-config flightaware-user <username> flightaware-password 

poté budeme vyzváni k zadání hesla pro FlightAware. Verze 3.1 je již přednastavená aby poskytla všechny dostupné informace. Proto není potřeba ji standardně přenastavovat. Přesto můžeme přenastavit potřebné parametry. Seznam parametru najdeme na Flightaware.com. Mnou často donastavené hodnoty:

sudo piaware-config feeder-id <Unique Identifier>  # Dlouhe identifikacni cislo pri vymene SD karty
sudo piaware-config wireless-network no            # Vypniti WiFi
sudo piaware-config rfkill yes                     # Pro Ri3 vypne wifi/bluetooth
sudo piaware-config rtlsdr-gain 48                 # Nastaveni zesileni pro RTL-SDR
sudo piaware-config rtlsdr-ppm  55                 # Nasatveni corekce hodin pro RTL-SDR

Aktuální nastavení získáme příkazem:

sudo piaware-config -showall

Poté by se již měly informace párovat na náš účet. To vše je v pořádku bude také potvrzeno emailem.

Vlastní konfigurace Piaware je uločena v souboru /etc/piaware.conf při instalaci z balíčku, nebo /boot/piaware-config.txt při použití image SD karty.

Pokud bude vše v pořádku, tak jsou následně otevřené porty:

TCP 30002 Raw - netříděná data ve formátu AVR (Beast Raw Feed)  (dump1090, bez MLAT)
TCP 30003 Zpracovaná data ve formátu BaseStation                (dump1090, bez MLAT)
TCP 30005 Raw - netříděná data ve formátu Beast Raw Feed        (dump1090, bez MLAT)

TCP 30105 Pouze MLAT data ve formátu Beast Raw Feed         (pro FlightFeeders od verze 7.x)
TCP 30106 Pouze MLAT data v rozšířeném formátu BaseStation  (pro FlightFeeders od verze 7.x)

TCP    22 - SSH připojení
TCP    80 - Pro webový přístup
TCP  8080 - Pro webové sledování letadel

TCP 30104 - pro příjem dat z jiných zařízení ve formátu Beast Raw Feed. Data budou přidány do mapy, na port 30005 a PiAware. Nebude ale z nich počítám MLAT)

Nová verze image PiAware má podporu IP6. Bohužel v tomto případě ale není funkční přeposílání dat z MLAT informacemi přes IP4 pro další zpracování. Proto je nutné IP6 zakázat. To se dá docílit několika způsoby. Zde jeden přikládám, který zablokuje přímo načtení modulu pro IP6:

sudo echo "blacklist ipv6" > /etc/modprobe.d/blacklist.conf

Web nastavení

Piaware umožňuje zobrazení svého aktuálního stavu přes web rozhraní. Bohužel to není součástí vlastní instalace a je potřeba jej získat samostatně. Prvně vytvoříme konfigurační soubor pro lighttpd.

sudo nano /etc/lighttpd/conf-available/50-piaware.conf
# Allows access to the piaware status file, and
# does translation rewrites for the landing page

alias.url += (
    "/status.json" => "/run/piaware/status.json"
)

server.modules += ( "mod_rewrite" )

$HTTP["language"] =~ "(en)" {
    url.rewrite = ( "^/translations/lang.js$" => "/translations/%1.js" )
}
else $HTTP["language"] =~ ".*" {
    url.rewrite = ( "^/translations/lang.js$" => "/translations/en.js" )
}

Následně nakopírujeme vlastní html stránky do adresáře /var/www - nutno si je někde sehnat .. ( wget http://radar.slapnet.cz/radar/deb/html.zip )

Nakonec vytvoříme symlink souboru 50-piaware.conf do adresáře /etc/lighttpd/conf-enabled

Moje nastaveni

Donastaveni systemu:

sudo piaware-config feeder-id ...........-.....-.....-.....-.....   - ID puvodniho zarizeni pokud se jedna o vymenu HW

sudo piaware-config rtlsdr-ppm 50
sudo piaware-config rtlsdr-gain max
sudo piaware-config wireless-network no
sudo piaware-config rfkill yes

sudo piaware-config uat-receiver-type sdr
sudo piaware-config uat-sdr-device "driver=rtlsdr,rtl=1"
sudo piaware-config uat-sdr-gain max
sudo piaware-config uat-sdr-ppm 50

RTL klicenky umoznuji nasledujici zesileni

Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6

CzADSB

Pokud chceme data poskytovat i sdružení czadsb, je potřeba doinstalovat, nebo nainstalovat další drobnosti. Pro pořádek jsem vytvořil samostatnou stránku CzADSB.

Dump1090

Jedná se o vlastní program, který snímá data z ADS-B vysílačů a následně provede jejich zpracování a dekódování. Originální informace jsou na https://github.com/mutability/dump1090

Prvně se doinstaluje odkaz zdroje dat včetně platných klíčů. Pak teprve provedeme vlastní instalaci:

wget https://github.com/mutability/mutability-repo/releases/download/v0.1.1/mutability-repo_0.1.1_armhf.deb
sudo dpkg -i mutability-repo_0.1.1_armhf.deb

sudo apt-get update && sudo apt-get install dump1090-mutability

Po nainstalování je vhodné provést konfiguraci

sudo dpkg-reconfigure dump1090-mutability

Případně pak můžeme editovat soubor "/etc/default/dump1090-mutability" kde jsou uložené hodnoty pro dump1090-mutability.


Vlastní Image

Pro ty, kteří se bojí vytváření a instalace jednotlivých programů pod Linuxem a přesto si chtějí vytvořit ADS-B postavený na Raspberry jsem připravil nový image SD karty pro tento účel. Popis jak provést vlastní instalaci a nastavení je věnována vlastní stránka ADS-B Image.

Virtual Radar

Pro tento pěkná program je vyhrazena samostatná stránka: Vizualizace leteckého provozu.

FlightAirMap

Další zajímavý radar: https://github.com/Ysurac/FlightAirMap

ACARS

ACARS – Aircraft communiactions Addressing & Reporting System Reporting Sys

Zajímavý odkaz na dokument ACARS.pdf

Kanály pro Evropu:

  • 131.525 MHz - Sekundární kanál pro Evropu
  • 131.725 MHz - Primární kanál pro Evropu
  • 131.825 MHz - Primární kanál pro Evropu
  • 136.900 MHz - Další kanál pro Evropu
  • 1545 – 1555 MHz - Satelitní kanály


Odkaz na výpočet https://www.jcoppens.com/ant/helix/calc.en.php

Odkazy

Odkazy které mi pomohli k zprovoznění ADS-B příjmu a souvisejícím tématům:


Stránky na kterých též je možné sledovat vlastní letecký provoz, nebo mají na dané téma přímou vazbu:



A takto může vypadat vlastní přijímač:

Adsb-prijimac.jpg