MMDVMHost для YSF

декабрь 2023

Создать цифровую YSF точку доступа (или линк) можно только на основе исходников MMDVMHost, без применения дополнительных модулей.

Такая конфигурация не поддерживает X-команды и DG-ID коды, это хорошо, когда нам нужно чтобы не было возможности из эфира перейти в другой рефлектор или сервис. Например, в случае автономного, многоканального ретранслятора и тд.

Блок-схема описанной конфигурации:

Для того чтобы подключиться к рефлектору или другому сервису в стандарте YSF, достаточно MMDVMHost, другие модули (YSFGateway, DGIdGateway) не нужны. Поэтому конфигурация получается очень простой.

Обновляем систему и устанавливаем необходимый софт:

sudo apt update && sudo apt upgrade -y
sudo apt install mc git curl libsamplerate-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
....
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" работает как нам нужно, для этого запускаем mmdvmhost командой и смотрим на ошибки:

cd ~
./test/MMDVMHost/MMDVMHost test/MMDVMHost/MMDVM.ini

Нажимает передачу на YSF-радиостанции и видим в консоли бегущие строки, это значит что MMDVMHost + DV-MEGA настроенны правильно и осталось только подключиться к сервису. Пусть это будет попугай. Открываем (для наглядности вторую консоль) и вводим команду:

./test/YSFClients/YSFParrot/YSFParrot 4200

В другой консоли запускаем MMDVMHost, командой:

./test/MMDVMHost/MMDVMHost test/MMDVMHost/MMDVM.ini

С помощью YSF-радиостанции проверяем, что попугай нас слышит и отвечает в эфире. В обоих консолях видим что происходит. Переводим MMDVMHost и YSFParrot в режим демона и добавляем их в автозапуск ....


 Cсылки

YSF - модульная радиосеть
Собираем hotspot с управлением X-командами
Собираем YSF hotspot с управлением DG-ID кодами

R7HJ