OGN: Porovnání verzí
(→OGN2ADSB) |
(→OGN2ADSB) |
||
| Řádka 255: | Řádka 255: | ||
Instalace vlastniho převodu dat ogn2adsb | Instalace vlastniho převodu dat ogn2adsb | ||
git clone https://github.com/b3nn0/ogn2dump1090 | git clone https://github.com/b3nn0/ogn2dump1090 | ||
| − | cd ogn2dump1090/ | + | sudo mv ./ogn2dump1090/ /opt/ |
| + | cd /opt/ogn2dump1090/ | ||
Upravíme konfiguraci "mcedit config.py" | Upravíme konfiguraci "mcedit config.py" | ||
Verze z 30. 6. 2026, 13:40
Obsah
Úvod
OGN - Open Glider Network, Otevřená síť kluzáků je platformu pro jednotné sledování kluzáků a jiných letadel GA. Je zaměřuje na sledování letadel vybavených zařízeními FLARM , FLARM nebo OGN tracker. Důležité odkazy:
- http://wiki.glidernet.org/ - Oficiální stránky projektu kde jsou i další zajímavé odkazy k tomuto tématu a vše potřebné.
- http://live.glidernet.org - Mapa leteckého provozu.
- http://glidertracker.org/ - Aktuální mapa letadel, přijímačů a provozu.
Instalace
Na stránkách http://wiki.glidernet.org/ je také postup instalace vlastního přijímače. Pro zjednodušení vlastní instalaci na Respberry zde zhrnu.
1. Pokud ještě nemáme, tak si připravíme Raspberry z nejaktuálnější verzí distribuce, například podle článku Raspberry.
2. Nainstalujeme ovladač rtl-sdr. I zde můžeme postupovat dle článku RTLSDR.
3. Doinstalujeme potřebné balíčky
sudo apt update && sudo apt -y upgrade sudo apt-get -y install libjpeg-dev libconfig-dev fftw3-dev lynx telnet ntp ntpdate sudo apt-get -y install libconfig9 libfftw3-dev procserv g++ make cmake build-essential sudo ln -s /usr/lib/arm-linux-gnueabihf/libjpeg.so /usr/lib/arm-linux-gnueabihf/libjpeg.so.8
4. Stáhneme aktuální verzi rtlsdr-ogn a rozbalíme. Pozor, na distribuce:
4a. Raspberry Pi3 (z podporou GPU)
cd ~ wget http://download.glidernet.org/rpi-gpu/rtlsdr-ogn-bin-RPI-GPU-latest.tgz tar -xvzf rtlsdr-ogn-bin-RPI-GPU-latest.tgz
4b. Raspberry Pi4 a ostatní ARM bez podpory GPU
wget http://download.glidernet.org/arm/rtlsdr-ogn-bin-ARM-latest.tgz tar xvzf rtlsdr-ogn-bin-ARM-latest.tgz
4c. Upravená verze , řešící problém z libjpeg.so.8 je k stazeni
wget http://blok.tydyt.cz/file/rtlsdr-ogn-bin-ARM-0.2.9_Buster.tgz tar xvzf rtlsdr-ogn-bin-ARM-0.2.9_Buster.tgz
5. Aplikaci překopírujeme ideálně do /opt a pripravíme ke spuštění:
sudo cp -rp ~/rtlsdr-ogn* /opt/ sudo rm /opt/rtlsdr-ogn-bin-*.tgz cd /opt/rtlsdr-ogn sudo chown root gsm_scan sudo chmod a+s gsm_scan sudo chown root ogn-rf sudo chmod a+s ogn-rf
6. Nakopírujeme soubory pro automatické spouštění:
sudo cp /opt/rtlsdr-ogn/rtlsdr-ogn /etc/init.d/ sudo cp /opt/rtlsdr-ogn/rtlsdr-ogn.conf /etc/ rm rtlsdr-ogn rm rtlsdr-ogn.conf sudo chown root /etc/init.d/rtlsdr-ogn sudo chmod +x /etc/init.d/rtlsdr-ogn sudo chmod a+s /etc/init.d/rtlsdr-ogn sudo update-rc.d rtlsdr-ogn defaults
7. Vytvoříme komunikační kanál fifo:
cd /opt/rtlsdr-ogn sudo mknod gpu_dev c 100 0 mkfifo ogn-rf.fifo
8. GeoidSepar Dle doporuceni v konfiguraci OGN stáhneme data pro přesné určení nadmořské výšky
cd /opt/rtlsdr-ogn sudo wget https://github.com/TerriaJS/egm1996/raw/master/data/WW15MGH.DAC
9. Vytvoříme a upravíme konfigurační soubor z nastavením parametrů. Pojmenujeme jej podle lokality kde je přijímač umístěn
cp Template.conf Lokalita.conf nano Lokalita.conf
10. Na závěr upravíme konfuguraci pro automatické spouštění
sudo sed -i 's/home\/pi/opt/g' /etc/rtlsdr-ogn.conf sudo nano /etc/rtlsdr-ogn.conf
kde upravíme řádky na
50000 pi /opt/rtlsdr-ogn ./ogn-rf Lokalita.conf 50001 pi /opt/rtlsdr-ogn ./ogn-decode Lokalita.conf
11. A pak již službu jen spustíme
sudo service rtlsdr-ogn start
Poznámka: Když služba spustí, čeká na synchronizaci času (NTP). To může trvat až 30min na právě spuštěném RPi. Gossip říká, že pokud nainstalujete ntpdate, synchronizuje se mnohem rychleji.
PPM
Používané levných USB klíčenky mají nestabilní krystal a vyznačují se rozladěním. Proto je nutné nastavit správnou hodnotu PPM kterou následně použijeme do konfiguračního souboru.
sudo service rtlsdr-ogn stop cd /opt/rtlsdr-ogn ./gsm_scan --device 0 --gain 7.7 --ppm 50
Nastaveni
Hlavní konfigurační soubor:
RF:
{
FreqCorr = +59; # [ppm] "levné" R820T mají opravné faktory 40-80ppm, měří se pomocí gsm_scan
# Device = 0; # rtl-sdr device index
# DeviceSerial = "00000002";# sériové číslo zařízení rtl-sdr, které chcete vybrat
# BiasTee = 1; # zapne napajeni 5V pro predzesilovac - Jen pro v3 dongle
SampleRate = 2.0; # [MHz] 1.0 nebo 2.0MHz, provoz 2MHz ma vetci zatez CPU, ale pro zachytit PilotAware je potreba
GSM: # frekvence pro kalibraci kmitočtu založenou na GSM signálu
{
CenterFreq = 930.4; # [MHz] nejlepší GSM frekvenci zjištěná pomocí gsm_scan
Gain = 2.7; # [dB] RF vstupní zesílení (dejte pozor, že GSM signály jsou velmi silné!)
# platná nastavení pro zisk : 0.0 1.4 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
} ;
OGN:
{
CenterFreq = 930.4; # [MHz] ze sirkou pasma 868,8 MHz a 2 MHz muzeme zachytit vsechny systemy: FLARM / OGN / FANET / PilotAware
Gain = 28; # [0.1dB] Rx zesílení OGN přijímače
};
} ;
Position:
{
Latitude = +48.9198; # [deg] Souřadnice antény
Longitude = +16.4291; # [deg]
Altitude = 190; # [m] Nadmořská výška nad mořem
GeoidSepar = 10; # [m] Geoid separation: FLARM vysílá GPS nadmořskou výšku, APRS používá prostředky nadmořské výšky
} ;
APRS:
{
Call = "Lokalita"; # APRS označení (max. 9 znaků)
# Obraťte se prosím na http://wiki.glidernet.org/receiver-naming-convention
# Server = "aprs.glidernet.org:14580";
} ;
DDB:
{
# UseAsWhitelist = 1; # Nastavuje prisne prihlaseni
}
HTTP:
{
Port=8080; # Nastaveni http port pro vice prijimacu
}
Ověření
Vlastní provoz můžeme ověřit na vlastním Raspberry pomocí telnetu.
- Informace týkající se procesu dekódování:
telnet localhost 50000
- Informace týkající se APRS dat trafiku:
telnet localhost 50001
Další možností je kontrola přes web rozhraní. Zde máme opět k dispozici dva porty:
- IP_adresa_raspberry:8080
- IP_adresa_raspberry:8081
V pripade problémů je také dobré spustit jen samostatne příkazy:
./ogn-rf Lokalita.conf
./ogn-decode Lokalita.conf
Piaware / dump1090
Poznámka: Pokud instalujeme společně z dump1090 (součást ADSB přijímačů) je nutné prvně uvolnit port 8080 ! V případě instalace Piaware upravíme soubor /etc/lighttpd/conf-enabled/89-dump1090-fa.conf.
Pokud je nainstalova system Piaware nebo dump1090 můžeme si přidat zobrazeni přes web. Za prevé musíme uvolnit port 8080:
sudo sed -i 's/8080/8079/g' /etc/lighttpd/conf-available/*skyaware.conf
Následně vytvoříme jednodychou HTML stránka:
sudo mkdir /var/www/html/ogn sudo nano /var/www/html/ogn/index.html ------------------------------------------------------------------------------------ <html> <head> <meta charset="utf-8"> <title>OGN status</title> </head> <body> <center> <iframe src="http:/ogn-rf/" width="520" height="1400" frameborder=0></iframe> <iframe src="http:/ogn-demodulator/" width="520" height="1400" frameborder=0></iframe> <p> <a href="/">Zpet - PiAware Info</a> | <a href="https://glidertracker.org/#nowelcome&lat=49.492&lon=16.897&z=8">GliderTracker - OGN Websocket Client </a> </center> </body> </html>
Do stávajicího souboru index.html přidáme odkaz na status OGN (Pod `<div id="uatmap" style="display:inline-block;"></div>` nebo '<script id="maplink-template" type="text/template">'):
sudo nano /var/www/html/index.html ------------------------------------------------------------------------------------ <a href="/ogn/" class="btn btn-primary btn-lg">Go to OGN status</a>
Vytvoříme konfiguraci pro lighttpd.
sudo nano /etc/lighttpd/conf-enabled/60-ogn.conf
------------------------------------------------------------------------------------
# Reverz proxy pro ogn
server.modules += ("mod_proxy")
$HTTP["url"] =~ "^/ogn-demodulator/" {
proxy.header = (
"map-urlpath" => ( "/ogn-demodulator/" => "/" ),
"upgrade" => "enable"
)
proxy.server = ( "" =>
(( "host" => "127.0.0.1", "port" => 8081 ))
)
}
$HTTP["url"] =~ "^/ogn-rf/" {
proxy.header = (
"map-urlpath" => ( "/ogn-rf/" => "/" ),
"upgrade" => "enable"
)
proxy.server = ( "" =>
(( "host" => "127.0.0.1", "port" => 8080 ))
)
}
Stahneme chybejici favicon.ico a restartujejeme lighttpd:
cd /var/www/html sudo wget https://flightaware.com/favicon.ico sudo systemctl restart lighttpd sudo systemctl restart rtlsdr-ogn.service
OGN 2 ADSB
Odkazy:
Instalacni skript vcetne ogn ...
Tabulka prevosu typu letadel OGN / ADSB
ReADSB
OGN2ADSB převedené data umí jen odesílat jen na jeden, není možné takto získané data číst z více míst. Proto je vhodné nainstalovat i ReADSB, který zajistí "proxy" pro získané data.
wget https://rxw.cz/dists/trixie/readsb-only_last_amd64.deb mv ./readsb-only_last_amd64.deb /tmp/readsb-only_last_amd64.deb sudo apt install -y /tmp/readsb-only_last_amd64.deb
Následně upravíme konfiguraci "sudo mcedit /etc/default/readsb"
RECEIVER_OPTIONS="--device 0 --device-type rtlsdr --gain auto --ppm 0" DECODER_OPTIONS="--max-range 450 --write-json-every 1" NET_OPTIONS="--net --net-ri-port 30001 --net-ro-port 30002 --net-sbs-port 30003 --net-bi-port 30004,30104 --net-bo-port 30005" JSON_OPTIONS="--json-location-accuracy 2 --range-outline-hours 24"
Pote změny aktivujeme a zkontrolujeme že služba běží
sudo systemctl restart readsb.service sudo systemctl status readsb.service
OGN2ADSB
Příprava
sudo apt update sudo apt install python3-pip python3-aiohttp git telnet -y
Instalace ogn clienta pro připojeni na OGN server
cd ~/ git clone https://github.com/glidernet/python-ogn-client cd python-ogn-client/ pip3 install --break-system-packages .
Instalace vlastniho převodu dat ogn2adsb
git clone https://github.com/b3nn0/ogn2dump1090 sudo mv ./ogn2dump1090/ /opt/ cd /opt/ogn2dump1090/
Upravíme konfiguraci "mcedit config.py"
... TELNET_SERVER_HOST = "" ... aprs_subscribe_filter = "r/49.74/15.34/300" ... metar_source = None
Odkazy
- Zpět na projekty