Fast, minimal terminal-based amateur radio logger
CQOps to szybki, terminalowy logger krótkofalarski przeznaczony dla operatorów, którzy oczekują niezawodnego logowania z klawiatury i małego obciążenia systemu. Został zaprojektowany do pracy w shacku, podczas aktywacji terenowych, na stacjach klubowych, podczas field day oraz na urządzeniach klasy Raspberry Pi i starszych laptopach.
CQOps zawsze najpierw zapisuje QSO lokalnie. Integracje internetowe są opcjonalne.
CQOps opiera się na szybkim wprowadzaniu QSO, lokalnym zapisie danych i praktycznej pracy terenowej.
Lokalne logowanie nie wymaga internetu. Funkcje sieciowe są pomijane w trybie --offline.
CQOps dobrze sprawdza się dla:
CQOps nie ma zastępować każdej funkcji pełnego loggera desktopowego ani internetowej platformy logowej. Koncentruje się na szybkim logowaniu terminalowym, pracy terenowej, działaniu offline i współdzielonych stanowiskach operatorskich.
CQOps powstał z myślą o środowisku klubów krótkofalarskich. Aktywny operator jest zawsze widoczny na pasku stanu — jeden rzut oka wystarcza, aby sprawdzić, kto aktualnie obsługuje stację. Zmiana operatora wymaga jednego skrótu (Ctrl+O) i działa natychmiast: znak wywoławczy oraz nazwa operatora są zapisywane w każdym kolejnym QSO. Bez wylogowywania, pytania o hasło i przerywania pracy.
Logi, presety radiostacji i zawody zmienia się w ten sam sposób — Ctrl+L, Ctrl+R, Ctrl+C. Stacja klubowa ze zmieniającymi się operatorami, wieloma radiostacjami i kilkoma aktywnymi zawodami może przełączyć cały kontekst w czasie krótszym niż sekunda, bez używania myszy.
Podczas field day i imprez publicznych CQOps Live dashboard może wyświetlać na dużym ekranie mapę w czasie rzeczywistym, strumień QSO i statystyki. Goście oraz członkowie klubu mogą obserwować pracę stacji bez tłoczenia się przy terminalu operatora. Wystarczy włączyć integrację HTTP Server i otworzyć stronę na dowolnym urządzeniu z przeglądarką internetową.
Lista wszystkich wydań:
https://github.com/szporwolik/cqops/releases
| Pakiet | Link | Uwagi |
|---|---|---|
| Instalator | cqops-setup.exe | Zalecany dla większości użytkowników. Dodaje CQOps do menu Start i zmiennej PATH. |
| Przenośny ZIP | cqops-windows-portable.zip | Rozpakuj i uruchom bez instalowania. |
Dodaj repozytorium Cloudsmith APT, a następnie zainstaluj:
curl -1sLf 'https://dl.cloudsmith.io/public/szporwolik/cqops/setup.deb.sh' | sudo -E bash
sudo apt update
sudo apt install cqops
Lub pobierz pakiet .deb bezpośrednio:
| Architektura | Link | Zastosowanie |
|---|---|---|
| amd64 | cqops_amd64.deb | Większość komputerów Intel/AMD |
| arm64 | cqops_arm64.deb | 64-bitowe systemy ARM |
| armhf | cqops_armhf.deb | 32-bitowy Raspberry Pi OS |
Zainstaluj pobrany pakiet:
sudo dpkg -i cqops_*.deb
Dodaj repozytorium Cloudsmith RPM, a następnie zainstaluj:
curl -1sLf 'https://dl.cloudsmith.io/public/szporwolik/cqops/setup.rpm.sh' | sudo -E bash
sudo dnf install cqops
Zainstaluj z AUR:
# CachyOS (domyślnie używa paru)
paru -S cqops-bin
# Arch / Manjaro
yay -S cqops-bin
Dostępne również przez pacaur, aura lub ręczne makepkg. PKGBUILD na aur.archlinux.org/packages/cqops-bin.
| Architektura | Link | Zastosowanie |
|---|---|---|
| amd64 | cqops-linux-amd64.tar.gz | Większość komputerów Intel/AMD |
| arm64 | cqops-linux-arm64.tar.gz | 64-bitowe systemy ARM |
| armhf | cqops-linux-armhf.tar.gz | 32-bitowy Raspberry Pi OS |
| Architektura | Link | Zastosowanie |
|---|---|---|
| Apple Silicon | cqops-darwin-arm64 | Komputery Mac M1/M2/M3 |
| Intel | cqops-darwin-amd64 | Komputery Mac z procesorem Intel |
Instalacja ręczna:
chmod +x cqops-darwin-* && sudo mv cqops-darwin-* /usr/local/bin/cqops
git clone https://github.com/szporwolik/cqops.git
cd cqops
make build
make install
Kompilowanie ze źródeł wymaga Go 1.26 lub nowszego.
| Wymaganie | Wartość |
|---|---|
| Minimalny rozmiar terminala | 80×24 znaki |
| Zalecany rozmiar terminala | 80×43 znaki lub więcej |
| Zalecany terminal w Windows | Windows Terminal |
| Terminal obsługujący Kitty graphics | Kitty, Ghostty lub WezTerm |
cqops # Start the TUI
cqops --offline # Start without network activity
cqops --version # Print version and exit
cqops --help # Show help
Przy pierwszym uruchomieniu CQOps otwiera kreator konfiguracji. Do lokalnego logowania wymagane są wyłącznie podstawowe informacje o stacji. Integracje sieciowe można pominąć i skonfigurować później.
| Page | Co konfiguruje |
|---|---|
| Station & Logbook | Początkowy log, znak stacji, operator, lokator, opcjonalne referencje i strefy oraz URL/API/station profile ID Wavelog |
| Rig | Preset radiostacji, model, antena, moc, backend, opcjonalny rotor i opcjonalne ustawienia UDP WSJT-X |
| Integrations | Ustawienia wyszukiwania callbooka (QRZ.com, HamQTH, QRZ.RU, Callook.info) |
| General | Strefa czasowa IANA |
| Summary | Przegląd i zapis ustawień |
Obsługiwane backendy radiostacji:
rigctld.| Key | Action |
|---|---|
| Ctrl+S | Sprawdź dane i przejdź dalej; na stronie Summary zapisz ustawienia i uruchom CQOps |
| Esc | Wróć |
| F10 | Zakończ |
| Tab / Shift+Tab | Przejdź między polami |
| Space | Przełącz pole wyboru |
Ustawienia kreatora można później zmienić za pomocą F9.
Uruchom CQOps:
cqops
Ukończ kreator konfiguracji, podając co najmniej swój znak wywoławczy i lokator.
Otwórz QSO form klawiszem F1.
Wprowadź znak korespondenta. CQOps automatycznie zamienia znaki wywoławcze na wielkie litery.
Uzupełnij pozostałe pola. Jeżeli aktywna radiostacja jest połączona przez flrig lub Hamlib, CQOps może automatycznie wypełnić częstotliwość, pasmo, tryb i submode.
Naciśnij Enter, aby zapisać.
Jeżeli pojawi się ostrzeżenie DUPE!, ponownie naciśnij Enter, aby mimo to zapisać QSO, albo Esc, aby anulować.
Zapisane QSO natychmiast pojawi się w tabeli Recent QSOs.
CQOps używa stałego układu terminala:
┌─ Status Bar ───────────────────────────────────────────────────────────────────┐
│ CQOps v0.8.9 Log Portable Rig FTDx10 Call SP9MOA/P │
│ Net WSJT Hamlib DXC WL 23:00L 2100Z │
├─ Tab Bar ──────────────────────────────────────────────────────────────────────┤
│ F1 QSO F2 QRZ F4 DXC F5 HRD F6 REF F7 BPL F8 LOG F9 CFG │
├─ Main Content Area ────────────────────────────────────────────────────────────┤
│ QSO form, partner view, map, editor, dashboard data, or active screen content │
├─ Help Bar ─────────────────────────────────────────────────────────────────────┤
│ ? Help • Enter Log QSO • F10 Quit │
└────────────────────────────────────────────────────────────────────────────────┘
Status bar pokazuje:
L,Z.Typowe etykiety to Net, WSJT, Rig, Flrig, Hamlib, Rotator, DXC, WL i GPS. Etykieta GPS korzysta z tej samej konwencji kolorów: czerwony oznacza brak połączenia, żółty połączenie bez fixa, a biały uzyskaną pozycję.
| Kolor | Znaczenie |
|---|---|
| Biały/domyślny | Połączone lub aktywne |
| Żółty | Wyłączone, łączenie lub oczekiwany brak połączenia |
| Czerwony | Błąd lub rozłączenie |
| Kolor akcentu + pogrubienie | WSJT-X nadaje |
| Key | Tab | Screen |
|---|---|---|
| F1 | QSO | QSO form i Recent QSOs |
| F2 | QRZ | Partner view: dane callbooka, mapa, statystyki, zdjęcie |
| F4 | DXC | Spoty DX Cluster i filtry |
| F5 | HRD | Spoty PSK Reporter i mapa propagacji |
| F6 | REF | Wyszukiwanie referencji SOTA/POTA/WWFF/IOTA |
| F7 | BPL | Band Plan Browser |
| F8 | LOG | Logbook Editor, ADIF, synchronizacja Wavelog |
| F9 | CFG | Menu konfiguracji |
Help bar pokazuje skróty właściwe dla aktywnego ekranu. Naciśnij ?, aby otworzyć pełną nakładkę Help.
Przed wyjazdem:
W terenie:
Uruchom CQOps w trybie offline:
cqops --offline
Aktywny operator jest zapisywany w polu ADIF OPERATOR.
Każdy log może przechowywać własne dane stacji, ustawienia Wavelog, ustawienia zawodów i operatorów.
Preset radiostacji może obejmować backend, model, antenę, moc, ustawienia rotora i ustawienia UDP WSJT-X.
Gdy integracja UDP WSJT-X jest włączona, CQOps może odbierać komunikaty ADIF z WSJT-X i automatycznie logować zakończone cyfrowe QSO.
QSO logowane automatycznie:
Jeżeli operator zgłoszony przez WSJT-X nie odpowiada aktywnemu operatorowi w CQOps, program pokazuje ostrzeżenie.
Przed dłuższą sesją cyfrową sprawdź:
CQOps zawsze najpierw zapisuje QSO lokalnie. Synchronizacja Wavelog jest opcjonalna.
| Action | Where | Shortcut | Notes |
|---|---|---|---|
| Upload unsent QSOs | Logbook Editor | w |
Wysyłanie w partiach po 50 |
| Download from Wavelog | Logbook Editor | Ctrl+W |
Pobieranie przyrostowe z użyciem last_fetched_id |
Stan wysyłania jest śledzony dla każdego QSO:
Jeżeli wysyłanie się nie powiedzie, QSO pozostaje w lokalnym logu i można ponowić próbę później. Operacja purge logu resetuje fetch ID do 0, umożliwiając ponowne pobranie całego logu.
QSO form jest głównym ekranem logowania. Otwórz go klawiszem F1.
CQOps może uzupełniać pola z następujących źródeł:
| Źródło | Pola |
|---|---|
| flrig / Hamlib | Frequency, Freq RX przy pracy split, Mode, Submode |
| Callbook (QRZ.com / HamQTH / QRZ.RU / Callook.info) | Name, QTH, Grid, Country, CQ zone, ITU zone, DXCC, Continent, zdjęcie |
| Baza REF | Referencje SOTA, POTA, WWFF, IOTA |
| Wavelog lookup | Status worked/confirmed, jeżeli skonfigurowano |
| Dane DXCC/prefiksów | Prefiks i dane kraju |
| Lewa kolumna | Środkowa kolumna | Prawa kolumna |
|---|---|---|
| Date UTC | Mode | Power W |
| Time UTC | Submode | Freq RX |
| Call | Name | SOTA Ref |
| RST sent | QTH | POTA Ref |
| RST rcvd | Grid | WWFF Ref |
| Frequency MHz | Country | IOTA |
| Band | SIG | SIG Info |
| Exch sent | ||
| Exch rcvd |
Pola Exch sent i Exch rcvd pojawiają się tylko wtedy, gdy aktywne są zawody.
Dolny wiersz zawiera:
Pola takie jak Band, Mode i Submode można zmieniać klawiszami PgUp/PgDn.
Gdy znane są oba lokatory, CQOps pokazuje odległość i azymut.
QSO form może również wyświetlać oznaczenia:
| Key | Action |
|---|---|
| Enter | Zapisz QSO |
| Ctrl+S | Wyślij spot DX na podstawie wypełnionego formularza |
| Esc | Anuluj potwierdzenie duplikatu |
| Enter w potwierdzeniu DUPE | Zapisz duplikat mimo ostrzeżenia |
Otwórz Logbook Editor klawiszem F8.
Służy on do:
Zmiany natychmiast pojawią się w Recent QSOs.
CQOps obsługuje import i eksport ADIF 3.1.7.
| Action | Shortcut |
|---|---|
| Import ADIF | Ctrl+I |
| Export ADIF | Ctrl+E |
Import sprawdza rekordy, pomija duplikaty i pokazuje podsumowanie. Zaimportowane QSO są oznaczane do wysłania do Wavelog, jeżeli synchronizacja Wavelog jest skonfigurowana.
Eksport może obejmować wszystkie QSO lub QSO przefiltrowane według zawodów. Pole CONTEST_ID jest zachowywane.
Obsługa trybu i submode jest zgodna z ADIF 3.1.7 w sposób opisany w tym podręczniku:
QSO form ma oddzielne pola Mode i Submode. Oba można zmieniać za pomocą PgUp/PgDn.
CQOps zawiera lekki panel logowania zawodów przeznaczony do okazjonalnego udziału w zawodach. Nie zastępuje wyspecjalizowanych loggerów zawodów, takich jak N1MM, Win-Test czy TR4W. Przy poważnej pracy multi-op, multi-radio lub w kategorii assisted należy używać loggera stworzonego specjalnie do zawodów. CQOps sprawdzi się, gdy chcesz rozdać kilka punktów, rekreacyjnie śledzić tempo albo zalogować kilka zawodowych QSO podczas aktywacji SOTA/POTA bez opuszczania codziennego loggera.
Utwórz lub skonfiguruj zawody w Logbook Editor za pomocą Ins.
Konfiguracja zawodów obejmuje:
| Marker | Replaced with |
|---|---|
@rst |
Wysłany lub odebrany RST |
@serial |
Automatycznie zwiększany numer seryjny |
@cqz |
Strefa CQ stacji DX |
@mycqz |
Twoja strefa CQ |
@itu |
Strefa ITU stacji DX |
@myitu |
Twoja strefa ITU |
@grid |
Lokator stacji DX |
@mygrid |
Twój lokator |
Naciśnij Ctrl+C, aby przełączać aktywne zawody, albo wybierz je z menu Contest (F7). Pola wymiany pojawiają się automatycznie w QSO form, a numery seryjne są zwiększane automatycznie.
Gdy zawody są aktywne, dolny pasek pokazuje bieżące podsumowanie:
IARU-HF · IARU HF 45 QSOs Started 16:13 Last 14:04 ago Next #45 On 2:41
| Pole | Znaczenie |
|---|---|
IARU-HF |
ADIF ID zawodów, czyli identyfikator maszynowy |
· IARU HF |
Wyświetlana nazwa zawodów — pokazywana, gdy różni się od ID |
45 QSOs |
Łączna liczba QSO zalogowanych w tej sesji zawodów |
Started 16:13 |
Godzina pierwszego QSO w zawodach w danym dniu |
Last 14:04 ago |
Czas od ostatniego QSO zawodów |
Next #45 |
Numer seryjny wysyłany w następnym QSO |
On 2:41 |
Łączny czas pracy — suma odstępów między QSO krótszych niż 30 minut |
Pole Started jest ukrywane w terminalach węższych niż 120 kolumn. Nazwa zawodów i czas On są ukrywane poniżej 100 kolumn.
Gdy zawody są aktywne i terminal jest odpowiednio szeroki, po prawej stronie QSO form pojawia się kompaktowy panel statystyk z żółtą ramką:
╭──────────────────────────────────╮
│ Rate 2/h --/h │
│ Count 60m 0 hr 0 │
│ Peak 1m120 10m 54 60m 29 │
│ Avg 8/h Sess 5:36 │
│ QSO/min last 60m max 1 │
│ │
│ │
│ │
│ │
│ -60m now │
╰──────────────────────────────────╯
| Wiersz | Pole | Znaczenie |
|---|---|---|
| Rate | 2/h |
Tempo z ostatnich 10 QSO — krótkoterminowa szybkość serii |
--/h |
Tempo z ostatnich 100 QSO — pokazuje -- do czasu zalogowania 100 QSO |
|
| Count | 60m 0 |
QSO zalogowane w ciągu ostatnich 60 minut |
hr 0 |
QSO zalogowane w bieżącej godzinie zegarowej, od :00 |
|
| Peak | 1m120 |
Najlepsze tempo jednominutowe: 120/h oznacza 2 QSO w tej minucie |
10m 54 |
Najlepsze 10-minutowe okno przesuwne: średnio 54/h | |
60m 29 |
Najlepsze 60-minutowe okno przesuwne: średnio 29/h | |
| Avg | 8/h |
Średnia sesji — liczba QSO podzielona przez liczbę godzin od pierwszego QSO |
Sess 5:36 |
Łączny czas sesji od pierwszego do ostatniego QSO, jako H:MM lub same minuty | |
| Chart | max 1 |
W najbardziej aktywnej minucie wykonano 1 QSO. Słupki pokazują QSO na minutę |
-60m…now |
Lewa krawędź oznacza 60 minut temu, prawa — bieżącą chwilę |
Wykres używa znaków blokowych Unicode (█) skalowanych do czterech wierszy pionowych słupków. Wartości Peak nie mają sufiksu /h, ponieważ sama nazwa oznacza już „na godzinę”. Czasy trwania nie pokazują sekund — przy odświeżaniu co minutę byłyby one tylko szumem.
Aby wysłać log zawodów, otwórz Logbook Editor (Ctrl+E), gdy zawody są aktywne. Po zastosowaniu filtra zawodów okno eksportu ADIF oferuje eksport wyłącznie QSO należących do aktywnych zawodów. Powstaje zgodny ze standardem plik ADIF 3.1.7 z polami wymiany zawodów, numerami seryjnymi i zachowanym ADIF ID zawodów, gotowy do wysłania do robota organizatora lub systemu sprawdzania logów.
Gdy zawody są aktywne:
CONTEST_ID,Favorites przechowuje presety częstotliwości, trybu i pasma w trzech slotach — wystarczająco dla najczęściej używanych częstotliwości wywoławczych. Skróty używają klawisza Alt, aby nie kolidować ze standardową edycją terminalową i działać niezawodnie w różnych terminalach.
| Shortcut | Action |
|---|---|
| Alt+Ins / Alt+Home / Alt+PgUp | Przywołaj favorite ze slotu 1, 2 lub 3 |
| Alt+Shift+Ins / Alt+Shift+Home / Alt+Shift+PgUp | Zapisz bieżące frequency, mode i band w slocie 1, 2 lub 3 |
Favorites są przechowywane w konfiguracji i współdzielone między logami.
Przykład:
145.55.FM.2m.Otwórz REF Lookup klawiszem F6.
Wyszukuje on:
Można wyszukiwać według prefiksu, nazwy lub oznaczenia referencji. Wybrane referencje mogą wypełniać QSO form.
Otwórz Band Plan Browser klawiszem F7.
Zapewnia szybki dostęp do:
Wybranej częstotliwości można użyć do dostrojenia aktywnej radiostacji. Dane band planu można również wyeksportować jako Markdown.
Wszystkie integracje są opcjonalne. Lokalne logowanie działa bez nich.
CQOps obsługuje wielu dostawców callbooka z kaskadowaniem według priorytetu. Po naciśnięciu Ins w formularzu QSO, dostawcy są odpytywani w kolejności, aż jeden z nich zwróci wynik:
Jeśli dostawca o wyższym priorytecie zawiedzie lub jest wyłączony, następny jest próbowany. Gdy Base call fallback jest włączone (domyślnie: tak), CQOps próbuje również bazowego znaku (bez prefiksu lub sufiksu), jeśli pełny znak nie zwróci wyniku.
Włącz i skonfiguruj dostawców w F9 → Callbook.
W QSO form naciśnij Ins, aby uzupełnić pola callbooka, takie jak:
Partner view pod F2 może pokazywać zdjęcie operatora, jeżeli jest dostępne.
⚠️ Experimental. Wyświetlanie zdjęć może korzystać z protokołu Kitty terminal graphics i wymaga zgodnego terminala: Kitty, Ghostty lub WezTerm. Włącz tę funkcję w F9 → General → Kitty Graphics. Standardowe terminale oraz sesje SSH bez przekazywania grafiki użyją zastępczego obrazu z glifów.
Integracja Wavelog obsługuje:
Wavelog jest konfigurowany osobno dla aktywnego logu za pomocą:
CQOps zawsze najpierw zapisuje QSO lokalnie. Błąd wysyłania do Wavelog nie usuwa lokalnych danych.
Integracja flrig używa XML-RPC przez HTTP.
Domyślny endpoint:
localhost:12345
CQOps może odczytywać:
Przy pracy split VFO A jest mapowane na Frequency, a VFO B na Freq RX.
Sterowanie radiostacją przez Hamlib korzysta z demona TCP rigctld.
W zależności od radiostacji i obsługi backendu CQOps może odczytywać:
Gdy to możliwe, CQOps poprawnie obsługuje brak wsparcia nazw VFO.
⚠️ Experimental. Sterowanie rotorem jest funkcją eksperymentalną. Przed uruchomieniem zawsze sprawdź fizyczne ograniczenia anteny. Przygotuj się do natychmiastowego zatrzymania ruchu za pomocą Alt+/. Zachowaj ostrożność — błędna konfiguracja może uszkodzić rotor lub antenę.
Sterowanie rotorem korzysta z Hamlib rotctld.
CQOps obsługuje:
| Shortcut | Action |
|---|---|
| Alt+, | Zmień azimuth o −5° |
| Alt+. | Zmień azimuth o +5° |
| Alt+; | Zmień elevation o +5° |
| Alt+’ | Zmień elevation o −5° |
| Alt+\ | Skieruj rotor na obliczony azymut trasy |
| Alt+/ | Zatrzymaj rotor |
Integracja WSJT-X używa komunikatów UDP z WSJT-X. CQOps analizuje komunikaty ADIF i może automatycznie logować zakończone QSO.
Etykieta radiostacji otrzymuje kolor akcentu, gdy WSJT-X nadaje. Jeżeli operator zgłoszony przez WSJT-X nie odpowiada aktywnemu operatorowi, CQOps pokazuje ostrzeżenie.
CQOps może odczytywać pozycję z odbiornika GPS i używać jej jako lokatora stacji — jest to idealne rozwiązanie do pracy portable, mobile i field.
Obsługiwane są dwa backendy:
/dev/ttyUSB0.127.0.0.1:2947. Przydatne, gdy GPS jest współdzielony z innymi aplikacjami albo dostępny przez sieć.Wskaźnik GPS na pasku stanu pokazuje:
| Kolor | Znaczenie |
|---|---|
Czerwony GPS |
Rozłączony / błąd |
Żółty GPS |
Połączony, ale jeszcze bez fixa |
Biały GPS |
Fix uzyskany, pozycja ustalona |
Po uzyskaniu fixa lokator stacji zostaje zastąpiony pozycją obliczoną z GPS i oznaczony (GPS) w wierszu stanu:
Rig SSB - FTDx10/Dipole · Grid JO62TJ43PL (GPS)
Włącz Grid from GPS w ustawieniach Station & Logbook, aby używać lokatora GPS podczas logowania QSO, nadawania beaconów APRS, wyświetlania mapy dashboardu i obliczania odległości.
Grid precision konfiguruje się w menu Integration jako 10, 8 lub 6 znaków. Domyślnie używane jest 10 znaków, czyli około 25 m dokładności. Lokator jest zawsze obliczany wewnętrznie z pełną precyzją, a skracany dopiero w miejscu użycia.
Integracja DX Cluster używa telnetu i wymaga dostępu do internetu.
Domyślny serwer:
dxspots.com:7300
Filtry obejmują:
| Key | Action |
|---|---|
| Enter | Wypełnij QSO form, dostrój radiostację i wróć do QSO |
| Space | Dostrój radiostację i pozostań w DX Cluster |
| Backspace | Wyczyść filtry |
Gdy DX Cluster jest połączony, QSO form zyskuje dwie dodatkowe funkcje:
Integracja PSK Reporter wymaga dostępu do internetu. Pozwala szybko sprawdzić rzeczywistą propagację — zobaczyć, kto odbiera Twój sygnał albo kogo odbierasz na danym paśmie w tej chwili.
Udostępnia:
CQOps obsługuje trzy typy usług APRS. Wybierz typ odpowiadający konfiguracji stacji:
| Service | Connection | Internet required |
|---|---|---|
| APRS-IS | TCP do serwera APRS-IS | Tak |
| KISS | Port szeregowy do sprzętowego TNC KISS | Nie |
| KISS Server | TCP do serwera TNC KISS, np. Dire Wolf | Nie, wystarczy sieć lokalna |
Wybierz typ usługi w menu Integrations:
F9 → Integrations → APRS → Service (Space to cycle)
Wszystkie trzy usługi obsługują odbieranie raportów pozycji APRS pobliskich stacji i wyświetlanie ich na lokalnej mapie CQOps Live z:
Wszystkie usługi obsługują również periodic position beaconing. CQOps nadaje lokator stacji w skonfigurowanym interwale. Gdy GPS jest aktywny i włączono Grid from GPS, beacon automatycznie używa pozycji z GPS — idealnie do pracy portable i mobile.
Łączy się z globalną siecią APRS-IS przez internet. Wymaga:
Domyślny serwer:
euro.aprs2.net:14580
APRS-IS konfiguruje się globalnie pod F9 → Integrations → APRS. Callsign, SSID, symbol, comment, beacon interval i range filter dla konkretnego logu ustawia się pod F9 → Logbooks → [active logbook] → APRS.
Łączy się bezpośrednio ze sprzętowym TNC KISS przez port szeregowy. Internet nie jest wymagany — ramki APRS są wysyłane i odbierane przez radiostację.
W menu Integrations skonfiguruj serial port, baud rate, data bits, parity, stop bits oraz DTR/RTS:
F9 → Integrations → APRS → Service: KISS
Po wybraniu KISS widoczne stają się pola dotyczące portu szeregowego: Port, Baud, Data bits, Parity, Stop bits, DTR, RTS.
Przycisk Test otwiera port szeregowy, aby sprawdzić dostępność TNC.
Łączy się z TNC KISS dostępnym przez TCP, na przykład z instancją Dire Wolf uruchomioną na tym samym komputerze albo w sieci lokalnej. Internet nie jest wymagany.
Wprowadź host i port w menu Integrations:
F9 → Integrations → APRS → Service: KISS Server → Host / Port
Wartości domyślne: 127.0.0.1:8001
Beacony są wysyłane z interwałem skonfigurowanym dla danego logu. Minimalny interwał wynosi 1 minutę. Beacon zawiera:
Gdy GPS jest aktywny i w ustawieniach Station włączono Grid from GPS, beacon automatycznie używa lokatora obliczonego z GPS. Podczas przemieszczania nie trzeba ręcznie aktualizować lokatora.
Beacon interval i inne ustawienia konkretnego logu konfiguruje się pod:
F9 → Logbooks → [active logbook] → APRS
Odebrane raporty pozycji APRS są zapisywane lokalnie w cache i wyświetlane na mapie CQOps Live dashboard. Stacje są przedstawiane za pomocą symboli APRS i można je kliknąć, aby zobaczyć szczegóły. Widok automatycznie dopasowuje się tak, aby pokazać wszystkie widoczne stacje w skonfigurowanym zasięgu.
Odbiór APRS jest niezależny od nadawania beaconów — można odbierać bez nadawania i odwrotnie. Wystarczy włączyć APRS w menu Integrations i ustawić typ usługi.
Dane solarne pochodzą z hamqsl.com i obejmują:
Aktualizacje na żywo wymagają internetu. Po poprawnym pobraniu dane z cache pozostają dostępne offline.
CQOps Live to wbudowany dashboard przeglądarkowy pokazujący aktywność stacji w czasie rzeczywistym.
Przydaje się do:
Ustawienia domyślne:
| Setting | Default |
|---|---|
| Address | 0.0.0.0 |
| Port | 8073 |
| Local URL | http://localhost:8073 |
Serwer uruchamia się natychmiast po zapisaniu ustawień.
Address binding: Domyślne
0.0.0.0udostępnia dashboard wszystkim urządzeniom w sieci lokalnej. Jest to przydatne przy ekranach field day, na stacjach klubowych i podczas sprawdzania stacji z innego pomieszczenia. Ustaw address na127.0.0.1, aby ograniczyć dostęp wyłącznie do lokalnego komputera.
CQOps Live ma dwa tryby wyświetlania.
Jest wyświetlany, gdy nie trwa praca z aktywnym callsign.
Pokazuje:
Jest wyświetlany podczas pracy z konkretnym callsign.
Pokazuje:
Info box nad lokalną mapą co 5 sekund przełącza następujące moduły:
Weather row pokazuje bieżące warunki Open-Meteo dla lokatora stacji:
Dane pogodowe są pobierane po stronie przeglądarki i pozostają bezpiecznie pomijane w trybie offline.
Prawa local map jest przeznaczona do monitorowania otoczenia APRS, aby pokazywać stacje APRS w pobliżu. Może wyświetlać:
CQOps Live aktualizuje dane przez Server-Sent Events (SSE). Odświeżanie strony nie jest potrzebne.
Dashboard zaprojektowano z myślą o sprzęcie o małej mocy:
W formularzu integracji HTTP Server można skonfigurować:
| Field | Description |
|---|---|
| Header 1 | Główny tytuł widoczny w nagłówku strony i sekcji hero. Domyślnie „CQOps Live”. |
| Header 2 | Podtytuł pod tytułem. Domyślnie „Less clicking. More radio.”. |
| Logo URL | Publicznie dostępny URL obrazu w lewym górnym rogu. Domyślnie logo CQOps. |
| Event Start | Data w formacie YYYY-MM-DD. Filtruje statystyki i listy QSO od tej daty. |
Otwórz konfigurację klawiszem F9.
| Platforma | Ścieżka konfiguracji |
|---|---|
| Linux / macOS | ~/.config/cqops/config.yaml |
| Windows | %APPDATA%\cqops\config.yaml |
Poufne dane uwierzytelniające są przechowywane osobno w pliku secrets.enc w tym samym katalogu konfiguracji.
Sekrety są szyfrowane kluczem powiązanym z komputerem. Po przeniesieniu konfiguracji na inny komputer dane uwierzytelniające trzeba wprowadzić ponownie.
Naciśnij F9, aby otworzyć menu główne, a następnie wybierz:
| Menu | Configures |
|---|---|
| General | Units, timezone, partner map/picture, solar panel, źródła SCP/REF, Kitty Graphics, Debug mode |
| Logbooks | Station callsign, grid, references, CQ/ITU zones, IARU region, GPS grid; ustawienia Wavelog dla logu (URL, API key, station profile); ustawienia APRS dla logu (callsign, symbol, beacon, range) |
| Operators | Profile operator callsign i operator name dla stacji wielooperatorskich |
| Rigs | Presety radiostacji: model, antenna, power, backend (None/flrig/Hamlib), rotor, WSJT-X UDP |
| Contests | Profile zawodów: name, date, ADIF contest ID, exchange templates, starting serial number |
| Integration | DX Cluster (host, port, login), HTTP Server dashboardu (address, port, branding), GPS service (serial/GPSD, grid precision) |
| Callbook | Dostawcy QRZ.com, HamQTH, QRZ.RU, Callook.info; kolejność priorytetów, base-call fallback, Wavelog lookup |
| Notifications | QSO saved alerts, Wavelog QSO sent status, dupe beep, error sounds |
Użyj wielu logów do pracy home, portable, contest i club.
Naciśnij Ctrl+L, aby przełączać aktywny log.
Każdy log przechowuje własne:
Profile operatorów zawierają:
Naciśnij Ctrl+O, aby przełączać aktywnego operatora.
Aktywny operator jest zapisywany w polu ADIF OPERATOR i przekazywany podczas wysyłania do Wavelog.
Presety radiostacji przechowują:
Naciśnij Ctrl+R, aby przełączać aktywną radiostację.
Od wersji v0.8.7 dane uwierzytelniające są przechowywane w postaci zaszyfrowanej.
| Element | Wartość |
|---|---|
| Plik sekretów | secrets.enc |
| Lokalizacja | Ten sam katalog co config.yaml |
| Uprawnienia Unix | 0600, jeżeli obsługiwane |
| Szyfrowanie | AES-256-GCM z kluczem powiązanym z komputerem |
| Chronione dane | QRZ password, DX Cluster login, Wavelog API keys |
Sekrety zapisane jawnym tekstem w starszych konfiguracjach są migrowane przy pierwszym uruchomieniu.
Jeżeli secrets.enc jest uszkodzony, CQOps uruchamia się z ostrzeżeniem i prosi o ponowne wprowadzenie danych uwierzytelniających.
| Key | Action |
|---|---|
| F1 | QSO form i Recent QSOs |
| F2 | Partner view |
| F4 | DX Cluster |
| F5 | PSK Reporter |
| F6 | REF Lookup |
| F7 | Band Plan Browser |
| F8 | Logbook Editor |
| F9 | Configuration / main menu |
| F10 | Quit |
| Ctrl+F9 | Log viewer |
| ? | Help overlay |
| Ctrl+L | Cycle active logbook |
| Ctrl+R | Cycle active rig |
| Ctrl+C | Cycle active contest |
| Ctrl+O | Cycle active operator |
| Esc | Back to previous screen |
| Key | Action |
|---|---|
| Tab | Next field |
| Shift+Tab | Previous field |
| ↑ / ↓ | Move within column |
| Enter | Save QSO, with duplicate confirmation if needed |
| Del | Clear all form fields |
| Ins | Lookup: Callbook, Wavelog, DXCC, and duplicate check |
| PgUp / PgDn | Cycle band, mode, or submode |
| Ctrl+S | Send DX spot from filled form |
| Ctrl+P | Fill call from nearest DXC spot |
| Ctrl+C | Cycle active contest |
| Alt+, | Adjust rotor azimuth −5° |
| Alt+. | Adjust rotor azimuth +5° |
| Alt+; | Adjust rotor elevation +5° |
| Alt+’ | Adjust rotor elevation −5° |
| Alt+\ | Point rotor to bearing from own grid to partner grid |
| Alt+/ | Stop rotor |
| Alt+Ins / Alt+Home / Alt+PgUp | Recall favorite (slot 1/2/3) |
| Alt+Shift+Ins / Alt+Shift+Home / Alt+Shift+PgUp | Save frequency, mode, band to favorite |
| Key | Action |
|---|---|
| ↑ / ↓ | Navigate rows |
| PgUp / PgDn | Previous or next page |
| Home / End | First or last row |
| Enter / e | Edit selected QSO |
| Delete | Delete selected QSO |
| p | Purge all QSOs |
| Ctrl+C | Cycle contest filter |
| Ctrl+E | Export ADIF |
| Ctrl+I / Tab | Import ADIF |
| w | Upload unsent QSOs to Wavelog |
| Ctrl+W | Download contacts from Wavelog |
| Esc / F6 | Close editor and return to QSO form |
| Key | Action |
|---|---|
| ↑ / ↓ | Navigate spots |
| Enter | Fill QSO form, tune rig, and return to QSO |
| Space | Tune rig to selected spot and stay on DX Cluster |
| Home | Cycle band filter forward |
| End | Cycle band filter backward |
\ |
Cycle spotter continent filter |
| Ins | Cycle mode filter forward |
| Del | Cycle mode filter backward |
| PgUp | Cycle time filter forward |
| PgDn | Cycle time filter backward |
| Backspace | Clear all filters |
| Esc / F4 | Return to QSO form |
| Key | Action |
|---|---|
| F2 | Cycle Partner view → Photo → Back |
| Esc / F1 | Return to QSO form |
Sprawdź:
czy start nie jest blokowany przez sieć — spróbuj:
cqops --offline
Sprawdź logi:
| Platforma | Ścieżka logów |
|---|---|
| Linux | ~/.local/share/cqops/logs/ |
| macOS | ~/Library/Application Support/cqops/logs/ |
| Windows | %APPDATA%\cqops\logs\ |
Dla flrig:
12345.Dla Hamlib:
rigctld działa,Etykiety stanu pomagają zdiagnozować problem:
| Kolor | Znaczenie |
|---|---|
| Biały/domyślny | Połączone |
| Żółty | Wyłączone lub łączenie |
| Czerwony | Błąd |
Powiadomienia toast o ponownym połączeniu mogą być wyciszone. CQOps może ponawiać próbę bez wyświetlania komunikatów.
Sprawdź:
Sprawdź:
Błędy wysyłania są pokazywane jako toasty. QSO pozostają zapisane lokalnie także wtedy, gdy wysłanie się nie powiedzie. Błąd pojedynczego QSO nie blokuje pozostałej części partii.
Plik konfiguracji:
| Platforma | Ścieżka |
|---|---|
| Linux / macOS | ~/.config/cqops/config.yaml |
| Windows | %APPDATA%\cqops\config.yaml |
Plik sekretów:
secrets.enc
Plik sekretów jest przechowywany w tym samym katalogu co config.yaml.
Jeżeli konfiguracja jest uszkodzona, przenieś lub usuń plik i uruchom CQOps ponownie. Kreator konfiguracji utworzy nową konfigurację.
Pole last_fetched_id pojawia się dopiero po poprawnym pobraniu danych z Wavelog.
Spróbuj:
cqops --offline, gdy połączenie sieciowe jest niestabilne.Przed zgłoszeniem błędu:
Włącz Debug mode w F9 → General → Debug albo ustaw:
debug: true
w pliku config.yaml.
Błędy zgłaszaj w GitHub:
https://github.com/szporwolik/cqops/issues
Dołącz:
cqops --version,