OGN

Z Poznámkový blok
Verze z 19. 9. 2021, 11:38, kterou vytvořil Tydyt (diskuse | příspěvky) (Ověření)
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-get -y install libjpeg-dev libconfig-dev fftw3-dev lynx telnet ntp ntpdate procserv
sudo apt-get -y install libconfig9 libjpeg8 fftw3-dev g++ make cmake build-essential

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

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-RPI-GPU-latest.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. 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

9. Na závěr upravíme konfuguraci pro automatické spouštění

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

10. 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 --ppm 50 --gain 7.7

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 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.
  } ;

  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";
} ;

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:

sed -i 's/8080/8079/g' /etc/lighttpd/conf-enabled/*.conf

Následně vytvoříme jednodychou HTML stránka:

rmdir /var/www/html/ogn
nano /var/www/html/ogn/index.html


<html>
<head>
  <title>OGN status</title>
</head>

<iframe src="http:/ogn-rf" width="520" height="1270" frameborder=0> </iframe>
<iframe src="http:/ogn-demodulator/" width="520" height="1270" frameborder=0> </iframe>

<a href="https://glidertracker.org/#nowelcome&lat=49.492&lon=16.897&z=8">GliderTracker - OGN Websocket Client </a> </center> Nakonec vytvoříme konfiguraci pro lighttpd. nano /etc/lighttpd/conf-available/60-ogn.conf # Presmerovani pro ogn $HTTP["url"] =~ "^/ogn-rf" { $HTTP["host"] =~ ".*" { url.redirect = ( "^/(.*)" => "http://%0:8080" ) url.redirect-code = 302 } } $HTTP["url"] =~ "^/ogn-demodulator" { $HTTP["host"] =~ ".*" { url.redirect = ( "^/(.*)" => "http://%0:8081" ) url.redirect-code = 302 } } A nakonec povolime konfiguraci a restartujeme lighttpd ls /etc/lighttpd/conf-available/60-ogn.conf /etc/lighttpd/conf-enabled/60-ogn.conf systemctl restart lighttpd