Prečo Gpredict-Improved?
Gpredict je medzi rádioamatérmi venujúcimi sa prevádzke cez družice pojem, ktorý netreba bližšie predstavovať. Aplikáciu na sledovanie a predikciu preletov vyvinul Alexandru Csete (OZ9AEC) a viac ako pätnásť rokov slúži ako de facto štandard na linuxovom desktope. Software stojí na algoritmoch propagácie SGP4/SDP4 a dráhových elementoch NORAD vo formáte TLE, dokáže sledovať neobmedzený počet satelitov a cez Hamlib ovládať prijímače aj rotátory.
Napriek svojej rozšírenosti zostáva pôvodný Gpredict softvérom, ktorému sa dá vyčítať niekoľko medzier. Autor nového projektu Sadatoshi Koike (JF9SOM) v ohlásení uvádza, že Gpredict síce dlho fungoval ako neformálny štandard, no priestor na doplnenie funkcií bol značný. Zároveň upozorňuje, že súčasné nástroje zamerané na SDR spravidla neponúkajú uspokojivé ovládanie transceivera a rotora. Cieľom Gpredict-Improved je preto spojiť oba prístupy – integrované funkcie Hamlib podobné riešeniu, aké pozná WSJT-X, doplnené o SDR integráciu.
Výsledkom je kompletný prepis overeného konceptu na modernom softvérovom základe – Python 3.11+, orbitálny engine Skyfield a grafické rozhranie PySide6/Qt6. Licencia zostáva GPL-2.0-or-later, teda kompatibilná s pôvodným Gpredict, a autor v poďakovaní explicitne uvádza projekty, na ktorých Gpredict-Improved stojí: Gpredict, Skyfield, Hamlib a databázu SatNOGS prevádzkovanú Libre Space Foundation.
Vlastnosti Gpredict-Improved
Najviditeľnejšou zmenou oproti pôvodnému Gpredict je prístup z webového prehliadača. Na pozadí beží server FastAPI na porte 8080, vďaka čomu je možné sledovať prechody aj z telefónu či tabletu pripojeného do rovnakej lokálnej siete. Podľa repozitára na GitHube status bar po štarte zobrazuje LAN adresu a QR kód na rýchle pripojenie z mobilného zariadenia.
Druhou zásadnou zmenou je natívna integrácia Hamlib. Namiesto samostatného spúšťania démona rigctld, ako to vyžaduje pôvodný Gpredict, sa rádiostanica vyberá priamo v grafickom rozhraní. Korekcia Dopplerovho posunu je rozšírená – neupravuje sa len kmitočet, ale automaticky aj mód a tón CTCSS.
Správa satelitných kmitočtov prebieha priamo z rozhrania, vrátane synchronizácie s databázou SATNOGS a možnosti ručného pridávania či editácie záznamov. Aktualizácia TLE elementov je automatická, z viacerých zdrojov, so systémom hodnotenia kvality dát. Autor pri tom pripomína, že samotný formát TLE časom zastaráva, čo treba mať pri práci s dráhovými dátami stále na pamäti.
Projekt ďalej deklaruje podporu SDR prijímačov typu HackRF a RTL-SDR. Internacionalizácia je riešená cez gettext, momentálne sú k dispozícii anglické a japonské reťazce, čo podľa ohlásenia otvára cestu aj k prípadnému slovenskému alebo francúzskemu prekladu. Nasledujúca tabuľka zhŕňa rozdiely oproti pôvodnému Gpredict tak, ako ich uvádza repozitár projektu.
| Oblasť | Gpredict | Gpredict-Improved |
|---|---|---|
| Platforma | iba desktop | desktop + prístup z prehliadača na telefónoch/tabletoch v rovnakej LAN |
| Ovládanie rádiostanice | vyžaduje samostatný rigctld | integrovaný Hamlib, výber rádiostanice priamo v GUI |
| Korekcia Dopplera | len frekvencia | frekvencia + mód + tón CTCSS automaticky |
| Databáza satelitných kmitočtov | iba SATNOGS, editácia textového súboru | automatická synchronizácia SATNOGS + pridávanie/editácia z GUI |
| Aktualizácia TLE | ručná | automatická, viaczdrojová, s hodnotením kvality dát |
| Podporované OS | Linux (GTK+) | Linux, Windows, macOS, Raspberry Pi |
Potrebný hardware a softvérové prostredie
Gpredict-Improved cieli na Linux, Windows, macOS a Raspberry Pi. Inštalačný postup zverejnený v repozitári sa zatiaľ vzťahuje na Ubuntu/Debian, kde sa softvér inštaluje zo zdrojového kódu cez Python virtuálne prostredie. Predinštalátory pre Windows a macOS budú podľa repozitára dostupné na stránke Releases po vydaní prvej tagovanej verzie.
Na strane rádiostanice a rotora je potrebná podpora cez Hamlib, ktorý je teraz súčasťou aplikácie a nevyžaduje samostatne spustený rigctld. Pre prácu so softvérovo definovaným rádiom repozitár uvádza podporu prijímačov HackRF a RTL-SDR. Architektúra projektu je rozdelená do modulov core (satelitný engine Skyfield), ui (desktopové rozhranie PySide6/Qt6), web (FastAPI + WebSocket pre LAN prístup z prehliadača na porte 8080), rig (ovládanie rádiostanice a rotora cez Hamlib), data (synchronizácia TLE/SATNOGS, SQLite databáza) a i18n (internacionalizácia na báze gettext).
Ako Gpredict-Improved pracuje a uvedenie do prevádzky
Inštalácia na Ubuntu/Debian podľa README pozostáva z niekoľkých krokov. Najprv sa doinštalujú systémové balíky python3.11, python3-pip, libhamlib-dev a python3-hamlib. Nasleduje klonovanie repozitára príkazom git clone, vytvorenie virtuálneho prostredia Pythonu (python3.11 -m venv .venv), jeho aktivácia a inštalácia balíka príkazom pip install -e .
Pre prácu s rádiostanicou pripojenou cez USB je potrebné nastaviť oprávnenia kopírovaním udev pravidla zo scripts/99-gpredict-improved.rules do /etc/udev/rules.d/, znovunačítanie pravidiel príkazmi sudo udevadm control –reload-rules a pridanie používateľa do skupiny dialout (sudo usermod -aG dialout $USER). Po tomto kroku je nutné sa odhlásiť a znovu prihlásiť, aby sa zmena členstva v skupine prejavila. Samotné spustenie aplikácie potom prebieha príkazom gpredict-improved.
Pri štarte sa najprv otvorí hlavné okno Qt6, následne sa na pozadí v samostatnom vlákne spustí server FastAPI/uvicorn na porte 8080. DataSyncManager následne stiahne TLE a SATNOGS dáta, ak sú zastarané. V stavovom riadku sa zobrazí LAN adresa a tlačidlo s QR kódom, ktoré umožňuje rýchle pripojenie z mobilného zariadenia v rovnakej sieti.
Vývojové prostredie sa pripravuje príkazom pip install -e „.[dev]“, testovanie beží cez pytest, statickú analýzu zabezpečuje ruff check . a typovú kontrolu mypy src/. Pridanie nového jazyka spočíva v skopírovaní súboru locale/en/LC_MESSAGES/gpredict_improved.po, preklade reťazcov msgstr a kompilácii nástrojom msgfmt.
Kompletné zhrnutie
Gpredict-Improved nie je kozmetickou aktualizáciou, ale úplným prepisom overeného konceptu Gpredict na modernom základe Python/Skyfield/Qt6, ktorý si zachováva licenčnú kompatibilitu s originálom. Hlavnými prínosmi sú prístup z prehliadača cez lokálnu sieť, natívna integrácia Hamlib bez nutnosti samostatného rigctld, rozšírená korekcia Dopplera o mód a CTCSS, automatická viaczdrojová aktualizácia TLE s hodnotením kvality a rozšírenie podporovaných platforiem o Windows, macOS a Raspberry Pi.
Projekt autorsky vedie Sadatoshi Koike (JF9SOM), zdrojový kód je verejne dostupný na GitHube vrátane dokumentácie, architektúry a plánu ďalšieho vývoja. V čase písania tohto článku ešte nie sú publikované žiadne tagované vydania ani predinštalátory pre Windows a macOS – tie majú podľa repozitára nasledovať po vydaní prvej oficiálnej verzie. Pre rádioamatérov pracujúcich s družicovou prevádzkou ide o projekt, ktorý stojí za sledovanie, najmä vzhľadom na deklarovaný cieľ spojiť pohodlné ovládanie rádiostanice a rotora s integráciou SDR v jednom nástroji.
