Net Remote
Net Remote Net Remote — плагин удалённого управления SDR# по сети (и по последовательному порту) от Al Brown (EarToEarOak), copyright 2014–2015, открытый исходный код под GPL. Идея простая и элегантная: плагин поднимает на компьютере с SDR# сервер, к которому любой клиент подключается telnet-сессией на порт 3382 — и шлёт команды в виде JSON-строк. При подключении сервер представляется: {"Name":"Net Remote","Version":"1.0.5282.28765"}. Команда — это JSON с атрибутами Command (Set / Get / Exe), Method и опциональным Value; регистр символов не важен. Синтаксис нагляден: задать громкость — {"Command":"Set","Method":"AudioGain","Value":30}; спросить, играет ли приёмник — {"Command":"Get","Method":"IsPlaying"} → ответ {"IsPlaying":true}. Управляемый набор параметров покрывает всё главное: Frequency (частота настройки) и CenterFrequency (центральная частота отображения) — целые значения 0–999999999999; DetectorType — режим демодуляции (AM, CW, DSB, LSB, NFM, RAW, USB, WFM); AudioGain — громкость (25–60); AudioIsMuted — mute; SquelchEnabled и SquelchThreshold — шумоподавитель и его порог (0–100); FmStereo — стерео FM; FilterType, FilterBandwidth (10–250 000 Гц), FilterOrder — фильтр. Команды Exe: Start (пуск приёма), Stop (стоп), Close (закрыть соединение). Ответы — {"Result":"OK"} для Set, Get добавляет Method и Value; при ошибке — {"Result":"Error","Type":"...","Message":"..."}. Второй канал управления — COM-порт: если в панели плагина включить галочку Serial, команды читаются из последовательного порта (по умолчанию 115200, 8N1). Прямой сценарий из документации — подключение физических органов управления: кнопок и энкодеров к SDR# (например, через Arduino), на сайте автора есть базовый туториал; энтузиасты собирали на этой связке настоящие пульты — правда, энкодер с высокой разрешающей способностью (360 импульсов на оборот) на слабых Arduino «не тянул», и один из авторов (AlanDeWindt, проект SDRSharp Controller на Hackster.io) в итоге написал собственный плагин, потому что Net Remote не поддерживает относительные команды вида «громкость на одно деление» — только абсолютные значения. В каталоге rtl-sdr.com плагин описан как средство удалённого управления SDR# по сети и управления SDR# из внешних программ (WSJT, HDSDR и др.). Net Remote входил в официальный Community Plugin Package (установщик с выбором плагинов, 2019) — на него устанавливается автоматически вместе с драйверами и набором плагинов сообщества. По эпохе это классический плагин (проверен на Windows XP/7/8.1,Installer со времён старых сборок SDR#); в современных SDR# Studio его роль меняется: там штатные средства и SpyServer закрывают удалённое управление. Важный момент безопасности: сервер не имеет авторизации — любой, кто получит доступ к порту 3382 вашей машины, сможет перестраивать приёмник и управлять им; значит, для доступа из внешней сети нужен VPN или туннель, а пробрасывать порт «наружу» без закрытия — плохая идея. Простыми словами. Это «пульт дистанционного управления» для SDR#, только вместо ИК-луча — сеть. Логика разделения с SpyServer такая: SpyServer отдаёт звук и водопад на удалённый компьютер (сценарий «приёмник стоит на даче, слушаю из дома»), а Net Remote даёт управление приёмнику, который стоит рядом с вами — например, из другой программы на той же машине или с соседнего компьютера, из скрипта или с физической ручки-энкодера. Практика: включили плагин, галочка Network, набрали в консоли telnet localhost 3382 — и сервер ответил своим JSON-приветствием; дальше можно писать команды руками, а можно из любого скрипта (Python, PowerShell) — JSON-протокол прозрачен. Типовые применения: автоматизация (скрипт перестраивает приёмник по расписанию — в паре с DDE Tracker это уже почти Scheduler), связка с логгерами и декодерами, управление из другой комнаты по локальной сети, физический пульт на Arduino. Нюанс: команды абсолютные, не инкрементные — «громкость 30», а не «на шаг громче»; для энкодера это значит, что ваш контроллер должен сам вести счёт. И не отк...