Аналог RigSync в Линукс или знакомство с Hamlib

Не все хотят приобретать дорогой современный SDR трансивер. А если это еще и DDC аппарат (ведь речь идет о современных SDR), то его стоимость не всем позволит просто так купить такое радио чтобы посмотреть что к чему. И здесь на помощь приходят простые SDR приемники которые подключают либо по 1й ПЧ основного классического трансивера, либо используют для приема прямо с антенны, а передают с основного трансивера. Коммутация в данном случае осуществляется простыми реле, которые переключают антенну в режиме приема на SDR приемник, а в режиме передачи на классический трансивер. Получается, что радиолюбитель может настраиваться на станции как вращая валкодер на трансивере, так и кликая мышкой по сигналам станций на панораме. Удобно. Чтобы на панораме частота станций отображалась корректно, да еще и синхронно изменялась при вращении ручки валкодера, необходимо как-то синхронизировать оба радио через CAT систему. Раньше для этого в Windows использовали связку программ PowerSDR-IF и HamRadioDeluxe, позже появилась программа RigSync. Эта программа использует Omni-rig и синхронизирует через CAT Omnirig radio 1 и Omnirig radio 2 соответственно. Все бы ничего, но что делать, если у вас трансивер+сдр приставка это Radio 1, а в качестве Radio 2 например выступает еще 1 трансивер. И вы предполагаете одновременно использовать все ваше оборудование. Как подключить второе радио к логу, например? В Windows я с этим так и не разобрался до конца. Можно наверное использовать COM-port splitter но это на мой взгляд, не совсем надежное решение.

А что же в Линукс? Ну, во первых, в линуксе не так много адекватного SDR софта, оторый может подойти под такие цели. Например, использовать в качестве панорамной приставки RTL-SDR донгл не получится, поскольку задержка при приеме доходит до секунды. И мне никак не удалось её уменьшить до приемлимого уровня. Соответственно, либо используем современные DDC применики (вроде Afedri или Colibri), либо самодельные SDR-приемники работающие через звуковую карту и синхронизируем их через CAT с основным трансивером посредством библиотеки Hamlib. Дело в том, что эта библиотека предоставляет демон rigctld. Запустив который, и передав ему в параметрах адрес порта к которому подключен трансивер, мы можем послать ему по сети команды и соответственно управлять нашим радио. Количество одновременных подключений не ограниченно.

В моем случае это выглядело так: классический трансивер подключен к порту /dev/tty$0 им управляет rigctld который слушает сетевой порт 4532, в качестве приставки использовался самоедльный SDR по схеме RA4NAL. Поскольку под линукс к нему нет USB драйвера, управлялся он (перестройка частоты и изменение модуляции) с помощью виртуальной машины с Win XP в который была запущена PowerSDR и rigctld для Windows. Он слушал порт 4567. Для работы с SDR приемником использовалась программа Quisk. Она забирала IQ-поток со звуковой карты EMU0202USB (отлично работает в линуксе). В программе Quisk, есть возможность самому писать файлы конфигурации под конкретное железо. В комплекте с программой идет файлик quisk_hardware_hamlib.py и этот файлик позволяет программе подключаться к демону rigctld и передавать ему CAT-команды при изменении частоты и режима работы в программе. Но у меня-то 2 радио. И, поизучав конфиг, я добавил туда записи для подключения ко второй копии rigctld. Все заработало, таким образом, появилась возможность изменяя частоту валкодером основного трансвиера, менять её в программе Quisk и соответственно у SDR-приемника. И вся эта связка была прописана как Radio 1 в аппаратном журнале CQRlog. И можно в качестве Radio 2 добавить еще один трансвиер. 

Получилось несколько сложновато, но зато отлично работает без сбоев. Если бы под Windows больше логов поддерживали библиотеку Hamlib, а не только Omni-Rig, было бы гораздо проще организовывать подобные связки.

Назад

Оставить комментарий

Поля отмеченные * обязательны к заполнению.


Назад