AllSkyRadar - odwrócony flightradar
: 06 października 2018, 18:05
AllSkyRadar - pozycje samolotów są nakładane na podgląd nieba z kamery z obiektywem fisheye tzw. kamery AllSky,
w odróżnieniu od wyświetlania pozycji gps nałożonych na mapę.
Ostatnia wersja z historią lotu w formie trail-sów:
Wersja bez dodanych trail-sów, ale ze smugami widocznymi na niebie:
W założeniu chciałem mieć tylko kamerę AllSky do podglądu pokrywy chmur jak jeszcze rok temu robiłem zdjęcia rnav,
ale temat się trochę rozwinął i skomplikował:
Ze względu na to, że mój widok na horyzont jest mocno ograniczony, to od samego początku używałem przeróbkę takiego programu w pythonie, który na bieżąco analizuje dane z dump1090 i oblicza w jakiej odległości będzie przelatywał dany samolot - wysyłając powiadomienie - takie SWO.
Drugą funkcją jest translacja pozycji gps na Alt/Az dla danej lokalizacji.
Output z tego programu odpalałem w konsoli na telefonie podczas robienia zdjęć (lewe górne okienko):
Na powyższym widać np. THA931 w odległości 100km, z informacją że będzie przelatywać 9km ode mnie, jeśli nie zmieni kursu.
A poniżej w momencie gdy przelatywał najbliżej, 2km pomyłki, ale w międzyczasie informacja o odległości w której przeleci była aktualizowana:
Kiedyś znalazłem taki program, który m.in. generuje trajektorie satelitów na układzie współrzędnych biegunowych, za pomocą biblioteki matplotlib w pythonie, korzystając z pozycji Alt/Az jako koordynatów.
Podobnie generowane są mapy nocnego nieba przy użyciu np. biblioteki astroplan:
Tak się składa, że układ współrzędnych biegunowych, całkiem ładnie nakłada się na obraz nieba z kamer typu AllSky.
Obraz z astroplan idealnie nadaje się też, żeby po nałożeniu na zdjęcie nocnego nieba, ustawić kamerę czy parametry do kalibracji położenia wykresu względem zdjęcia (na powyższym wygenerowany wykres jest luźno nałożony na zdjęcie bez kalibracji obrotu, przesunięcia i skalowania).
Szkielet tej części systemu, który wygenerował powyższe filmy wygląda mniej/więcej następująco (pewnie powinienem to rozrysować, ale na razie opis):
Siedzę nad tym cyrkiem w wolnych chwilach od roku.
Na początku wystarczało samo raspberry pi z kamerą żeby wyświetlić www z aktualnym zdjęciem.
Drugie rPi do adsb.
Potem doszedł dysk sieciowy z minimalnym shellem żeby mieć jakieś archiwum.
Na chwilę obecną system składa się z:
- trzech rPi Zero (bo kamery są dwie, a trzecia leży z podłączonym donglem i dump1090);
- starego laptopa, z półterowym hdd, jako serwera (mimo obróbki i kompresji w locie dwóch strumieni video nawet się nie grzeje);
- dedykowanego routera wifi;
- dysku sieciowego na ew. archiwum;
Trochę się kombajn rozrósł, ale może uda mi się to z czasem uprościć.
Póki co więcej dorzucam niż upraszczam.
A chcę jeszcze dodać do AllSkyRadar-u np. ISS i Iridium, generowane z TLE w podobnej formie jak samoloty.
Dodać nakładkę z pozycjami samolotów, na obraz drugiej kamery, którą robię zdjęcia horyzontu,
ale ze względu że jest obrotowa, to muszę jakiś system kalibracji wykombinować.
I całkowity odpał, który nie wiem czy ogarnę programowo i matematycznie, coś jak https://transit-finder.com,
ale przewidywanie czy aktualna trasa samolotu ma szansę na przecięcie tarczy Księżyca widocznej z danej pozycji.
Pewnie sporo nauki mnie czeka i pozostanie kwestia poprawności nadawanej pozycji.
Taki pomysł na razie - mam obsesję żeby złapać nocne AFR - już od dawna nie latają na a380, ale fiksacja pozostała.
To wszystko to raczej hydraulika/łączenie różnych rozwiązań niż pisanie od zera, ale jakoś to poskładałem i działa.
Przez wyżej opisane i przygodę z astrofoto, od ponad roku żadnych zdjęć rnav nie zrobiłem...
Pozdro,
AL
w odróżnieniu od wyświetlania pozycji gps nałożonych na mapę.
Ostatnia wersja z historią lotu w formie trail-sów:
Wersja bez dodanych trail-sów, ale ze smugami widocznymi na niebie:
Legenda:
Wielkość czcionki i ilość linii opisu zależna od odległości.
Kolory:
- żółty - poniżej 5000m;
- czerwony - samolot przeleci w odległości nie większej niż X km;
- ciemnoczerwony - samolot przeleciał w odległości nie większej niż X km;
- magenta - samolot przeleci w odległości większej niż X km;
- fiolet - samolot przeleciał w odległości większej niż X km;
Kierunek wskazywany przez "o- - -" - track - kierunek lotu. Ale nie względem układu współrzędnych biegunowych, tylko "normalnie",
dlatego może to dziwnie wyglądać.
Ogonki - historia przelotu, ostatnich 10 pozycji - aktualizowane co 6s.
Punkt z gwiazdką to w ramach debug, pokazuje pierwszą zarejestrowaną pozycję.
Po 60s bez sygnału z reset.
W założeniu chciałem mieć tylko kamerę AllSky do podglądu pokrywy chmur jak jeszcze rok temu robiłem zdjęcia rnav,
ale temat się trochę rozwinął i skomplikował:
Ze względu na to, że mój widok na horyzont jest mocno ograniczony, to od samego początku używałem przeróbkę takiego programu w pythonie, który na bieżąco analizuje dane z dump1090 i oblicza w jakiej odległości będzie przelatywał dany samolot - wysyłając powiadomienie - takie SWO.
Drugą funkcją jest translacja pozycji gps na Alt/Az dla danej lokalizacji.
Output z tego programu odpalałem w konsoli na telefonie podczas robienia zdjęć (lewe górne okienko):
Na powyższym widać np. THA931 w odległości 100km, z informacją że będzie przelatywać 9km ode mnie, jeśli nie zmieni kursu.
A poniżej w momencie gdy przelatywał najbliżej, 2km pomyłki, ale w międzyczasie informacja o odległości w której przeleci była aktualizowana:
Kiedyś znalazłem taki program, który m.in. generuje trajektorie satelitów na układzie współrzędnych biegunowych, za pomocą biblioteki matplotlib w pythonie, korzystając z pozycji Alt/Az jako koordynatów.
Podobnie generowane są mapy nocnego nieba przy użyciu np. biblioteki astroplan:
Tak się składa, że układ współrzędnych biegunowych, całkiem ładnie nakłada się na obraz nieba z kamer typu AllSky.
Obraz z astroplan idealnie nadaje się też, żeby po nałożeniu na zdjęcie nocnego nieba, ustawić kamerę czy parametry do kalibracji położenia wykresu względem zdjęcia (na powyższym wygenerowany wykres jest luźno nałożony na zdjęcie bez kalibracji obrotu, przesunięcia i skalowania).
Szkielet tej części systemu, który wygenerował powyższe filmy wygląda mniej/więcej następująco (pewnie powinienem to rozrysować, ale na razie opis):
To tak w bardzo dużym skrócie.1. AllSky czyli Raspberry Pi Zero z kamerą wykonuje zdjęcia co 5s w dzień i co 10s w nocy (dla maksymalnego czasu ekspozycji) i zapisuje je na tmpfs (żeby nie zabić karty SD, zdjęcia z jednej kamery to ok 25GB na dobę);
2. Zdjęcia i dane np. temperatura, wysyłane są na bieżąco po wifi i trafiają na serwer (10 letni laptop z dwurdzeniowym cpu i linuxem daje radę);
3. Na serwerze odbywa się obróbka:
- nałożenie danych tekstowych na zdjęcie (METAR+kierunek wiatru, exif, temperatury, pomiar naświetlenia zdjęcia);
- przeskalowanie do rozsądnego 1080x1080px;
- wygenerowanie png z danymi samolotów wg aktualnych danych;
- nałożenie tego png na zdjęcie za pomocą ImageMagick;
- podmiana aktualnego zdjęcia dla gui/www;
- wpuszczenie końcowego zdjęcia w pipe dla procesu ffmpeg, który czeka w tle,
aby skompresować kolejne zdjęcia do formatu video h264;
Siedzę nad tym cyrkiem w wolnych chwilach od roku.
Na początku wystarczało samo raspberry pi z kamerą żeby wyświetlić www z aktualnym zdjęciem.
Drugie rPi do adsb.
Potem doszedł dysk sieciowy z minimalnym shellem żeby mieć jakieś archiwum.
Na chwilę obecną system składa się z:
- trzech rPi Zero (bo kamery są dwie, a trzecia leży z podłączonym donglem i dump1090);
- starego laptopa, z półterowym hdd, jako serwera (mimo obróbki i kompresji w locie dwóch strumieni video nawet się nie grzeje);
- dedykowanego routera wifi;
- dysku sieciowego na ew. archiwum;
Trochę się kombajn rozrósł, ale może uda mi się to z czasem uprościć.
Póki co więcej dorzucam niż upraszczam.
A chcę jeszcze dodać do AllSkyRadar-u np. ISS i Iridium, generowane z TLE w podobnej formie jak samoloty.
Dodać nakładkę z pozycjami samolotów, na obraz drugiej kamery, którą robię zdjęcia horyzontu,
ale ze względu że jest obrotowa, to muszę jakiś system kalibracji wykombinować.
I całkowity odpał, który nie wiem czy ogarnę programowo i matematycznie, coś jak https://transit-finder.com,
ale przewidywanie czy aktualna trasa samolotu ma szansę na przecięcie tarczy Księżyca widocznej z danej pozycji.
Pewnie sporo nauki mnie czeka i pozostanie kwestia poprawności nadawanej pozycji.
Taki pomysł na razie - mam obsesję żeby złapać nocne AFR - już od dawna nie latają na a380, ale fiksacja pozostała.
To wszystko to raczej hydraulika/łączenie różnych rozwiązań niż pisanie od zera, ale jakoś to poskładałem i działa.
Przez wyżej opisane i przygodę z astrofoto, od ponad roku żadnych zdjęć rnav nie zrobiłem...
Pozdro,
AL