`[Aktualizacja 2017-06-07 – Dzielenie się danymi z zaprzyjaźnionymi radarami]
Wiele zmieniło się od ostatniego wpisu o śledzeniu samolotów przy użyciu wiadomości ADS-B. Pojawiły się nowe opcje dzielenia się danymi, znacznie uproszczona procedura instalacji oraz – opcjonalnie nowy sprzęt. Pozwala to na zbudowanie nowego odbiornika z naciskiem na prostotę, jeszcze niższe koszty zakupu i utrzymania oraz nową funkcję – MLAT. Co więcej oprócz samolotów możecie spotkać także inne statki powietrzne – np: balony meteo! Postęp!
===
Tak więc - koszty naszego sprzętu powinny oscylować w granicach 25-30$!
MLAT to skrót od multilateration. Statki powietrzne, które nie są jeszcze wyposażone w transpondery ADS-B nie nadają swojego położenia, tak więc dzięki „multilateration” (triangulacji) otrzymywnych z transpondera w trybie S – można wyliczyć jego pozycję dzięki opóźnieniu w otrzymaniu wiadomości o ile mamy co najmniej trzy stacje bazowe odbierające (Mode S). Wymaga to więc dobrej synchronizacji zegarów i wspólnej pracy – tym bardziej warto zachęcić kolegów do uruchomienia własnych stacji odbiorczych.
Jak zauważyliście – wcześniej używaliśmy głównie Raspberry Pi. Niesamowity sukces spowodował powstanie podobnych projektów, niektóre droższe – natomiast Orange Pi Zero ma zaletę bycia bardzo tanią wraz z peryferiami – jednak nie jest to najlepiej oprogramowana płytka. No cóż – coś za coś!
Na dostarczonej antenie możesz osiągnąć niezłe rezultaty, jeśli umieścisz ją na dachu. Następnie – użyj google aby sprawdzić jaka powinna być jej długość dla częstotliwości 1090MHz. Potem możesz już zanurzyć się w świat profesjonalnych anten – masz znajomego krótkofalowca?
Pamiętaj, że antena na dachu często równa się Orange Pi Zero na strychu a tam bywa bardzo gorąco w lecie!
Przed pierwszym podłączeniem Orange Pi Zero – instalujemy na procesorze H2+ radiator, podobnie na chipe obok. Z radiatorami, bez obudowy temperatura CPU sięga 42-48 stopni Celsjusza. Jeśli ich nie zainstalujemy w gorący dzień temperatura może przekroczyć 60-65 stopni Celsjusza i znacznie skrócić żywot komputera i karty SD.
Instalujemy – zupełnie tak jak w pierwszym wpisie – system Armbian na jądrze 4.9 w wersji Xenial – używajac dd lub win32diskimager.
Przy pierwszym uruchomieniu Armbian pozwala na zalogowanie się na root z hasłem 1234, od razu przystąpimy do zmiany hasła root’a oraz stworzenia użytkownika do zwykłej pracy – może być to oczywiście 'pi’.
Zalogujmy się więc do Orange Pi za pomocą użytkownika pi i przejdźmy na root’a:
sudo su -
Od tej pory wszystkie komendy wykonujemy jako root – a więc – jak zawsze – ostrożnie!
Aktualizujemy go klasyczną komendą:
apt update && apt upgrade
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
a następnie przystępujemy do pobrania oprogramowania z Flightaware – Pi Aware – to pierwsza część naszego systemu:
wget http://flightaware.com/adsb/piaware/files/packages/pool/piaware/p/piaware-support/piaware-repository_3.1.0_all.deb
Instalujemy:
dpkg -i piaware-repository_3.1.0_all.deb
apt update
apt install piaware
apt install dump1090-fa
Dodajemy jeszcze automatyczną aktualizację:
piaware-config allow-auto-updates yes
piaware-config allow-auto-updates yes
Przechodzimy teraz do instalacji Flightradar 24:
sudo bash -c "$(wget -O - http://repo.feed.flightradar24.com/install_fr24_rpi.sh)"
Podobnie jak w pierwszym wpisie – zostaniemy poproszeni o nasze dane, klucz, pozycję anteny – przygotujmy to wcześniej.
Pozostaje połączyć FR24 z Pi Aware:
nano /etc/fr24feed.ini
Zawartość powinna wyglądać następująco
receiver="avr-tcp"
fr24key="TwojKluczFR24"
path="/usr/bin/dump1090-fa"
bs="yes"
raw="yes"
logmode="2"
mlat="yes"
mlat-without-gps="yes"
Upewniamy się jeszcze czy obie usługi są włączone:
systemctl enable piaware
systemctl enable fr24feed
I przeprowadzić reboot systemu:
reboot
Waszą mapę zobaczycie pod adresem
http://adres_ip_Waszego_orange_pi:8080/
Przykład:
Polecam sprawdzić oznaczenie amerykańskiego samolotu… Przykład dlaczego MLAT się przydaje! Później pojawił się… AWACS
Status „fr24feed” i „piaware” obejrzymy dzięki:
tail -f /var/log/fr24feed.log /var/log/piaware.log
Albo
piaware-status
To wszystko!
W kupie siła – jak mawia stare porzekadło. Wśród znajomych – znajdzie się ktoś, kto ma serwer i może przyjmować i prezentować dane z wielu radarów. Dostaniesz wtedy dostęp do wszystkich danych jakie odbierasz – oraz do tych jakie zostaną wyliczone na podstawie MLAT. Zasada jest prosta – od właściciela serwera dostajesz adres IP oraz port (a więc gniazdo) – na które przekierowujesz ruch ze swojego radaru. Wystarczy jedna linia, oraz mechanizm weryfikacji czy połączenie działa.
Samo przekazywanie zaczynamy od instalacji socat
apt-get install socat
Następnie testujemy połączenie:
/usr/bin/socat -d -T 90 TCP4:localhost:30005 TCP4:ADRES_IP_RADARU_ZNAJOMEGO:PORT_PODANY_PRZEZ_ZNAJOMEGO
Jeśli działa – przerywamy połączenie przez CRL+C i na stałe umieszczamy w crontab weryfikację działania:
crontab -e
dopisujemy linię:
*/20 * * * * /root/bin/share_flight_data.bash
Teraz tworzymy plik i edytujemy plik /root/bin/share_flight_data.bash:
mkdir -p /root/bin
touch /root/bin/share_flight_data.bash
chmod 755 /root/bin/share_flight_data.bash
pico /root/bin/share_flight_data.bash
W pliku umieszczamy:
#!/bin/bash
if [ `/usr/bin/pgrep -f "feed_do_znajomego_30005" | /usr/bin/tr '\n' ' '| /usr/bin/awk '{print $1}'` ]; then echo "feed_do_znajomego dziala"; else /usr/bin/screen -dmS feed_do_znajomego_30005 /usr/bin/socat -d -T 90 TCP4:localhost:30005 TCP4:ADRES_IP_RADARU_ZNAJOMEGO:PORT_PODANY_PRZEZ_ZNAJOMEGO; echo "Uruchamiam feed_do_znajomego_30005"; fi >> /tmp/share_data.log 2>&1
To wszystko – co 20 minut system sprawdzi czy połączenie działa!