FRN-по сути сеть voip заточенная под работу с симплексными
радиостанциями.
Есть набор серверов, на серверах есть "комнаты" к которым
подключаются компьютеры-клиенты с подлключенными к ним рациями
(линки) или же только микрофонами и колонками, с которых можно
разговаривать без рации. Ну или андроид смартфоны с гарнитурами.
Когда одна из раций принимает сигнал (или пользователь компьютера
без радио жмет на ptt) этот звук сразу транслируется на остальные
компьютеры которые в это время лишаются возможности передавать, и
дальше звук транслируется со всех раций подключенных к остальным
компьютерам, ну или из динамиков подключенных к ним.
Прелесть FRN в том что клиенты не обязаны иметь белый статический
ip, клиент сети можно просто перенести в другое место? подключить
кабелем к роутеру с DHCP (или WIFI) и он продолжит работать без
каких либо настроек.
Сначала надо зарегистрироваться на сервере, воспользовавшись win
приложением, после установки заполнить информацию о позывном, имени,
примерном положении линка и запросить по электронной почте пароль.
Ну и поболтать в сети можно прямо с этого приложения после
регистрации
Для подключения рации нужен кабель который можно изготовить из
огрызка гарнитуры для baofeng, пары конденсаторов и проводков с
коннекторами dupont (ну теми которые надеваются на контактные
штырьки), включив VOX на раци можно обойтись без настройки gpio
контакта для PTT.
Нужно подготовить рацию, выбрать канал на котором будет работать
линк, включить на ней VOX с минимальным порогом, и настроить
открытие шумоподавителя по тону CTSS (ISM диапазон загажен разными
системами и если не закрывать прием на тон то все хлопки шумодава
будут транслироваться в FRN комнату).
Скачиваем архив alterfrn, распаковываем, переименовываем папку и
исполняемый файл покороче чтобы удобнее было запускать из консоли.
У исполняемого файла выставляем разрешение на исполнение.
Я использовал относительно редкий одноплатник polar bear pbsbc01h3 с
debian на борту.
Его распиновка планки дополнительных интерфейсов, кабель от рации
подключается к контакту MICIN и к одному из LINEOUT
Пароль root в его linux дистрибутиве pbsbc01h3
Заходим в настройки sudo pbsbc01h3-config>system>hardware
Включаем аналоговый вход
Перезагружаем
Удаляем sudo apt purge pulseaudio (попытки регулировать громкость из
виджета пульсаудио приводят к блокировке звука для FRN клиента)
Переходим в папку в которую скопировали файлы клиента (я
переименовал исполняемый файл в FRN)
Открываем текстовым редактором файл frnconsole.cfg.unix
Запускаем в папке терминал, выполняем там ./FRN audioconfig
Из вывода команды копируем в
секцию [Audio] frnconsole.cfg.unix строки соответствующие
выбранной звуковой карте
У меня например это
[Audio]
InDevice=ALSA:H3 Audio Codec: CDC PCM Codec-0
(hw:0,0)
InSampleRate=44100
InQuality=S
InFactor=1
InPreCapturedTime=1000
InAgcEnabled=no
InAgcLevel=90
InAgcMaxGain=20
InHpfEnabled=no
InHpfOrder=10
InDtmfEnabled=no
OutDevice=ALSA:H3 Audio Codec: CDC PCM Codec-0
(hw:0,0)
OutSampleRate=44100
OutQuality=S
OutFactor=1
OutAgcEnabled=no
OutAgcLevel=90
OutAgcMaxGain=40
OutHpfEnabled=no
OutHpfOrder=10
OutDelayConst=
ReInitAudioEngine=no
Запускаем alsamixer, f4, выбираем стрелками mic1, включаем клавишей
пробел mic1, регулируем там усиление
Для проверки уровней звука присутствующих при закрытом и открытом
шумодаве рации выполняем бинарник FRN с ключом audiolevel
./FRN audiolevel
По числам которые бегут слева можно ориентироваться при настройке
порога сигнала COS (начало передачи с рации на сервер), значение
должно быть выше чем числа которые присутствуют при закрытом
шумодаве.
Он настраивается в секции [Radio]
#### VOX
COS=VOX:130
Секция Auth отвечает за аутентификацию в сети, тут указываются
данные пользователя? которые были указаны при регистрации, и пароль.
[Auth]
#В этой части вводятся те данные которые вы вводили для регистрации
и запроса пароля
Callsign=Yourcallsign
OperatorName=Yourname
EMailAddress=your@gmail.ru
City=Yourcity
CityPart=район
# Password
# RU: Пароль, полученный от FRNSysMan по e-почте в процессе
регистрации (команда register),
# или PaSsWorD, если без регистрации. Пароль
не должен быть пустым в любом случае.
# EN: The password, received from FRNSysMan by e-mail during
registration (command register),
# or PaSsWorD if no registration. The
password can not be empty in any case.
Password=пароль вводить тут
Country=Russian Federation
Description=FRNclient: alterfrn.ucoz.ru
BandChannel=446006 #88.5
ClientType=GATEWAY
# CharsetName
# RU: Обазятельно для UNIX/Linux, необязательно для Windows
# Имя ANSI кодировки FRN это печальное
"наследие" оригинального FRN: только MSWindows, только ANSI.
# Корректной ANSI кодировкой для FRN
является текущая ANSI кодировка для вашего языка на Microsoft
Windows.
# Выяснить текущую ANSI кодировку поможет
команда "ansi" для консольного AlterFRN клиента для Windows
# Просто запустите на MS Windows команду
"C:\FRN\FRNClientConsole.Win32.exe ansi"
# Для Германии: ISO-8859-1
# Для России: WINDOWS-1251
# EN: Mandatory for UNIX/Linux, optional for Windows
# Name of ANSI charset for FRN is very sad
"heritage" of the original FRN: only MSWindows, only ANSI.
# Correct FRN ANSI charset is default ANSI
charset on MS Windows for your language.
# Command "ansi" for console AlterFRN client
for Windows will show it for you.
# Just run on command console of your
MSWindows with your language: "C:\FRN\FRNClientConsole.Win32.exe
ansi"
# For Germany: ISO-8859-1
# For Russia: WINDOWS-1251
ISO-8859-2
CharsetName=ISO-8859-1
Секция [Server] отвечает за настройки подключения (выбор сервера
сети, комнаты на сервере, видимости статуса и настроек
переподключения)
[Server]
ServerReconnectCount=3
ServerReconnectInterval=3000
# Адрес FRN-сервера, к которому есть желание подключиться
# FRN-server address you wish connect to
ServerAddress=01.lpd-net.ru
ServerPort=10024
VisibleStatus=AV
#Network это комната на сервере
#Разговоры на lpd-net происходят тут
Network=Россия
#Для тестов громкости и работы vox можно использовать тестовую
комнату с попугаем-репитером закомментив комнату выше и раскомментив
ниже
#Network=Test
В конфиге еще много пунктов, он хорошо описан на странице проекта
https://alterfrn.ucoz.ru/index/manual_russian/0-5, мой рабочий
конфиг (разумеется без данных регистрации и пароля) можете
посмотреть тут
У меня приложение не запустилось просто так, только с ключом DEBUG
sudo ./FRN debug
После запуска в консоль будет выводиться информация о ходе
подключения, а затем о приеме/передаче сигнала если она будет
происходить.
Для настройки автозапуска скопируйте папку FRN в /opt
Создайте файл сервиса
sudo nano /lib/systemd/system/FRN.service
В него скопируйте
[Unit]
Description=FreeRadioNetwork
After=network.target sound.target
[Service]
ExecStart=/opt/FRN/FRN debug
TimeoutSec=30
Restart=on-failure
RestartSec=30
StartLimitInterval=350
StartLimitBurst=10
[Install]
WantedBy=multi-user.target
сохранение файла ctrl+o
выход из редактора ctrl+x
Теперь FRN сервисом можно просто управлять
sudo systemctl status FRN - состояние службы
sudo
systemctl restart FRN - перезапуск
sudo
systemctl start FRN - ручной старт
sudo
systemctl stop FRN - ручная
остановка
Для автоматического запуска после загрузки системы
sudo
systemctl enable FRN
Для отключения автозапуска
sudo
systemctl disable FRN
Фото узла (пока не напечатан корпус для миникомпьютера и рации
bf-t17)