Fast, minimal terminal-based amateur radio logger
CQOps — это быстрый радиолюбительский логгер, ориентированный на работу в терминале. Он предназначен для операторов, которым нужен надежный ввод связей с клавиатуры при низкой нагрузке на систему. CQOps разработан для использования в шэке, при выездной работе, на клубных радиостанциях, во время field day, а также на устройствах класса Raspberry Pi и старых ноутбуках.
CQOps всегда сначала сохраняет QSO локально. Интеграции, использующие интернет, являются необязательными.
CQOps построен вокруг быстрого ввода QSO, локального хранения данных в первую очередь и практичной работы в полевых условиях.
Для локального ведения журнала доступ к интернету не требуется. В режиме --offline сетевые функции пропускаются.
CQOps хорошо подходит для:
CQOps не предназначен для замены всех возможностей полноценного настольного логгера или веб-платформы аппаратного журнала. Основной акцент сделан на быстром вводе в терминале, полевой работе, автономном режиме и сценариях общей радиостанции.
CQOps создавался с учетом потребностей радиоклубов. Активный оператор всегда виден в строке состояния — одного взгляда достаточно, чтобы понять, кто сейчас работает. Оператор переключается одним сочетанием клавиш (Ctrl+O), а изменение применяется немедленно: позывной и имя оператора записываются во все последующие QSO. Не требуется выход из учетной записи, ввод пароля или остановка работы.
Аппаратные журналы, presets трансиверов и соревнования переключаются аналогичным образом — Ctrl+L, Ctrl+R, Ctrl+C. На клубной радиостанции со сменяющимися операторами, несколькими трансиверами и несколькими активными соревнованиями контекст можно изменить менее чем за секунду, не используя мышь.
Во время field day и публичных мероприятий CQOps Live dashboard может выводить на большой экран карту в реальном времени, поток QSO и статистику. Посетители и члены клуба смогут следить за работой станции, не собираясь вокруг терминала оператора. Достаточно включить интеграцию HTTP Server и открыть dashboard на любом устройстве с веб-браузером.
Все выпуски доступны здесь:
https://github.com/szporwolik/cqops/releases
| Пакет | Ссылка | Примечания |
|---|---|---|
| Установщик | cqops-setup.exe | Рекомендуется большинству пользователей. Добавляет CQOps в меню Start и PATH. |
| Переносимый ZIP | cqops-windows-portable.zip | Распакуйте и запустите без установки. |
Добавьте репозиторий Cloudsmith APT и установите:
curl -1sLf 'https://dl.cloudsmith.io/public/szporwolik/cqops/setup.deb.sh' | sudo -E bash
sudo apt update
sudo apt install cqops
Или скачайте .deb напрямую:
| Архитектура | Ссылка | Для каких систем |
|---|---|---|
| amd64 | cqops_amd64.deb | Большинство ПК Intel/AMD |
| arm64 | cqops_arm64.deb | 64-разрядные ARM-системы |
| armhf | cqops_armhf.deb | 32-разрядная Raspberry Pi OS |
Установите загруженный пакет:
sudo dpkg -i cqops_*.deb
Добавьте репозиторий Cloudsmith RPM и установите:
curl -1sLf 'https://dl.cloudsmith.io/public/szporwolik/cqops/setup.rpm.sh' | sudo -E bash
sudo dnf install cqops
Установите из AUR:
# CachyOS (по умолчанию использует paru)
paru -S cqops-bin
# Arch / Manjaro
yay -S cqops-bin
Также доступно через pacaur, aura или ручной makepkg. PKGBUILD на aur.archlinux.org/packages/cqops-bin.
| Архитектура | Ссылка | Для каких систем |
|---|---|---|
| amd64 | cqops-linux-amd64.tar.gz | Большинство ПК Intel/AMD |
| arm64 | cqops-linux-arm64.tar.gz | 64-разрядные ARM-системы |
| armhf | cqops-linux-armhf.tar.gz | 32-разрядная Raspberry Pi OS |
| Архитектура | Ссылка | Для каких систем |
|---|---|---|
| Apple Silicon | cqops-darwin-arm64 | Mac с M1/M2/M3 |
| Intel | cqops-darwin-amd64 | Mac на базе Intel |
Установите вручную:
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
Для сборки из исходного кода требуется Go 1.26 или новее.
| Требование | Значение |
|---|---|
| Минимальный размер терминала | 80×24 символа |
| Рекомендуемый размер терминала | 80×43 символа или больше |
| Рекомендуемый терминал в Windows | Windows Terminal |
| Терминал с поддержкой графики Kitty | Kitty, Ghostty или WezTerm |
cqops # Запустить TUI
cqops --offline # Запустить без сетевой активности
cqops --version # Вывести версию и завершить работу
cqops --help # Показать справку
При первом запуске CQOps открывает мастер настройки. Для локального ведения журнала обязательны только основные сведения о радиостанции. Сетевые интеграции можно пропустить и настроить позже.
| Страница | Что настраивается |
|---|---|
| Station & Logbook | Начальный аппаратный журнал, позывной станции, оператор, grid locator, необязательные референции и зоны, URL/API/ID station profile Wavelog |
| Rig | Preset трансивера, модель, антенна, мощность, backend, необязательное поворотное устройство и необязательные параметры UDP WSJT-X |
| Integrations | Параметры поиска в callbook (QRZ.com, HamQTH, QRZ.RU, Callook.info) |
| General | Часовой пояс IANA |
| Summary | Проверка и сохранение |
Поддерживаемые backend трансивера:
rigctld.| Клавиша | Действие |
|---|---|
| Ctrl+S | Проверить и продолжить; на странице Summary — сохранить и запустить CQOps |
| Esc | Назад |
| F10 | Выход |
| Tab / Shift+Tab | Перемещение между полями |
| Space | Переключение флажков |
Впоследствии параметры мастера можно изменить с помощью F9.
Запустите CQOps:
cqops
Завершите мастер настройки, указав как минимум свой позывной и grid locator.
Откройте форму QSO клавишей F1.
Введите позывной корреспондента. CQOps автоматически переводит позывные в верхний регистр.
Заполните остальные поля. Если активный трансивер подключен через flrig или Hamlib, CQOps может автоматически заполнить частоту, диапазон, вид излучения и подвид.
Нажмите Enter, чтобы сохранить.
Если появится предупреждение DUPE!, снова нажмите Enter, чтобы все равно сохранить запись, или Esc, чтобы отменить.
Сохраненный QSO немедленно появится в таблице Recent QSOs.
CQOps использует фиксированную компоновку терминала:
┌─ 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 │
└────────────────────────────────────────────────────────────────────────────────┘
В строке состояния отображаются:
L,Z.Обычно используются метки Net, WSJT, Rig, Flrig, Hamlib, Rotator, DXC, WL и GPS. Метка GPS использует ту же цветовую схему: красный — устройство отключено, желтый — подключено, но координаты еще не определены, белый — позиция зафиксирована.
| Цвет | Значение |
|---|---|
| Белый/по умолчанию | Подключено или активно |
| Желтый | Отключено, выполняется подключение или ожидаемо недоступно |
| Красный | Ошибка или отсутствие подключения |
| Акцентный цвет + полужирный | WSJT-X выполняет передачу |
| Клавиша | Вкладка | Экран |
|---|---|---|
| F1 | QSO | Форма QSO и Recent QSOs |
| F2 | QRZ | Partner view: данные callbook, карта, статистика, фотография |
| F4 | DXC | Споты и фильтры DX Cluster |
| F5 | HRD | Споты PSK Reporter и карта прохождения |
| F6 | REF | Поиск референций SOTA/POTA/WWFF/IOTA |
| F7 | BPL | Band Plan Browser |
| F8 | LOG | Logbook Editor, ADIF, синхронизация с Wavelog |
| F9 | CFG | Меню конфигурации |
В строке справки отображаются сочетания клавиш, относящиеся к активному экрану. Нажмите ?, чтобы открыть полную справку.
Перед выездом:
В полевых условиях:
Запустите CQOps в автономном режиме:
cqops --offline
Активный оператор сохраняется в поле ADIF OPERATOR.
Каждый аппаратный журнал может хранить собственные сведения о станции, параметры Wavelog, настройки соревнований и операторов.
Preset трансивера может содержать backend, модель, антенну, мощность, параметры поворотного устройства и настройки UDP WSJT-X.
Если интеграция WSJT-X по UDP включена, CQOps может принимать сообщения ADIF от WSJT-X и автоматически регистрировать завершенные цифровые QSO.
Автоматически зарегистрированные QSO:
Если оператор, указанный WSJT-X, не совпадает с активным оператором в CQOps, программа отображает предупреждение.
Перед длительными цифровыми сессиями проверьте:
CQOps всегда сначала сохраняет QSO локально. Синхронизация с Wavelog необязательна.
| Действие | Где | Сочетание | Примечания |
|---|---|---|---|
| Отправить неотправленные QSO | Logbook Editor | w |
Отправка пакетами по 50 |
| Загрузить из Wavelog | Logbook Editor | Ctrl+W |
Инкрементальная загрузка с использованием last_fetched_id |
Для каждого QSO отслеживается состояние отправки:
При ошибке отправки QSO остается в локальном аппаратном журнале, и попытку можно повторить позже. Полная очистка журнала сбрасывает fetch ID на 0, что позволяет выполнить полную повторную загрузку.
Форма QSO — основной экран ввода связей. Откройте ее клавишей F1.
CQOps может заполнять поля из следующих источников:
| Источник | Поля |
|---|---|
| flrig / Hamlib | Частота, Freq RX при split, вид излучения, подвид |
| Callbook (QRZ.com / HamQTH / QRZ.RU / Callook.info) | Имя, QTH, grid, страна, зона CQ, зона ITU, DXCC, континент, фото |
| База данных REF | Референции SOTA, POTA, WWFF, IOTA |
| Поиск Wavelog | Состояние worked/confirmed, если функция настроена |
| Данные DXCC/префиксов | Префикс и сведения, связанные со страной |
| Левая колонка | Средняя колонка | Правая колонка |
|---|---|---|
| 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 |
Поля обмена появляются только при активном соревновании.
В нижней строке находятся:
Поля Band, Mode и Submode можно переключать клавишами PgUp/PgDn.
Если известны оба grid locator, CQOps показывает расстояние и азимут.
В форме QSO также могут отображаться индикаторы:
| Клавиша | Действие |
|---|---|
| Enter | Сохранить QSO |
| Ctrl+S | Отправить DX spot из заполненной формы |
| Esc | Отменить подтверждение дубликата |
| Enter при подтверждении DUPE | Все равно сохранить дубликат |
Откройте Logbook Editor клавишей F8.
Он используется для:
Изменения немедленно появляются в Recent QSOs.
CQOps поддерживает импорт и экспорт ADIF 3.1.7.
| Действие | Сочетание |
|---|---|
| Импорт ADIF | Ctrl+I |
| Экспорт ADIF | Ctrl+E |
При импорте записи проверяются, дубликаты пропускаются, после чего отображается сводка. Если синхронизация с Wavelog настроена, импортированные QSO помечаются для отправки в Wavelog.
При экспорте можно включить все QSO или QSO, отфильтрованные по соревнованию. Поле CONTEST_ID сохраняется.
Обработка вида и подвида соответствует ADIF 3.1.7, как описано в этом руководстве:
Форма QSO содержит отдельные поля Mode и Submode. Оба поля можно переключать клавишами PgUp/PgDn.
CQOps содержит облегченную панель для регистрации связей в соревнованиях, предназначенную для неформального участия. Она не заменяет специализированные соревновательные логгеры, такие как N1MM, Win-Test или TR4W. Для серьезной работы в категориях multi-op, multi-radio или assisted используйте специализированный логгер. CQOps подходит, когда вы хотите провести несколько связей и раздать очки, из интереса проследить за темпом работы или зарегистрировать несколько соревновательных QSO во время активации SOTA/POTA, не покидая повседневный логгер.
Создайте или настройте соревнование в Logbook Editor с помощью Ins.
Конфигурация соревнования включает:
| Маркер | Заменяется на |
|---|---|
@rst |
Переданный или принятый RST |
@serial |
Автоматически увеличиваемый порядковый номер |
@cqz |
Зона CQ DX-станции |
@mycqz |
Ваша зона CQ |
@itu |
Зона ITU DX-станции |
@myitu |
Ваша зона ITU |
@grid |
Grid square DX-станции |
@mygrid |
Ваш grid square |
Нажмите Ctrl+C, чтобы переключить активное соревнование, или выберите его в меню Contest (F7). Поля контрольных номеров автоматически появятся в форме QSO, а порядковые номера будут увеличиваться автоматически.
При активном соревновании в нижней строке отображается сводка в реальном времени:
IARU-HF · IARU HF 45 QSOs Started 16:13 Last 14:04 ago Next #45 On 2:41
| Поле | Значение |
|---|---|
IARU-HF |
Идентификатор соревнования ADIF, предназначенный для машинной обработки |
· IARU HF |
Отображаемое название соревнования — показывается, если отличается от ID |
45 QSOs |
Общее количество QSO в текущей сессии соревнования |
Started 16:13 |
Время первого соревновательного QSO за текущий день |
Last 14:04 ago |
Время, прошедшее с последнего соревновательного QSO |
Next #45 |
Порядковый номер, который будет передан в следующем QSO |
On 2:41 |
Общее эфирное время — сумма промежутков между QSO длительностью менее 30 минут |
Поле “Started” скрывается в узких терминалах, имеющих менее 120 столбцов. Название соревнования и эфирное время скрываются при ширине менее 100 столбцов.
Если соревнование активно и терминал достаточно широкий, справа от формы QSO появляется компактная панель статистики с желтой рамкой:
╭──────────────────────────────────╮
│ 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 │
╰──────────────────────────────────╯
| Строка | Поле | Значение |
|---|---|---|
| Rate | 2/h |
Темп по последним 10 QSO — кратковременная скорость работы |
--/h |
Темп по последним 100 QSO — отображает --, пока не зарегистрировано 100 QSO |
|
| Count | 60m 0 |
Количество QSO за последние 60 минут |
hr 0 |
Количество QSO за текущий час, начиная с :00 |
|
| Peak | 1m120 |
Лучший темп за 1 минуту: 120/ч = 2 QSO за эту минуту |
10m 54 |
Лучшее скользящее окно 10 минут: средний темп 54/ч | |
60m 29 |
Лучшее скользящее окно 60 минут: средний темп 29/ч | |
| Avg | 8/h |
Средний темп сессии — общее число QSO ÷ часы с момента первого QSO |
Sess 5:36 |
Общая длительность сессии от первого до последнего QSO, в формате H:MM или только минуты | |
| Chart | max 1 |
В самую активную минуту проведен 1 QSO. Столбики показывают число QSO в минуту |
-60m…now |
Левая граница = 60 минут назад, правая граница = сейчас |
График использует блочные символы Unicode (█), масштабированные до четырех строк вертикальных столбиков. Для пиковых значений суффикс /h опускается, поскольку “Peak” уже подразумевает значение в час. Во всех длительностях секунды опущены — при обновлении раз в минуту они создают только лишний шум.
Чтобы отправить соревновательный журнал, откройте Logbook Editor (Ctrl+E), пока соревнование активно. Если применен фильтр соревнования, диалог экспорта ADIF предложит экспортировать только QSO, относящиеся к активному соревнованию. Будет создан соответствующий стандарту файл ADIF 3.1.7 с сохраненными полями контрольных номеров, порядковыми номерами и идентификатором соревнования ADIF. Файл готов для отправки роботу организатора или в систему проверки журналов.
При активном соревновании:
CONTEST_ID,Избранное хранит presets частоты, вида связи и диапазона в трех слотах — этого достаточно для наиболее часто используемых вызывных частот. Сочетания используют Alt, чтобы избежать конфликтов со стандартными клавишами редактирования терминала, и надежно работают в терминалах всех типов.
| Сочетание | Действие |
|---|---|
| Alt+Ins / Alt+Home / Alt+PgUp | Вызвать избранное из слота 1, 2 или 3 |
| Alt+Shift+Ins / Alt+Shift+Home / Alt+Shift+PgUp | Сохранить текущую частоту, вид связи и диапазон в слот 1, 2 или 3 |
Избранное хранится в конфигурации и является общим для всех аппаратных журналов.
Пример:
145.55.FM.2m.Откройте REF Lookup клавишей F6.
Поиск выполняется по:
Можно искать по префиксу, названию или обозначению референции. Выбранные референции можно перенести в форму QSO.
Откройте Band Plan Browser клавишей F7.
Он предоставляет быстрый доступ к:
Выбранную частоту можно использовать для настройки активного трансивера. Данные плана диапазонов также можно экспортировать в Markdown.
Все интеграции необязательны. Локальное ведение журнала работает без них.
CQOps поддерживает несколько провайдеров callbook с каскадным поиском по приоритету. Когда в форме QSO нажимается Ins, провайдеры опрашиваются по порядку, пока один из них не вернет результат:
Если провайдеры с более высоким приоритетом недоступны или отключены, используется следующий провайдер. Если включен параметр Base call fallback (по умолчанию включен), CQOps также проверяет базовый позывной без префикса или суффикса, если полный позывной не найден.
Провайдеры включаются и настраиваются в F9 → Callbook.
В форме QSO нажмите Ins, чтобы заполнить поля callbook, включая:
В Partner view на F2 может отображаться фотография оператора, если она доступна.
⚠️ Экспериментальная функция. Для показа фотографии может использоваться графический протокол терминала Kitty. Требуется совместимый терминал: Kitty, Ghostty или WezTerm. Включите функцию в F9 → General → Kitty Graphics. В обычных терминалах и SSH-сеансах без передачи графики вместо фотографии будет использоваться изображение из символов.
Интеграция с Wavelog поддерживает:
Wavelog настраивается отдельно для активного аппаратного журнала с помощью:
CQOps всегда сначала сохраняет QSO локально. Ошибка отправки в Wavelog не удаляет локальные данные.
Интеграция с flrig использует XML-RPC поверх HTTP.
Конечная точка по умолчанию:
localhost:12345
CQOps может считывать:
При работе split VFO A соответствует Frequency, а VFO B — Freq RX.
Управление трансивером через Hamlib использует TCP-демон rigctld.
В зависимости от трансивера и возможностей backend CQOps может запрашивать:
По возможности CQOps корректно обрабатывает отсутствие поддержки имен VFO.
⚠️ Экспериментальная функция. Управление поворотным устройством является экспериментальным. Перед работой всегда проверяйте физические пределы антенны. Будьте готовы немедленно остановить движение сочетанием Alt+/. Используйте функцию осторожно: неправильная конфигурация может повредить поворотное устройство или антенну.
Для управления поворотным устройством используется Hamlib rotctld.
CQOps поддерживает:
| Сочетание | Действие |
|---|---|
| Alt+, | Изменить азимут на −5° |
| Alt+. | Изменить азимут на +5° |
| Alt+; | Изменить угол места на +5° |
| Alt+’ | Изменить угол места на −5° |
| Alt+\ | Направить антенну по рассчитанному азимуту трассы |
| Alt+/ | Остановить поворотное устройство |
Интеграция с WSJT-X использует UDP-сообщения WSJT-X. CQOps разбирает сообщения ADIF и может автоматически регистрировать завершенные QSO.
Во время передачи WSJT-X метка трансивера окрашивается акцентным цветом. Если оператор, указанный WSJT-X, не совпадает с активным оператором, CQOps отображает предупреждение.
CQOps может получать координаты от GPS-приемника и использовать их как grid locator станции — это удобно при выездной, мобильной и полевой работе.
Поддерживаются два backend:
/dev/ttyUSB0).127.0.0.1:2947). Удобно, если GPS используется несколькими
приложениями или доступен по сети.Индикатор GPS в строке состояния показывает:
| Цвет | Значение |
|---|---|
Красный GPS |
Нет подключения / ошибка |
Желтый GPS |
Подключено, координаты еще не определены |
Белый GPS |
Координаты определены, позиция зафиксирована |
После определения координат grid locator станции заменяется позицией,
рассчитанной по GPS, и в строке состояния добавляется отметка (GPS):
Rig SSB - FTDx10/Dipole · Grid JO62TJ43PL (GPS)
Включите Grid from GPS в настройках Station & Logbook, чтобы использовать grid GPS при регистрации QSO, передаче APRS-маяков, отображении карты dashboard и расчете расстояний.
Grid precision — настраивается в меню Integration и может составлять 10, 8 или 6 символов. Значение по умолчанию — 10 символов, что соответствует точности около 25 м. Внутри программы grid всегда рассчитывается с полной точностью, а при использовании сокращается до заданной длины.
Интеграция с DX Cluster использует telnet и требует доступа к интернету.
Сервер по умолчанию:
dxspots.com:7300
Доступны фильтры по:
| Клавиша | Действие |
|---|---|
| Enter | Заполнить форму QSO, настроить трансивер и вернуться к QSO |
| Space | Настроить трансивер и остаться в DX Cluster |
| Backspace | Очистить фильтры |
При подключении к DX Cluster в форме QSO появляются две дополнительные возможности:
Интеграция с PSK Reporter требует доступа к интернету. Это удобный инструмент для быстрой проверки реального прохождения: можно увидеть, кто принимает ваш сигнал или кого принимаете вы на любом диапазоне в данный момент.
Доступны:
CQOps поддерживает три типа сервиса APRS. Выберите вариант, соответствующий конфигурации вашей станции:
| Сервис | Подключение | Требуется интернет |
|---|---|---|
| APRS-IS | TCP к серверу APRS-IS | Да |
| KISS | Последовательный порт к аппаратному KISS TNC | Нет |
| KISS Server | TCP к серверу KISS TNC, например Dire Wolf | Нет, при работе в локальной сети |
Тип сервиса выбирается в меню Integrations:
F9 → Integrations → APRS → Service (Space to cycle)
Все три сервиса поддерживают прием отчетов о местоположении APRS от ближайших станций и отображение их на локальной карте CQOps Live с помощью:
Все сервисы также поддерживают периодическую передачу координатного маяка. CQOps передает grid locator станции с заданным интервалом. Если GPS активен и включен параметр Grid from GPS, маяк автоматически использует координаты GPS — это удобно при выездной и мобильной работе.
Подключается к глобальной сети APRS-IS через интернет. Требуются:
Сервер по умолчанию:
euro.aprs2.net:14580
APRS-IS настраивается глобально в F9 → Integrations → APRS. Позывной, SSID, символ, комментарий, интервал маяка и фильтр дальности для отдельного журнала задаются в F9 → Logbooks → [active logbook] → APRS.
Подключается непосредственно к аппаратному KISS TNC через последовательный порт. Интернет не требуется: кадры APRS передаются и принимаются через радиостанцию.
В меню Integrations настройте последовательный порт, baud rate, data bits, parity, stop bits и DTR/RTS:
F9 → Integrations → APRS → Service: KISS
После выбора KISS становятся видимыми поля последовательного интерфейса: Port, Baud, Data bits, Parity, Stop bits, DTR и RTS.
Кнопка Test открывает последовательный порт и проверяет доступность TNC.
Подключается к KISS TNC, доступному по TCP, например к экземпляру Dire Wolf, работающему на том же компьютере или в локальной сети. Подключение к интернету не требуется.
Укажите host и port в меню Integrations:
F9 → Integrations → APRS → Service: KISS Server → Host / Port
Значение по умолчанию: 127.0.0.1:8001
Маяки передаются с интервалом, заданным отдельно для каждого аппаратного журнала. Минимальный интервал составляет 1 минуту. Маяк содержит:
Если GPS активен и в настройках Station включен параметр Grid from GPS, маяк автоматически использует grid locator, полученный по GPS. При движении не требуется вручную обновлять grid.
Интервал маяка и другие параметры отдельного аппаратного журнала настраиваются в:
F9 → Logbooks → [active logbook] → APRS
Принятые отчеты APRS о местоположении кэшируются локально и отображаются на карте CQOps Live dashboard. Станции показываются с символами APRS; по ним можно щелкнуть, чтобы просмотреть подробности. Масштаб автоматически подбирается так, чтобы показать все видимые станции в пределах настроенной дальности.
Прием APRS не зависит от передачи маяка: можно принимать без передачи и наоборот. Достаточно включить APRS в меню Integrations и выбрать тип сервиса.
Солнечные данные поступают с hamqsl.com и включают:
Для обновлений в реальном времени требуется интернет. После успешной загрузки кэшированные данные остаются доступными автономно.
CQOps Live — встроенный браузерный dashboard для отображения активности радиостанции в реальном времени.
Он полезен для:
Параметры по умолчанию:
| Параметр | Значение по умолчанию |
|---|---|
| Address | 0.0.0.0 |
| Port | 8073 |
| Local URL | http://localhost:8073 |
Сервер запускается сразу после сохранения.
Привязка адреса: значение
0.0.0.0по умолчанию делает dashboard доступным с любого устройства в локальной сети. Это удобно для экранов field day, клубной радиостанции или контроля станции из другого помещения. Чтобы разрешить доступ только с локального компьютера, установите Address в127.0.0.1.
CQOps Live имеет два режима отображения.
Отображается, когда активная работа с позывным не ведется.
В нем показываются:
Отображается во время работы с позывным.
В нем показываются:
Info box над локальной картой каждые 5 секунд переключается между модулями:
Строка погоды показывает текущие данные Open-Meteo для grid locator станции:
Погодные данные загружаются браузером; при отсутствии сети функция корректно становится недоступной.
Локальная карта справа предназначена для наблюдения за ближайшими станциями APRS. На ней могут отображаться:
CQOps Live обновляется через Server-Sent Events (SSE). Обновлять страницу не требуется.
Dashboard рассчитан на маломощное оборудование:
В форме интеграции HTTP Server можно настроить:
| Поле | Описание |
|---|---|
| Header 1 | Основной заголовок в верхней части и главном блоке страницы. Если поле пустое, используется “CQOps Live”. |
| Header 2 | Подзаголовок под основным заголовком. Если поле пустое, используется “Less clicking. More radio.”. |
| Logo URL | URL общедоступного изображения в левом верхнем углу. Если поле пустое, используется логотип CQOps. |
| Event Start | Дата в формате YYYY-MM-DD. Фильтрует статистику и списки QSO, начиная с этой даты. |
Откройте конфигурацию клавишей F9.
| Платформа | Путь к конфигурации |
|---|---|
| Linux / macOS | ~/.config/cqops/config.yaml |
| Windows | %APPDATA%\cqops\config.yaml |
Конфиденциальные учетные данные хранятся отдельно в файле secrets.enc в том же каталоге конфигурации.
Secrets шифруются ключом, привязанным к конкретному компьютеру. При переносе конфигурации на другой компьютер учетные данные необходимо ввести заново.
Нажмите F9, чтобы открыть главное меню, затем выберите:
| Меню | Что настраивается |
|---|---|
| General | Единицы измерения, часовой пояс, карта/фотография корреспондента, панель Solar, источники данных SCP/REF, графика Kitty, debug mode |
| Logbooks | Позывной станции, grid, референции, зоны CQ/ITU, регион IARU, grid GPS; Wavelog для каждого журнала (URL, API key, station profile); APRS для каждого журнала (позывной, символ, маяк, дальность) |
| Operators | Профили позывного и имени оператора для станций с несколькими операторами |
| Rigs | Presets трансиверов: модель, антенна, мощность, backend (None/flrig/Hamlib), поворотное устройство, UDP WSJT-X |
| Contests | Профили соревнований: название, дата, ID соревнования ADIF, шаблоны контрольных номеров, начальный порядковый номер |
| Integration | DX Cluster, HTTP server для dashboard, GPS, APRS, Solar, PSK Reporter |
| Callbook | Провайдеры QRZ.com, HamQTH, QRZ.RU и Callook.info; порядок приоритетов, base-call fallback, поиск Wavelog |
| Notifications | Уведомления о сохранении QSO, состоянии отправки QSO в Wavelog, звуковой сигнал дубликата, звуки ошибок |
Используйте отдельные аппаратные журналы для домашней, выездной, соревновательной и клубной работы.
Нажмите Ctrl+L, чтобы переключить активный аппаратный журнал.
Каждый журнал хранит собственные:
Профиль оператора содержит:
Нажмите Ctrl+O, чтобы переключить активного оператора.
Активный оператор сохраняется в поле ADIF OPERATOR и передается при отправке данных в Wavelog.
Presets трансиверов хранят:
Нажмите Ctrl+R, чтобы переключить активный трансивер.
Начиная с версии v0.8.7 учетные данные хранятся в зашифрованном виде.
| Элемент | Значение |
|---|---|
| Файл secrets | secrets.enc |
| Расположение | Тот же каталог, что и config.yaml |
| Права Unix | 0600, если поддерживается |
| Шифрование | AES-256-GCM с ключом, привязанным к компьютеру |
| Защищенные данные | Пароль QRZ, логин DX Cluster, API keys Wavelog |
Secrets в открытом виде из старых конфигураций переносятся при первом запуске.
Если файл secrets.enc поврежден, CQOps запускается с предупреждением и предлагает повторно ввести учетные данные.
| Клавиша | Действие |
|---|---|
| F1 | QSO form и 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 | Выход |
| Ctrl+F9 | Log viewer |
| ? | Help overlay |
| Ctrl+L | Переключить активный аппаратный журнал |
| Ctrl+R | Переключить активный трансивер |
| Ctrl+C | Переключить активное соревнование |
| Ctrl+O | Переключить активного оператора |
| Esc | Вернуться к предыдущему экрану |
| Клавиша | Действие |
|---|---|
| Tab | Следующее поле |
| Shift+Tab | Предыдущее поле |
| ↑ / ↓ | Перемещение внутри колонки |
| Enter | Сохранить QSO с подтверждением дубликата при необходимости |
| Del | Очистить все поля формы |
| Ins | Lookup: Callbook, Wavelog, DXCC и проверка дубликата |
| PgUp / PgDn | Переключить диапазон, вид или подвид |
| Ctrl+S | Отправить DX spot из заполненной формы |
| Ctrl+P | Подставить позывной из ближайшего спота DXC |
| Ctrl+C | Переключить активное соревнование |
| Alt+, | Изменить азимут поворотного устройства на −5° |
| Alt+. | Изменить азимут поворотного устройства на +5° |
| Alt+; | Изменить угол места поворотного устройства на +5° |
| Alt+’ | Изменить угол места поворотного устройства на −5° |
| Alt+\ | Направить антенну по азимуту от собственного grid к grid корреспондента |
| Alt+/ | Остановить поворотное устройство |
| Alt+Ins / Alt+Home / Alt+PgUp | Вызвать избранное из слота 1/2/3 |
| Alt+Shift+Ins / Alt+Shift+Home / Alt+Shift+PgUp | Сохранить частоту, вид связи и диапазон в избранное |
| Клавиша | Действие |
|---|---|
| ↑ / ↓ | Перемещение по строкам |
| PgUp / PgDn | Предыдущая или следующая страница |
| Home / End | Первая или последняя строка |
| Enter / e | Редактировать выбранный QSO |
| Delete | Удалить выбранный QSO |
| p | Удалить все QSO |
| Ctrl+C | Переключить фильтр соревнования |
| Ctrl+E | Экспортировать ADIF |
| Ctrl+I / Tab | Импортировать ADIF |
| w | Отправить неотправленные QSO в Wavelog |
| Ctrl+W | Загрузить связи из Wavelog |
| Esc / F6 | Закрыть редактор и вернуться к форме QSO |
| Клавиша | Действие |
|---|---|
| ↑ / ↓ | Перемещение по спотам |
| Enter | Заполнить форму QSO, настроить трансивер и вернуться к QSO |
| Space | Настроить трансивер на выбранный spot и остаться в DX Cluster |
| Home | Переключить фильтр диапазона вперед |
| End | Переключить фильтр диапазона назад |
\ |
Переключить фильтр континента споттера |
| Ins | Переключить фильтр вида связи вперед |
| Del | Переключить фильтр вида связи назад |
| PgUp | Переключить фильтр времени вперед |
| PgDn | Переключить фильтр времени назад |
| Backspace | Очистить все фильтры |
| Esc / F4 | Вернуться к форме QSO |
| Клавиша | Действие |
|---|---|
| F2 | Переключить Partner view → Photo → Back |
| Esc / F1 | Вернуться к форме QSO |
Проверьте:
запуск может блокироваться сетевой инициализацией; попробуйте:
cqops --offline
Проверьте журналы:
| Платформа | Путь к журналам |
|---|---|
| Linux | ~/.local/share/cqops/logs/ |
| macOS | ~/Library/Application Support/cqops/logs/ |
| Windows | %APPDATA%\cqops\logs\ |
Для flrig:
12345.Для Hamlib:
rigctld запущен,Метки состояния помогают определить проблему:
| Цвет | Значение |
|---|---|
| Белый/по умолчанию | Подключено |
| Желтый | Отключено или выполняется подключение |
| Красный | Ошибка |
Всплывающие уведомления о повторном подключении могут подавляться. CQOps может повторять попытки без уведомлений.
Проверьте:
Проверьте:
Ошибки отправки отображаются как всплывающие уведомления. QSO остаются локально сохраненными даже при неудачной отправке. Ошибка отдельного QSO не блокирует отправку остальных записей пакета.
Файл конфигурации:
| Платформа | Путь |
|---|---|
| Linux / macOS | ~/.config/cqops/config.yaml |
| Windows | %APPDATA%\cqops\config.yaml |
Файл secrets:
secrets.enc
Файл secrets хранится в том же каталоге, что и config.yaml.
Если конфигурация повреждена, переместите или удалите ее и перезапустите CQOps. Мастер настройки создаст новую конфигурацию.
Поле last_fetched_id появляется только после успешной загрузки из Wavelog.
Попробуйте:
cqops --offline при нестабильной сети.Перед созданием сообщения об ошибке:
Включите Debug mode в F9 → General → Debug или задайте:
debug: true
в файле config.yaml.
Сообщайте об ошибках на GitHub:
https://github.com/szporwolik/cqops/issues
Укажите:
cqops --version,