Flight warning - skrypt w pythonie

Coś dla Spotterów ze skanerkiem oraz radarem SBS.
Awatar użytkownika
spinka
Posty: 266
Rejestracja: 30 maja 2017, 13:07
Lokalizacja: Poznań
Kontakt:

16 czerwca 2019, 16:01

Pisałem już o tym , ale dziś upubliczniam sam skrypt.
Jest to wersja najprostsza "konsolowa".
Powinno działać na Windowsie, Linuxie i prawdopodobnie na Mac, udało mi się to uruchomić też na androidzie.
Dla mnie uruchomienie tego wydaje się w miarę proste, ale spróbuję opisać co jest potrzebne krok po kroku i odpowiadać na ew. pytania.

Skrypt znajduje się tu (plik flight_warning_winlin_term.py):
https://github.com/spink-al/flight-warning

W pobranym pliku należy zmienić poniższe na swoje koordynaty:

Kod: Zaznacz cały

my_lat =50.1234 #yourl atitude # (positive = north, negative = south)
my_lon = 15.1234 #your longitude # (positive = east, negative = west)
my_elevation_const = 90 #wysokość punktu obserwacji w metrach nad poziomem morza
my_elevation = 90 #wysokość punktu obserwacji w metrach nad poziomem morza
Do uruchomienia potrzebne są dodatkowo:
- odbiornik adsb i output z dump1090 dostępny na porcie 30003 w sieci lokalnej, lub na tym samym komputerze czy hoście.

Na windowsie:
- Python 2.7
- pyephem
- Ncat z pakietu Nmap (Podczas instalacji można zostawić zaznaczony tylko Ncat)

Uruchomienie skryptu w konsoli na windowsie:
Win+R
w okienku wpisujemy: cmd.exe <enter>

W konsoli:
<ścieżka do ncat>\ncat.exe <adres ip na którym mamy dump1090> 30003 | <ścieżka do pythona>\python.exe <ścieżka do skryptu>\flight_warning_winlin_term.py

Przy standardowych miejscach instalacji, skrypcie w katalogu z pythonem i dump1090 pod adresem ip 192.168.0.1 polecenie powinno wyglądać tak:

Kod: Zaznacz cały

"C:\Program Files (x86)\Nmap\ncat.exe" 192.168.0.1 30003 | C:\Python27\python.exe C:\Python27\flight_warning_winlin_term.py
Na linuxie, ncat to nc, i jest chyba w większości dystrybucji standardowo jak i python, więc trzeba tylko pyephem doinstalować.
Polecenie pod linuxem na komputerze na którym jest uruchomiony dump1090 wyglądałoby na przykład tak:

Kod: Zaznacz cały

nc 127.0.0.1 30003 | python /home/user/flight_warning_winlin_term.py
Jeśli wszystko pójdzie ok, to po uruchomieniu powinna się pojawić taka tabelka:
Obrazek

Flight info
- ICAO lub callsign
- elev - wysokość lotu w m
- trck - kierunek lotu w stopniach

- dist - aktualna odległość do samolotu w km

Pred. closest
- warn - najbliższa przewidywana odległość w jakiej przeleci samolot
- Alt - kąt na jakim będzie samolot najbliższej przewidywanej odległości

Current Az/Alt
- Alt - aktualna wysokość na jakiej jest samolot w stopniach
- Azim d- aktualny azymut na jakim jest samolot w stopniach
- Azim l - aktualny azymut na jakim jest samolot w oznaczeniach literowych

Transits:
Pierwsza sekcja dla tranzytów słonecznych, druga księżycowych.
Aktualne pozycje alt/az Słońca/Księżyca
- Sep - Odległość kątowa w jakiej samolot przetnie azymut na którym jest Słońce/Księżyc (wszystko poniżej 3st jest warte uwagi)
- p2x - Odległość w km jaką samolot ma do przebycia do punktu przecięcia azymut na którym jest Słońce/Księżyc
- h2x - Odległość z punktu obserwacji do punktu przecięcia toru lotu z azymutem na którym jest Słońce/Księżyc
- time2X - Czas w jakim samolot doleci do punktu przecięcia azymutu na którym jest Słońce/Księżyc

age
- wiek ostatniego odebranego komunikatu od samolotu.

Kolory opiszę później, czerwone i zielone tło w danej kolumnie ma zwracać uwagę.
System powinien wydawać dźwięki, pojedyncze jak coś "wlatuje w zasięg",
bardzo irytujące ciągłe pikanie gdy może nastąpić tranzyt, ciężko przegapić (niestety nasila się gdy Słońce/Księżyc są poniżej 10st nad horyzontem).

Mogą się zdarzać błędy i wysypki skryptu.

Może komuś się przyda albo chociaż uda się to u siebie uruchomić.
"U mnie działa" :-D
ODPOWIEDZ