Umiemy już śledzić za pomocą dongle DVB-T na USB oraz Raspbery Pi lub jego kolna samoloty. Poznajmy więc kolejny system, który za pomocą tego samego sprzętu pozwoli na śledzenie:
===
FLARM – to system unikania kolizji dla lekkich obiektów latających, zatwierdzony przez EASA, zdobywający popularność i stosowany głównie w Polsce na szybowcach. Oczywiście – nie będziemy używać go do unikania kolizji, ale do obioru pozycji takich obiektów i nanoszenia ich na mapę projektu OPEN GLIDER. Gdy spojrzymy na mapę – stacji w Polsce jest bardzo mało – warto więc rozbudować sieć, aby szybownicy i nie tylko – mogli czuć się bezpieczniej, a ich rekordy – być rejestrowane.
Należy – jeśli jeszcze nie mamy – zainstalować bilbiotekę SDR, kilka bibliotek systemowych, a następnie pobrać odpowiednie pliki z glidernet.org:
cd /home/pi
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install rtl-sdr
sudo apt-get install libconfig-dev fftw3-dev libjpeg-dev libconfig9 libjpeg8
Wyłączamy sterowniki do DVB-T – inaczej nie moglibyśmy użyć naszego dongle DVB-T w trybie surowym
nano /etc/modprobe.d/rtl-sdr-blacklist.conf
wklejamy:
blacklist dvb_usb_rtl28xxu
blacklist e4000
blacklist rtl2832
blacklist r820t
blacklist rtl2830
blacklist dvb_usb_rtl28xxu
blacklist dvb_usb_rtl2832u
Następnie uruchamiamy ponownie nasze Orange Pi/Raspberry Pi
Pobieram z glidernet.org plik, oraz rozpakowujemy:
wget http://download.glidernet.org/arm/rtlsdr-ogn-bin-ARM-latest.tgz
tar xvzf rtlsdr-ogn-bin-ARM-latest.tgz
Teraz należy stworzyć potok (specjalny plik do wymiany danych między dwoma programami ogn):
cd rtlsdr-ogn
mkfifo ogn-rf.fifo
(zdj. Stanisław Lampart)
Teraz przystępujemy do kalibracji naszego odbiornika – tanie tunery DVB-T mają niską precyzję dostrojenia do wybranej częstotliwości – należy zweryfikować i zmodyfikować odchylenie. Używamy do tego specjalnego programu, który używając częstotliwości GSM, pokaże nam o ile zmienić wartość ppm (korekcji oscylatora):
cd rtlsdr-ogn
./gsm_scan --ppm 50 --gain 20
Zmieniamy wartości aż odchył będzie w granicach max 10ppm (dla najlepszej częstotliwości GSM) – zapisujemy je.
Następnie – tworzymy własną konfigurację z przykładu:
cp Template.conf EPXX_OGN.conf
nano EPXX_OGN.conf
Przykładowy plik z wyliczeniami dla mojego tunera, wpisujemy WŁASNE wartości FreqCorr, GSM CenterFreq Gain – wyliczone z programu gsm_scan:
RF:
{
FreqCorr = +87.060; # [ppm] "big" R820T sticks have 40-80ppm correction factors, measure it with gsm_scan
GSM: # for frequency calibration based on GSM signals
{ CenterFreq = 938.4; # [MHz] find the best GSM frequency with gsm_scan
Gain = 25.0; # [dB] RF input gain (beware that GSM signals are very strong !)
} ;
} ;
Position:
{ Latitude = +51.1514; # [deg] Antenna coordinates
Longitude = +18.4642; # [deg]
Altitude = 150; # [m] Altitude above sea leavel
GeoidSepar = 48; # [m] Geoid separation: FLARM transmits GPS altitude, APRS uses means Sea level altitude
} ;
APRS:
{ Call = "EPXX1"; # APRS callsign (max. 9 characters)
# Please refer to http://wiki.glidernet.org/receiver-naming-convention
} ;
Następnie uruchamiamy w tle dwa programy, jak zwykle używam mojej prymitywnej, ale solidnie działającej metody – programu uruchamającego oraz wpis do cron:
Tworzymy dwa pliki:
cd /home/pi
nano /home/pi/rtlsdr-ogn/run_ogn-rf
z zawartością:
#!/bin/bash
cd /home/pi/rtlsdr-ogn
/home/pi/rtlsdr-ogn/ogn-rf /home/pi/rtlsdr-ogn/EPXX_OGN.conf
Nadajemy prawa wykonywania:
chmod 755 /home/pi/rtlsdr-ogn/run_ogn-rf
Drugi plik:
nano /home/pi/rtlsdr-ogn/run_ogn-decode
z zawartością:
#!/bin/bash
cd /home/pi/rtlsdr-ogn
/home/pi/rtlsdr-ogn/ogn-decode /home/pi/rtlsdr-ogn/EPXX_OGN.conf
Nadajemy prawa wykonywania:
chmod 755 /home/pi/rtlsdr-ogn/run_ogn-decode
Następnie edytujemy crontab:
crontab -e
Wklejamy:
*/5 * * * * if [ `pgrep ogn-rf | tr '\n' ' '| awk '{print $1}'` ]; then echo "ogn-rf dziala"; else screen -dmS ognrf /home/pi/rtlsdr-ogn/run_ogn-rf; fi > /tmp/ognrf.log 2>&1
*/5 * * * * if [ `pgrep ogn-decode | tr '\n' ' '| awk '{print $1}'` ]; then echo "ogn-decode dziala"; else screen -dmS ogndecode /home/pi/rtlsdr-ogn/run_ogn-decode; fi > /tmp/ogndecode.log 2>&1
Oczywiście – w przykładzie używamy użytkownika „pi”.
Weryfikujemy działanie łącząc się albo przez screen -r XXX, albo przez podejerzenie działania na przeglądarce – http://adres_ip:8080/ oraz http://adres_ip:8081/. Naszą stację, wraz z pojawiajacymi się informacjami o zasięgu możemy oglądać pod adresem: http://ognrange.onglide.com/. Co najmniej raz na pół roku należy sprawdzić czy nie pojawiła się nowa wersja FLARM.
To wszystko!
(zdj. Stanisław Lampart)