Proč Gpredict-Improved?
Gpredict je mezi radioamatéry věnujícími se provozu přes družice pojem, který není třeba blíže představovat. Aplikaci na sledování a predikci přeletů vyvinul Alexandru Csete (OZ9AEC) a více než patnáct let slouží jako de facto standard na linuxovém desktopu. Software stojí na algoritmech propagace SGP4/SDP4 a dráhových elementech NORAD ve formátu TLE, dokáže sledovat neomezený počet satelitů a přes Hamlib ovládať prijímače aj rotátory.
Navzdory své rozšířenosti zůstává původní Gpredict softwarem, kterému lze vyčíst několik mezer. Autor nového projektu Sadatoshi Koike (JF9SOM) v ohlášení uvádí, že Gpredict sice dlouho fungoval jako neformální standard, ale prostor pro doplnění funkcí byl značný. Zároveň upozorňuje, že současné nástroje zaměřené na SDR zpravidla nenabízejí uspokojivé ovládání transceiveru a rotoru. Cílem Gpredict-Improved je proto spojit oba přístupy – integrované funkce Hamlib podobné řešení, jaké zná WSJT-X, doplnené o SDR integráciu.
Výsledkem je kompletní přepis ověřeného konceptu na moderním softwarovém základě – Python 3.11+, orbitální engine Skyfield a grafické rozhraní PySide6/Qt6. Licence zůstává GPL-2.0-or-later, tedy kompatibilní s původním Gpredict, a autor v poděkování explicitně uvádí projekty, na kterých Gpredict-Improved stojí: Gpredict, Skyfield, Hamlib a databázi SatNOGS provozovanou Libre Space Foundation.
Vlastnosti Gpredict-Improved
Nejviditelnější změnou oproti původnímu Gpredictu je přístup z webového prohlížeče. Na pozadí běží server FastAPI na portu 8080, díky čemuž lze sledovat přechody iz telefonu či tabletu připojeného do stejné lokální sítě. Podle repozitáře na GitHube status bar po startu zobrazuje LAN adresu a QR kód pro rychlé připojení z mobilního zařízení.
Druhou zásadní změnou je nativní integrace Hamlib. Namísto samostatného spouštění démona rigctld, jak to vyžaduje původní Gpredict, se radiostanice vybírá přímo v grafickém rozhraní. Korekce Dopplerova posunu je rozšířená – neupravuje se jen kmitočet, ale automaticky i mód a tón CTCSS.
Správa satelitních kmitočtů probíhá přímo z rozhraní, včetně synchronizace s databází SATNOGS a možnosti ručního přidávání či editace záznamů. Aktualizace TLE elementů je automatická, z více zdrojů, se systémem hodnocení kvality dat. Autor přitom připomíná, že samotný formát TLE časem zastarává, co je třeba mít při práci s dráhovými daty stále na paměti.
Projekt dále deklaruje podporu SDR přijímačů typu HackRF a RTL-SDR. Internacionalizace je řešena přes gettext, momentálně jsou k dispozici anglické a japonské řetězce, což podle ohlášení otevírá cestu ik případnému slovenskému nebo francouzskému překladu. Následující tabulka shrnuje rozdíly oproti původnímu Gpredictu tak, jak je uvádí repozitář projektu.
| Oblast | Gpredict | Gpredict-Improved |
|---|---|---|
| Platforma | pouze desktop | desktop + přístup z prohlížeče na telefonech/tabletech ve stejné LAN |
| Ovládání radiostanice | vyžaduje samostatný rigctld | integrovaný Hamlib, výběr radiostanice přímo v GUI |
| Korekce Dopplera | jen frekvence | frekvence + mód + tón CTCSS automaticky |
| Databáze satelitních kmitočtů | pouze SATNOGS, editace textového souboru | automatická synchronizace SATNOGS + přidávání/editace z GUI |
| Aktualizace TLE | ruční | automatická, vícezdrojová, s hodnocením kvality dat |
| Podporováno OS | Linux (GTK+) | Linux, Windows, macOS, Raspberry Pi |
Potřebný hardware a softwarové prostředí
Gpredict-Improved cílí na Linux, Windows, macOS a Raspberry Pi. Instalační postup zveřejněný v repozitáři se zatím vztahuje na Ubuntu/Debian, kde se software instaluje ze zdrojového kódu přes Python virtuální prostředí. Předinstalátory pro Windows a macOS budou podle repozitáře dostupné na stránce Releases po vydání první tagované verze.
Na straně radiostanice a rotoru je nutná podpora přes Hamlib, který je nyní součástí aplikace a nevyžaduje samostatně spuštěný rigctld. Pro práci se softwarově definovaným rádiem repozitář uvádí podporu přijímačů HackRF a RTL-SDR. Architektura projektu je rozdělena do modulů core (satelitní engine Skyfield), ui (desktopové rozhraní PySide6/Qt6), web (FastAPI + WebSocket pro LAN přístup z prohlížeče na portu 8080), rig (ovládání radiostanice a rotoru přes Hamlib), data databáze) a i18n (internacionalizace na bázi gettext).
Jak Gpredict-Improved pracuje a uvedení do provozu
Instalace na Ubuntu/Debian podle README sestává z několika kroků. Nejprve se doinstalují systémové balíky python3.11, python3-pip, libhamlib-dev a python3-hamlib. Následuje klonování repozitáře příkazem git clone, vytvoření virtuálního prostředí Pythonu (python3.11 -m venv .venv), jeho aktivace a instalace balíku příkazem pip install -e .
Pro práci s radiostanicí připojenou přes USB je třeba nastavit oprávnění kopírováním udev pravidla ze scripts/99-gpredict-improved.rules do /etc/udev/rules.d/, znovunačtení pravidel příkazy sudo udevadm control –reload-rules a přidání uživatele do skupiny dialout (sudo usermod -a Po tomto kroku je nutné se odhlásit a znovu přihlásit, aby se změna členství ve skupině projevila. Samotné spuštění aplikace pak probíhá příkazem gpredict-improved.
Při startu se nejprve otevře hlavní okno Qt6, následně se na pozadí v samostatném vláknu spustí server FastAPI/uvicorn na portu 8080. DataSyncManager následně stáhne TLE a SATNOGS data, jsou-li zastaralá. Ve stavovém řádku se zobrazí LAN adresa a tlačítko s QR kódem, které umožňuje rychlé připojení z mobilního zařízení ve stejné síti.
Vývojové prostředí se připravuje příkazem pip install-e „.[dev]“, testování běží přes pytest, statickou analýzu zajišťuje ruff check. a typovou kontrolu mypy src/. Přidání nového jazyka spočívá ve zkopírování souboru locale/en/LC_MESSAGES/gpredict_improved.po, překladu řetězců msgstr a kompilaci nástrojem msgfmt.
Kompletní shrnutí
Gpredict-Improved není kosmetickou aktualizací, ale úplným přepisem ověřeného konceptu Gpredict na moderním základě Python/Skyfield/Qt6, který si zachovává licenční kompatibilitu s originálem. Hlavními přínosy jsou přístup z prohlížeče přes lokální síť, nativní integrace Hamlib bez nutnosti samostatného rigctldu, rozšířená korekce Doppleru o mód a CTCSS, automatická vícezdrojová aktualizace TLE s hodnocením kvality a rozšíření podporovaných platforem o Windows, macOS a Raspberry Pi.
Projekt autorsky vede Sadatoshi Koike (JF9SOM), zdrojový kód je veřejně dostupný na GitHube včetně dokumentace, architektury a plánu dalšího vývoje. V době psaní tohoto článku ještě nejsou publikována žádná tagovaná vydání ani předinstalátory pro Windows a macOS – ty mají podle repozitáře následovat po vydání první oficiální verze. Pro radioamatéry pracující s družicovým provozem jde o projekt, který stojí za sledování, zejména vzhledem k deklarovanému cíli spojit pohodlné ovládání radiostanice a rotoru s integrací SDR v jednom nástroji.
