Каждый радиолюбитель проходит стадию, когда вместо хаоса проводов, антенн и адаптеров хочется сконцентрировать все в аккуратную и удобную систему. Но это весьма непростая задача: разные вендоры, протоколы и скорости передачи данных. Один трансивер требует пачки драйверов, другой не умеет нажимать PTT через CAT, третьему вообще нужен COM-порт, и желательно нативный. В итоге радиолюбительский «шэк» (от английского shack — «хижина») превращается во Франкенштейна, где приходится учитывать особенности каждого отдельного девайса.
DigiPi был создан как попытка навести порядок, объединив функции звукового интерфейса, контроллера трансиверов и небольшого сервера, позволяющего управлять всем непосредственно из браузера с любого устройства — от лэптопа до планшета. Сегодня я покажу, как DigiPi на Raspberry Pi 4 превращается в удобный центр управления радиооборудованием. Затем шаг за шагом соберем собственную систему с его встроенными модулями.

Что умеет DigiPi
APRS TNC
На Хабре есть прекрасная публикация про этот протокол радиолюбительской связи, поэтому лишь вкратце напомню, что это такое. Он отлично работает для передачи коротких текстовых сообщений, данных телеметрии и координат маяков GPS. В мире существует глобальная сеть APRS, которая функционирует поверх другого протокола канального уровня AX.25. Последний позволяет работать напрямую или через ретрансляторы (digipeaters).
Те представляют собой классическую радиорелейную станцию, которая расширяет дальность действия связи, принимая и ретранслируя фреймы AX.25 в эфир. Основой станции служит TNC (Terminal Node Controller), который по своей сути очень схож с обычным Dial-up-модемом. Они оба преобразуют аналоговый сигнал в цифровой вид и обратно. Различие в том, что TNC в качестве среды передачи данных использует радиоэфир вместо телефонной линии и «завязан» на протоколы радиосвязи, такие как вышеупомянутый AX.25.

Вот такие железные девайсы раньше приходилось использовать, чтобы работать с пакетной связью вроде APRS. Сейчас модуляцию/демодуляцию, упаковку и проверку фреймов успешно выполняет любой компьютер со звуковой картой. Остается лишь передать аудиопоток на трансивер и после этого принять ответный поток, передав его на линейный вход компьютера.
Push-To-Talk
Проблемой остается еще и то, что надо как-то эмулировать нажатие тангенты (PTT). Чаще всего для этого используется отдельный кабель COM или USB2COM, который передает соответствующий сигнал по CAT-протоколу. Однако если трансивер не поддерживает переход в режим передачи с помощью CAT, приходится задействовать отдельные управляющие линии порта RS-232. Для этой цели в основном применяются DTR (Data Terminal Ready) и RTS (Request To Send).
Если на выходе USB2COM-адаптера выставлять эти линии в HIGH/LOW, то на пинах появится +5V или 0V соответственно. А это значит, что, подключив такие линии к гнезду тангенты, можно добиться ее «аппаратного» нажатия. Забавно, но на практике я столкнулся с весьма интересным глюком при использовании такого способа.
Когда я впервые настраивал работу своего Icom IC-706MKIIG для пакетных видов связи, то как раз использовал аудиоинтерфейс MFJ-1279M. В приложении WSJTX выставил активацию PTT через DTR/RTS. При выходе на передачу столкнулся с тем, что на каких-то диапазонах это виртуальное нажатие на PTT как бы «залипало» и трансивер продолжал передавать даже за пределами выделенного временного «окна» FT8.
Ответ был прост — наводки. Для решения пришлось навесить ферритовые бочонки на USB2COM-кабели и сделать воздушный высокочастотный дроссель (RF-choke) для снижения синфазных токов на внешней оплетке фидерного кабеля. После этого «залипания» PTT ушли.
APRS iGate
APRS чаще всего применяется на VHF-диапазоне, а это значит, что в качестве передатчика подходят любые портативные станции, вроде народного Quansheng UV-K6. Проблема в том, что роль TNC должен исполнять какой-либо внешний компьютер. Многие радиолюбители решили этот вопрос с помощью смартфона и специального кабеля APRS-K1. Но что делать, если хочется поднять свой диджипитер? Вот тут как раз пригодится DigiPi.
DigiPi способен не только работать в качестве простого TNC для VHF- и HF-радиостанций. Он умеет функционировать в роли iGate во всемирной радиолюбительской сети APRS-IS, которая объединяет подобные репитеры и позволяет им передавать данные в глобальном масштабе.
Так, на МКС есть любительская радиостанция Kenwood TM-D710GA, оборудованная встроенным AX.25 TNC, которая работает в режиме диджипитера с позывным RS0ISS-4. Если в момент пролета МКС над головой отправить APRS-пакет, в поле пути которого указано что-то вроде:
RS0ISS-4,WIDE2-1
то диджипитер ретранслирует его обратно, где он будет принят одной из тысяч наземных станций. Если она подключена к APRS-IS, пакет попадет в глобальную сеть.
APRS WebChat
Еще одна интересная фича DigiPi относительно работы с APRS, — имплементация веб-сервиса aprs.chat. Он представляет собой своеобразный центр всех APRS-IS сообщений для конкретного позывного. Дело в том, что у APRS-пакетов нет механизма подтверждения доставки на уровне протокола. Если путь закончился и ни один адрес не сработал, пакет просто исчезает.
APRS Chat играет роль почтового ящика, компенсируя тем самым отсутствие постоянного канала связи. Стоит помнить, что работает это лишь в пределах APRS-IS. Вместо того чтобы заходить в веб-интерфейс сервиса, роль клиента может играть скрипт, встроенный в DigiPi:

Так вы никогда не пропустите сообщение, которое проходило через APRS-IS и может служить альтернативным способом связи, когда привычные мессенджеры недоступны.
AX.25 Node Network
Эта опция в DigiPi не что иное, как возможность построения «радиоинтернета» из 90-х, но без TCP/IP. Это расширение протокола, позволяющее строить многошаговые маршруты (сетевой уровень). AX.25 сам по себе канальный, то есть он может сделать ряд штатных действий вроде соединения, обмена фреймами данных и отключения. Проблема возникает, когда получателя нет в прямой видимости, а следовательно, нет понимания, куда маршрутизировать пакет дальше.
При включенной функции AX.25 Node Network одноплатник с DigiPi превращается не просто в цифровой модем, а в узел для пакетной радиосети. Каждый такой узел будет хранить таблицу «соседей» и может направлять трафик через них, формируя сеть, подобную ARPANET. Это делает возможным выстраивать цепочки соединений для достижения конечного узла.
Это очень любопытная технология, которая напоминает эпоху BBS (Bulletin Board System). Пользователи могут не только связаться с конкретным узлом, но и взаимодействовать с каким-либо сервисом вроде доски объявлений. Подобный «альтернативный интернет» может быть очень полезен, поскольку полностью независим от традиционных сетей связи.
Winlink Email
Электронная почта для многих давно уже кажется пережитком прошлого. Зачем она нужна в эпоху мессенджеров и глобального проникновения интернета? Но ни одна современная система связи не застрахована от отказов оборудования. Мобильная связь может быть прервана землетрясением, а спутниковая группировка Starlink хотя и редко подвержена сбоям, но все же такое случается.
Система Winlink была изначально разработана радиолюбителями, чтобы передавать обычную электронную почту по радиоканалу на HF- и VHF-диапазонах. При этом предусматривалась интеграция с традиционными службами. Winlink Email можно условно поделить на серверную и клиентскую часть.
Первая носит имя Winlink Email Server, однако многие ее называют RMS (Radio Message Server). Задачей узла с настроенным RMS является пересылка писем, отправленных по радиоканалу на обычные почтовые сервисы и наоборот. Все сообщения хранятся на распределенных серверах Winlink CMS (Common Message Servers), которые установлены по всему миру. Интересно, что каждый сервер CMS является зеркалом других CMS, это обеспечивает отказоустойчивость. Пока есть хотя бы один живой такой сервер, вся корреспонденция будет в целости и сохранности.
RMS же доступа ко всей почте не имеет, однако способен кешировать сообщения, помещая их в собственный буфер. Как только письмо передано CMS, оно удаляется из кеша RMS. В итоге каждый клиент может подключиться к любому RMS-серверу и получить свою почту. Ну а CMS играет роль «мозга» этой системы и с конечными пользователями не взаимодействует.
У сети Winlink есть официальный и альтернативный клиенты. Первый называется Winlink Express, работает только под Windows и имеет забавную особенность. Формально софт бесплатный и не требует оплаты. Однако приложение будет каждый раз вам напоминать о возможности внести добровольное пожертвование, которое пойдет на поддержание работы сети, оплату серверов Winlink CMS и так далее.
Если задонатить проекту $24, назойливые сообщения пропадают, а Winlink Express начинает нормально сохранять сделанные настройки. Получается такой добровольно-принудительный взнос. «А если не будут брать — отключим газ…»
Альтернативный клиент называется Pat Winlink Email Client, и именно он включен в состав DigiPi. Он легковесный, кросс-платформенный, написан на Go и имеет современный минималистичный веб-интерфейс:

Так что если вдруг остались без интернета, но у вас есть «малинка» с образом DigiPi и КВ-трансивер, вы точно сможете создать и отправить Email через Winlink. Правда, не без помощи следующего софта.
ARDOP Modem
Чтобы письмо успешно долетело до адресата в Winlink, вам, как ни странно, помимо клиентской части нужен отдельный TNC вроде SCS PACTOR Modem. Это довольно дорогая железка, работающая на проприетарном семействе протоколов PACTOR. Современный SCS P4dragon DR-7800 стоит примерно 2000 долларов и позволяет устанавливать соединение со скоростью 10 500 бод. Да-да, вы правильно поняли — 10,5 Кбит/с.

Альтернативой PACTOR может служить протокол VARA HF, о котором мы не так давно рассказывали на Хабре. Платная версия софт-модема этого протокола способна выжать 7–8 Кбит/с, ну а доступная для всех радиолюбителей бесплатная версия ограничена смешной скоростью в 175 бит/с. За $69 вы получаете почти то же самое, что и с железкой за $2000, — идеально для моряков, если под рукой нет терминала Starlink.
Но есть еще более простая и дешевая альтернатива — ARDOP (Amateur Radio Digital Open Protocol) Modem. Это тоже программный модем, но полностью открытый и документированный. Абсолютно все исходники выложены на GitHub, и это позволило интегрировать его во множество проектов, в том числе и в Pat Winlink Email Client.
Потолок скорости у ARDOP всего лишь 2 Кбит/с, но это с лихвой окупается бесплатностью и доступностью. Работает быстрее, чем VARA HF Modem для радиолюбителей, и при этом не зависит от закрытых протоколов. В рамках DigiPi включение режима ARDOP Modem означает поднятие локального демона на порту 8515, к которому можно подключить как Pat Winlink, так и любое другое приложение с поддержкой этого транспорта.
WSJTX FT8
Протокол FT8 прочно вошел в жизнь современных радиолюбителей, позволяя проводить связи с уровнем сигнала до -24 дБ относительно шумового фона в полосе 2,5 кГц. На практике это означает, что там, где корреспондента не слышно вообще, FT8 успешно декодирует символы из эфирного шума. Этот вид цифровой связи максимально заточен на работу в самых плохих условиях и поэтому стал очень популярен.
Разработкой FT8 и первого приложения WSJT занимался Джозеф Хотон Тейлор-младший (Joseph Hooton Taylor Jr., K1JT), американский астрофизик и лауреат Нобелевской премии по физике. Вместе со Стивом Франке (Steve J. Franke, K9AN), почетным профессором кафедры электротехники и вычислительной техники Университета Иллинойса, им удалось создать протокол на грани чистой математики и практики радиолюбительской связи.

Разработчик DigiPi сделал очень удобную, на мой взгляд, штуку. Он завернул приложение в сессию noVNC, что позволяет без проблем получить интерфейс программы прямо в браузере. Кстати, именно библиотека noVNC давно используется в Proxmox для получения доступа к консоли виртуальных машин и прекрасно себя зарекомендовала.
Так что если вы хотели удаленно управлять своим трансивером и проводить связи на FT8 — это готовое решение. Оно, может быть, не столь удобно, как JTDX, но вполне справляется со своими обязанностями.
SSTV
Довольно часто радиолюбители принимают и декодируют SSTV (Slow-Scan TeleVision) изображения, передаваемые с МКС или спутников вроде УМКА-1. Но этот протокол успешно применяется и на коротких волнах. Если вы захотите не только принять, но и сами отправить какую-либо картинку в эфир, в DigiPi встроено приложение QSSTV:

Доступ здесь реализован точно так же, прямо из браузера. Единственный момент — изображения вначале придется передать на «малинку», например, через SFTP.
FLDigi
Еще один софт-модем, поддерживающий огромное количество протоколов, таких как CW (Азбука Морзе), PSK31, MFSK, RTTY, Olivia и более десятка других. Это одно из наиболее универсальных приложений, которое заменяет собой множество аппаратных модемов из разных эпох. Написано оно на C/C++ и использует графический интерфейс FLTK:

Многим оно может показаться устаревшим, но поверьте на слово — это вовсе не так. Несмотря на архаичный вид интерфейса, FLDigi один из лучших софт-модемов на этой планете, который позволяет работать с десятками видов связей, включая разную экзотику вроде Hell 80 (конкурент RTTY из 1970 года).
JS8Call
Представьте себе FT8 «на стероидах». Если последний был заточен на автоматический обмен данными в строго отведенные временные «окна», то JS8Call больше рассчитан на свободное общение между корреспондентами. В нем есть все те же «плюшки» в виде способности принимать сигналы даже на уровне -24 дБ, но при этом можно отвечать когда угодно, а не строго через 15 секунд.
Более того, есть возможность пересылки сообщений другим станциям. Даже если пользователя нет в эфире, можно оставить для него послание, а ближайшая станция передаст его позже. В общем, настоящий цифровой чат, работающий без интернета и на огромных расстояниях:

Работает это как тот же самый FT8, поверх которого строится структура сообщений. Это позволяет не только посылать короткие фразы или команды, но и выстраивать цепочки ретрансляции. Прекрасное поле для экспериментов и DX.
Как скачать DigiPi
Если честно, одной публикации даже близко не хватит описать все возможности DigiPi — штука интересная и определенно заслуживающая внимания. Но есть одна «ложка дегтя», которая может вам помешать. DigiPi нельзя скачать без активного спонсорства на Patreon. Здесь автор гуляет на очень тонкой грани между open source и коммерческим приложением.
Все используемые скрипты и конфигурационные файлы в DigiPi открыты и доступны в репозитории проекта на GitHub. Вы без проблем найдете там все для крафта собственного образа DigiPi. Но «рецепта» сборки автор не дает, оставляя это на исследование пользователя. Позволю отметить, что ChatGPT создает вполне рабочий скрипт для имплементации всего этого добра в стандартный Raspbian, однако все равно потребуется доработка напильником.
Если станете патроном проекта, вам выдадут логин и пароль для скачивания актуального образа. При этом автор особо отмечает, что разрешает распространять его среди друзей, но просит не выкладывать реквизиты для скачивания.
Я оформил такую подписку на оригинальный образ DigiPi за $1 в месяц только потому, что активно пользуюсь этой штукой и хочу получать обновления. В целом ничего мне не мешает отменить подписку в любой момент и остаться на той версии образа, которая у меня есть. Более того, образ я спокойно могу распространять среди своих друзей по радиоклубу или скормить ChatGPT для составления собственного скрипта сборки.
Вот такой неоднозначный проект, который привлекает универсальностью и удобством, но может оттолкнуть необходимостью спонсирования автора для получения готовых образов.
А вы используете DigiPi? Поделитесь своим опытом в комментариях.
Комментарии (18)

sim2q
07.10.2025 15:08WSJTX FT8 мощь!
Когда на "верёвку" в центре города посыпались все континенты (ну кроме совсем дальнего) случилось
"нечего больше достигать"немного охлаждение.
А теперь с JS8Call интересно - может и с не запрещёнными до 10 мВт на КВ (не ошибаюсь?) есть шанс сработать ?
Rub_paul
07.10.2025 15:08С 10 мВт (QRPp) на JS8Call - вполне реально, этот режим по чувствительности не уступает FT8 (-24 дБ), главное хорошая резонансная антенна и удачное прохождение. Люди на 10 мВт трансатлантические связи проводят

Strijar
07.10.2025 15:08Ну если в "веревку" вливать 100Вт, то конечно. А вы попрорбуйте взять QRP трансивер, походную антенну и /P в FT8 (; Тут и поймете что есть чего достигать.

UA6ATG
07.10.2025 15:08Удивительно , я сам сейчас пишу статью про digi pi для своего блога . Правда так грамотно мне не написать , а моя заметка сделана больше с уклоном на программу deriwolf на основе которой и сделан digi pi. Поэтому ещё хочется уточнить: digi pi ещё во многом облегчает работу с deriwolf ( просмотр эфира , доступ к настройкам , администрирование сервера на котором он расположен) лично у меня все работает в качестве диджепитера aprs. От веб чата я в восторге , но благодаря Вам узнал о существование его веб аналога . Век живи , век учись . Остальное не так впечатлило . Winlink c его ardop как то все криво . С windows все работает без проблем , особенно vara . Ardop как я понял не особо популярен . Ft8 и sstv работают , но честно говоря неудобно . В js8call ещё не разобрался , ничего сказать не могу . Большое спасибо за полезную статью!

ahdenchik
07.10.2025 15:08Уже сделали устройство, которое само (без компьютера, USB-шнурков и т.п.) на КВ в дежурном режиме примет адресованное владельцу сообщение и позволит отправить ответ? Просто как резервный канал связи на случай ЧП

Arcanum7
07.10.2025 15:08Телеграмм/IRC боты, умные телефонные автоответчики, факс в конце концов, не? Логика та же.

Moog_Prodigy
07.10.2025 15:08Не, это централизованное, до сервера можно и не достучаться а до клиента возможно. Меш сети. Но и я про такую реализацию не знаю.

Strijar
07.10.2025 15:08Сейчас у меня в разработке RNS-Gate, это автономный шлюз для работы с Reticulum на КВ/УКВ/Lora. (очень бюджетно потому, что на базе OrangePi Zero) Reticulum универсальный меш протокол, поверх него есть передача сообщений и голоса/файлов. Следующим шагом будет портирование этого шлюза на собственный КВ/УКВ трансивер TRX "Brass".

Rub_paul
07.10.2025 15:08Крутой обзор. DigiPi прям классика того, как один чел может для комьюнити больше сделать, чем все вендоры вместе. Взял кучу разных опенсорсных тулзов, накинул к ним удобную “обвязку” и запаковал в готовый образ для raspberry pi. Не какая-то там космическая наука, но именно такие штуки превращают кучу утилит в нормальный рабочий продукт

Strijar
07.10.2025 15:08Это же програмное решение? Аппаратная часть не освещена. Разные трансиверы же по разному подключаются. Кому то достаточного одного USB, а кого-то аналоговый audio и отдельный CAT по serial порту.
BSOZ
Где можно достать корпус в размерах как на первом изображении с дюймовой высотой и стандартной рэковой глубиной?
arrggh
выпотрошить отслуживший своё старый сетевой коммутатор, например. альзо, стандартной глубины не существует. есть шкафы глубиной и 400, и 600, например.
статья очень хороша, хабр - торт!
nitro80
Попробуйте на алике поискать по diy case, много разных размеров выдаёт
BSOZ
Цена доставки корпусов в таких размерах кратно превышает цену самого корпуса. Получается как-то нерационально, не смотря даже на невысокую суммарную стоимость.
nitro80
https://aliexpress.ru/item/1005004361207353.html - в пределах 530 рублей с доставкой на Камчатку.
Приемлемо вроде
BSOZ
Так в статье больше гораздо корпус. Небольшие корпуса доставляют за приемлемые деньги, большие кратно дороже получается.