Наша цель, собрать точку доступа на базе MMDVMHost, работающую с радиостанциями Yaesu в цифровом режиме C4FM. Эта конфигурация понимает X-команды, имеет локальный попугай и показывает на aprs-карте где находится радиостанция пользователя. Подключаться наша точка доступа (hotspot) может к YSF-рефлекторам, XLX-серверам и другим аналогичным устройствам.
Для нормальной работы модулей требуются следующие файлы:
MMDVMHost:
MMDVMHost.ini - файл конфигурации
DMRIds.dat - база dmr_id
NXDN.csv - база nxdn_id
RSSI.dat - калиброванные данные уровней сигнала из эфире
YSFGateway/DGIdGateway:
YSFGateway.ini или DGIdGateway.ini - файл конфигурации
YSFHosts.json - база данных ysf рефлекторов
FCSRooms.txt - база данных fcs комнат
APRSGateway:
APRSGateway.ini - файл конфигурации
Каждый модуль должен иметь связь с MQTT-сервером, для передачи данных о своей работе. Cервер может быть как локальным так и удалённым. В старой версии, эту роль выполняли текстовые логи.
Начнём сборку из исходников. Обновим систему и установим необходимый софт:
sudo apt update && sudo apt upgrade -y sudo apt install mc git libmd-dev -y sudo apt install mosquitto mosquitto-clients -y sudo apt install libsamplerate0-dev libmosquitto-dev nlohmann-json3-dev -y
Собирать будем в домашней директории ~/test/ , затем скопируем конфиги в /etc/ , а бинарные файлы в /usr/local/bin/
cd ~ && mkdir test && cd test git clone https://github.com/g4klx/MMDVMHost.git cd MMDVMHost make
Смотрим на ошибки, а после окончания сборки, убедимся что появился исполняемый файл MMDVMHost, командой ls -l MM*
Копируем файлы на свои места
sudo cp MMDVMHost /usr/local/bin/ sudo cp MMDVMHost.ini /etc/ sudo mkdir /var/lib/mmdvm sudo cp DMRIds.dat NXDN.csv RSSI.dat /var/lib/mmdvm/
Проверим запустился ли mqtt-сервер (ps ax | grep mosq) он должен работать, потому что все остальные модули будут к нему подключаться!
Находим порт, к которому подключен радиомодуль или плата:
Открываем файл конфигурации (mcedit /etc/MMDVMHost.ini) и редактируем его.
Обращаем внимание на разделы [General], [Info], [Modem], [System Fusion], [System Fusion Network].
Все протоколы (кроме YSF) нужно отключить Enable=0.
Проверим что связка "радиостанция + плата + mmdvmhost" работает правильно, для этого запускаем mmdvmhost и смотрим на ошибки:
./MMDVMHost MMDVMHost.ini
Если ошибок нет, нажимает передачу на YSF-радиостанции и видим в консоли принимаемые данные, это значит что DV-MEGA + MMDVMHost настроенны правильно и нам осталось подключиться к любому сервису.
Подключиться мы можем напрямую (указав сервер в MMDVMHost.ini) или через YSFGateway. Прямое подключение к ysf-рефлектору kavkaz будет выглядеть так:
[System Fusion Network] Enable=1 #LocalAddress=127.0.0.1 #LocalPort=3200 GatewayAddress=kavkaz.qrz.ru GatewayPort=42000 # ModeHang=3 Debug=0
Проводим QSO или смотрим на дашборд, чтобы убедиться что нас слышно.
Эта конфигурация подключит вас к одному рефлектору, без возможности его смены. В случае с XLX и pYSFReflector3 вы сможете менять модули (с помощью DG-ID), но в пределах одного рефлектора.
На этом, минимальную настройку (точки доступа YSF/C4FM) можно считать законченной.
Этот набор включает в себя три модуля:
DGIdGateway - шлюз с поддержкой DG-ID кодов, из эфира.
YSFGateway - шлюз с поддержкой X-команды, из эфира.
YSFParrot - локальный попугай, который повторяет ваши сообщения.
cd ~/test/ git clone https://github.com/g4klx/YSFClients.git cd YSFClients make
Копируем YSFGateway, DGIdGateway, YSFParrot в /usr/local/bin/ а ini файлы в /etc/
Файл YSFHosts.json копируем в /var/lib/mmdvm/
Редактируем файлы YSFGateway.ini или DGIdGateway.ini.
Программам DGIdGateway и YSFGateway требуется файл YSFHosts.json, а не .txt как раньше!
Модуль YSFParrot в настройке не нуждается, его достаточно запустить с указание номера порта.
Для прямого подключения попугая к MMDVMHost, редактируем MMDVMHost.ini и запускаем локальный попугай так:
[System Fusion Network] Enable=1 LocalAddress=127.0.0.1 LocalPort=3200 GatewayAddress=127.0.0.1 GatewayPort=4200 # ModeHang=3 Debug=0
cd ~/test/YSFClients/YSFParrot ./YSFParrot 4200
Для подключения локального попугая к YSFGateway, нужно запустить его с номером порта 42012.
Чтобы ваша YSF точка доступа (и радиостанции которые через неё работают) отображались на aprs-карте, нужно добавить модуль APRSGateway. Подробности статье "Чем занимается APRSGateway?".
R7HJ