Ой, логотип кудато делся

Cобираем линк из исходников

Cобираем линк из исходников
DV
00:58, 16 декабрь 2023
178
0

Jonathan Naylor (g4klx) разработал замечательные программы для развития цифровых радиолюбительских сетей! Собрав MMDVM из исходников, вы получаете самый свежий (авторский) софт для вашего линка (репитера), который можно добавить к уже работающей системе.

Состав программ зависит от того, что в хотите получить. Подключение плат mmdvm_hs, mmdvm_pog, dv-mega, arduino+шилд и некоторых других, не имеют отличий в конфигурации.

Рассмотрим по порядку все необходимые шаги на примере микрокомпьютера Raspberry_Pi 3, с образом Raspberry Pi OS Lite на SD-карте 4Gb.


Блок-схема линка (который мы соберём и настроим), будет выглядеть так:


MMDVMHost запущен постоянно,
MMDVMCal нужен только для калибровки уровня девиации передатчика в режиме DMR.

Собираем MMDVMHost

Обновим Raspberry_Pi до актуальной версии и установим необходимые программы:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install -y git nano build-essential cmake automake libsamplerate-dev

Соберём исполняемый файл из исходного кода:

sudo chmod ugo+w /opt/
cd /opt/
git clone https://github.com/g4klx/MMDVMHost.git
cd MMDVMHost
make

Смотрите внимательно, чтобы не было ошибок при компиляции! Если ошибки есть, добавляем недостающие библиотеки на которые ссылается компилятор.

Для запуска DMR линка, нужно подключить к плату с радиостанцией и отредактировать единственный конфигурационный файл:

nano MMDVM.ini

Делаем следующие настройки в файле MMDVM.ini, для запуска DMR симплексного линка (обратите внимание что здесь указаны только те строки которые нужно редактировать!):

[General]
Callsign=G9BF        <-- ваш позывной
Id=123456        <-- ваш DMR_ID + SSID
Timeout=180
Duplex=1        <-- ставим 0 для линка
.......
Daemon=0        <-- после настройки ставим 1

[Info]
RXFrequency=438080000    <-- частота линка
TXFrequency=438080000    <-- частота линка
Power=5            <-- мощность передатчика
Latitude=0.0        <-- координаты
Longitude=0.0        <-- координаты
Height=0        <-- высота антенны
.......

[Modem]
Port=/dev/ttyUSB0    <-- порт к которому подключена плата
.......
TXInvert=0        <-- зависит от конкретной радиостанции
RXInvert=0        <-- зависит от конкретной радиостанции
PTTInvert=0
TXDelay=100
RXOffset=-200        <-- корректировка ошибки частоты
TXOffset=-200        <-- корректировка ошибки частоты
.......
RXLevel=100        <-- всегда ставим 100
TXLevel=50
.......

[D-Star]
Enable=0        <-- отключаем (ставим 0)
.......

[DMR]
Enable=1        <-- включаем
.......

[System Fusion]
Enable=0        <-- отключаем
.......

[P25]
Enable=0        <-- отключаем
.......

[NXDN]
Enable=0        <-- отключаем
.......

[POCSAG]
Enable=0        <-- отключаем
.......

[FM]
Enable=0        <-- отключаем
.......

[D-Star Network]
Enable=0        <-- отключаем
.......

[DMR Network]
Enable=1        <-- включаем
Type=Gateway        <-- меняем на Direct (строки Local... коментируем)
RemoteAddress=127.0.0.1    <-- bm сервер
.......
Password=p@ssw0r4      <-- ваш пароль для доступа к серверу
.......

[System Fusion Network]
Enable=0        <-- отключаем
.......

[P25 Network]
Enable=0        <-- отключаем
.......

[NXDN Network]
Enable=0        <-- отключаем
.......

[POCSAG Network]
Enable=0        <-- отключаем
.......

Если плата mmdvm подключается не к usb-порту, а к встроенному uart, нужно его включить и отключить консоль через этот порт, стандартным способом, утилитой raspi-config.

Для запуска mmdvmhost набираем в командной строке и смотрим на ошибки в консоли. После настройки, ставим Daemon=1

./MMDVMHost MMDVM.ini
(ctrl+c для выхода)

Для полноценной работы MMDVMHost, требуется обновлять файл DMRIds.dat с базой позывных.

cd /opt/MMDVMHost
wget -O DMRIds.dat http://kavkaz.qrz.ru/DMRIds.dat

Файл RSSI.dat позволяет передавать на BrandMeister данные об уровне принимаемого из эфира сигнала. Готовые примеры находятся в папке RSSI. Его настройка желательна, но не обязательна.

Автозапуск MMDVMHost

После настройки и калибровки, сделаем автозапуск. В файле MMDVM.ini устанавливаем Daemon=0. Есть несколько способов сделать автозапуск программы, рассмотрим через файл rc.local. Открываем этот файл:

sudo nano /etc/rc.local

Вставляем следующие команды, перед строчкой exit:

sleep 20
cd /opt/MMDVMHost
./MMDVMHost MMDVM.ini

Сохраняем и перезагружаем Raspberry_Pi командой sudo reboot

Собираем MMDVMCal

Чтобы была возможность откалибровать уровень девиации (а в DMR это особенно важно) нужно установить утилиту MMDVMCal. Делаем это так:

cd /opt/
git clone https://github.com/g4klx/MMDVMCal.git
cd MMDVMCal
make

Важно правильно определить, на каком порту находится ваша MMDVM плата. Для этого набираем команду ниже и смотрим какие порты чем заняты. Обычно, USB-платы занимают порты ttyACM0 или ttyUSB0, а GPIO-платы могут использовать ttyAMA0 и тд.

dmesg | grep tty

Перед запуском калибровки нужно остановить MMDVM линк, а затем выполнить команду ниже, где ttyUSB0 это порт к которому подключена плата MMDVM_POG или другая.

sudo killall MMDVMHost
./MMDVMCal 115200 /dev/ttyUSB0

Для настройки девиации передатчика, после запуска MMDVMCal, нажимаем D, и пробел для включения передачи. Крутим подстроечный резистор на плате, и смотрим на сервис-монитор, до получения девиации 2749Гц. Для DMR радиостанций, это критичный параметр!

Добавляем DMRGateway

Для расширения возможностей MMDVMHost, к нему можно добавить DMRGateway, который позволит вашей DMR радиостанции находиться в разных сетях одновременно.

Это полезная возможность, которая подробно описана в статье 'DMRGateway это просто'. Так вы получите максимальный DMR функционал.

Обновляем исходники

Разработка и совершенствование MMDVM идёт постоянно, добавляются новые возможности, исправляются ошибки и тд. Чтобы поддерживать ваш линк в актуальном состоянии, нужно периодически обновлять исходные коды. Для этого выполним следующие команды:

cd /opt/MMDVMHost
git pull
make

Перед обновлением, нужно сделать резервную копию файла MMDVM.ini

P.S.

Описанную сборку можно расширить и для других видов радиолюбительской цифровой связи (YSF, D-Star). В этой статье мы не затрагиваем вопросы с выбором и подключением радиостанции, а также с особенностями конструктива и соединения mmdvm плат.

Ctrl
Enter
Заметили ошЫбку
Выделите текст и нажмите Ctrl+Enter
Комментарии (0)
Топ из этой категории
Убираем пароль чтения-записи прошивки AnyTone D878UVII PLUS Убираем пароль чтения-записи прошивки AnyTone D878UVII PLUS
Решил я поиграть в DMR+mmdvm и заказать себе 878. Нашел перед сном объявление на ОЛХ с самой низкой ценой, но с...
27.05.24
186
0
Кодекс радиолюбителя! Как избежать конфликтов? Кодекс радиолюбителя! Как избежать конфликтов?
Большинство радиолюбителей, читающих это Руководство, и тех, кто мечтает стать радиолюбителями, вероятнее всего,...
05.05.24
167
0