Создать максимально простую цифровую YSF точку доступа можно на основе MMDVMHost, без применения дополнительных модулей.
Такая конфигурация поддерживает DG-ID коды (c pYSFReflector3), но не поддерживает Х-команды! Если конечное устройство (например рефлектор) поддерживает DG-ID или X-команды, то и на вашей радиостанции их можно использовать.
Блок-схема описанной конфигурации:
Для того чтобы подключиться к рефлектору (или другому сервису в стандарте YSF), достаточно MMDVMHost, другие модули (YSFGateway, DGIdGateway) не нужны. Поэтому конфигурация получается очень простой.
Итак, начнём сборку из свежих исходников, обновляем систему и устанавливаем необходимый софт:
sudo apt update && sudo apt upgrade -y sudo apt install mc git curl libsamplerate0-dev -y
Особенность моего примера в том, что все файлы будут находится в папке ~/test/... в домашней директории пользователя pi. Таким образом, удалив эту папку, мы удалим всё что было установлено и настроено.
Это удобно для экспериментов, но не рекомендуется для постоянного использования.
cd ~ && mkdir test && cd test git clone https://github.com/g4klx/MMDVMHost.git cd MMDVMHost make cd .. git clone https://github.com/g4klx/YSFClients.git cd YSFClients make
Теперь настроим то что установили. Открываем файл конфигурации и обращаем внимание на следующие строки:
mcedit ~/test/MMDVMHost/MMDVM.ini
[General] Callsign=ваш_позывной Id=ваш_dmr-id Duplex=0 .... Daemon=0 [Log] .... FilePath=/tmp FileRoot=MMDVM .... [CW Id] Enable=0 .... [Modem] Protocol=uart UARTPort=/dev/ttyUSB0 .... TXInvert=0 RXInvert=0 .... RXOffset=0 TXOffset=0 .... RXLevel=100 .... [Transparent Data] Enable=0 .... [D-Star] Enable=0 ....
[DMR] Enable=0 .... [System Fusion] Enable=1 .... [P25] Enable=0 .... [NXDN] Enable=0 .... [M17] Enable=0 .... [POCSAG] Enable=0 .... [FM] Enable=0 .... [AX.25] Enable=0 .... [D-Star Network] Enable=0 ....
[DMR Network] Enable=0 .... [System Fusion Network] Enable=1 #LocalAddress= #LocalPort= GatewayAddress=127.0.0.1 GatewayPort=4200 .... [P25 Network] Enable=0 .... [NXDN Network] Enable=0 .... [M17 Network] Enable=0 .... [POCSAG Network] Enable=0 .... [FM Network] Enable=0 .... [AX.25 Network] Enable=0 ....
Найти порт к которому подключен радиомодуль (в моём примере это DV-MEGA) можно командой
dmesg | grep tty
Возможно что в разделе [Modem] потребуется поменять и другие установки. Это зависит от конкретной платы MMDVM и радиостанции.
Проверим что связка "радиостанция + модем + mmdvm" работает правильно, для этого запускаем mmdvmhost и смотрим на ошибки:
cd ~ ./test/MMDVMHost/MMDVMHost test/MMDVMHost/MMDVM.ini
Нажимает передачу на YSF-радиостанции и видим в консоли бегущие строки, это значит что MMDVMHost + DV-MEGA настроенны правильно и осталось только подключиться к сервису. Пусть это будет попугай. Открываем (для наглядности) вторую консоль и вводим команду:
./test/YSFClients/YSFParrot/YSFParrot 4200
С помощью YSF-радиостанции проверяем, что попугай нас слышит и отвечает в эфире. В обоих консолях видим что происходит. Переводим MMDVMHost и YSFParrot в режим демона и добавляем в автозапуск ....
Если нужно сделать переключение между комнатами без YSFGateway/DGIdGateway, для этого есть pYSFReflector3 (многопотоковый рефлектор со встроенным DG-ID менеджером), который понимает DG-ID коды и позволяет менять комнаты в зависимости от кода, установленного в вашей радиостанции. Смотрите блок-схему в начале статьи.
Если вы подключили MMDVMHost к YSFParrot, то DG-ID и Х-команды поддерживаться не будут!
YSF - модульная радиосеть
Собираем hotspot с управлением X-командами
Собираем YSF hotspot с управлением DG-ID кодами
R7HJ