OGN

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

Ú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:

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

Odkazy