FLARM w szybowcu (zdjęcie: Sebastian Lampart)

Śledzimy szybowce, samoloty, helikoptery i balony cz. 3 – FLARM

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:

  • szybowców
  • śmigłowców
  • balonów
  • samolotów
Nadajnik/odbiornik FLARM dla szybowca
Nadajnik/odbiornik FLARM dla szybowca (zdjęcie: Sebastian Lampart)

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.

Czego będziemy potrzebować?

Sprzęt:

  • Raspberry Pi lub Orange Pi Zero albo One. Cena od $9 do $11
  • DVB-T USB Dongle. Ponownie – w wersji w niebieskiej obudowie „DVB-T RTL2832U+R820T2”. Cena: około $7
  • Karta micro SD – może być tania karta 8G za $4, ale lepiej Sandisk Extreme/Ultra minimalnie 4GB
  • Zasilacz 1.5 lub 2A 5V z micro USB (np: ładowarka do komórki)
  • Małe radiatory (dwie sztuki) na CPU i kontroler w Orange Pi Zero/One lub Raspberry Pi
  • ALTERNATYWNIE: Raspberry Pi 2 lub 3 – posiadają odpowiednią moc CPU, chociaż są trzykrotnie droższe
  • Antena na 868MHz. Na początek wystarczy modyfikacja dołączonej anteny do dongle – przytnijmy ją do pojedynczego segmentu. Moja dołączona antena daje mi zasięg około 50km – bez modyfikacji

Software:

  • Armbian dla Orange Pi – obecnie najlepszą wersją jest Xenial, wersja developer/beta, z jądrem 4.9.x – pobieramy z Night releases z https://www.armbian.com/orange-pi-zero/, lub ostatni, aktualny Raspbian – tak jak w poprzednim wpisie.
  • ogn-decode i ogn-rf – oprogramowanie do pobrania w wersji na CPU ARM
  • Wolne porty 8080 i 8081 na naszej maszynie (jeśli nie ma nic zainstalowanego to będą wolne)
Kokpit z FLARM
Kokpit z FLARM  (zdjęcie: Sebastian Lampart)

Instalacja

Należy – jeśli jeszcze nie mamy – zainstalować bilbiotekę SDR, kilka bibliotek systemowych, a następnie pobrać odpowiednie pliki z glidernet.org:

Wyłączamy sterowniki do DVB-T – inaczej nie moglibyśmy użyć naszego dongle DVB-T w trybie surowym

wklejamy:

Następnie uruchamiamy ponownie nasze Orange Pi/Raspberry Pi
Pobieram z glidernet.org plik, oraz rozpakkowujemy:

Teraz należy stworzyć potok (specjalny plik do wymiany danych między dwoma programami ogn):

Z szybowca (zdjęcie: Sebastian Lampart)
Z szybowca (zdjęcie: Sebastian 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):

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:

Przykładowy plik z wyliczeniami dla mojego tunera, wpisujemy WŁASNE wartości FreqCorr, GSM CenterFreq Gain – wyliczone z programu gsm_scan:

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:

z zawartością:

Nadajemy prawa wykonywania:

Drugi plik:
nano /home/pi/rtlsdr-ogn/run_ogn-decode

z zawartością:

Nadajemy prawa wykonywania:

Następnie edytujemy crontab:

Wklejamy:

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!

Z szybowca (zdjęcie: Sebastian Lampart)
Z szybowca (zdjęcie: Sebastian Lampart)




  • Tomek Boruh

    Super poradnik mimo tego, że w sumie to napisane to samo co w wiki ogna , ale brakuje mi tu kilku informacji , więc pozwolę delikatnie zasugerować :

    1) dla wielu niejasny jest punkt odnośnie kalibracji odbiornika , ten ./gsm_scan wywala dość sporo informacji i niestety ciężko stwierdzić co oznacza :
    „..Zmieniamy wartości aż odchył będzie w granicach max 10ppm (dla najlepszej częstotliwości GSM)…” fajnie byłoby gdybyś poparł to jakimś przykładem , screenem .

    2) super byłoby gdybyś dopisał do crontaba mały skrypt sprawdzający czy nie wyszła nowa wersja który automatycznie pobierałby i kopiował co trzeba. (w autoinstalatorze który niestety ostatnio zniknął ze stron OGN) taka opcja była zaimplemetowana i spoko to działało )

    więc moim zdaniem wpis spoko, ale te dwa punkty , byłyby prawdziwą wartością dodaną , do tego co oferuje dokumentacja na stronach projektu

    pozdro

    • Łukasz C. Jokiel

      1) O tak, to trzeba uzupełnić – pamiętam, że przy uruchomieniu miałem wątpliwości co do danych z przesunięcia
      2) Mam na to pomysł, ale pozostawię to jednak jako opcję – wolę wiedzieć niż pozwolić na samą instalację.

      Dzięki!

  • Marcin Sz

    Na Ras Pi2 (raspbian) binarki ARM’a wykładają sie z ‚segmentation fault’. Czy jest może dostęp do źródeł?

    • Łukasz C. Jokiel

      Nie używaj gałęzi GPU – to wersja dla RPi1 (armv6) – której nie testowałem, weź te z gałęzi ARM: http://download.glidernet.org/arm/ – działają dla kompilacji armv7 i armv6 na raspbianie RPi 2/3 lub na Armbianie

  • Krilow

    Hello, thank you for the tutorial. I am currently running a similar system using OPI PC + (LJNM). Is the zero working ok for you? Any problems so far with stability etc?
    Thank you

    • Łukasz C. Jokiel

      I have ADS-B piaware running on OPi PC too – also doing bunch of other taks – no problem with uptimes of ~90 days (usually reboot due to upgrades). Also with heatsink.

      • Krilow

        What about OPI zero and OGN? Is the processor handling the load well without too high of a temperature? I am asking because I posted your tutorial on the OGN irc and some users voiced concerns about how well the OPI zero can hande it. Thanks again.

        • Łukasz C. Jokiel

          I suggest copper tall heatsink (Opi PC and Opi A20 are OK with alu, small) and probably a fan if you get ambient temps of around 30. I have big (30cm) low-RPM fans that will start when ambient temp is around 30 or any OPi CPU reaches 50 – because this allows for less throttling of CPU.

          • Krilow

            Thank you. Can you tell me what is the callsign of the OGN receiver that is running on the OPI zero?

  • Ma No

    a z Windows się da? Nie mam maliny

    • Łukasz C. Jokiel

      Wirtualna maszyna z Debianem i pliki na x86 – można próbować, powodzenia!