Ставим FRN клиент на Raspberry PI
Единственный клиент, который я опишу, это классический AlterFRN, который можно скачать аналогично серверу с http://alterfrn.ucoz.ru/
Если кто-то хочет иметь графический клиент, ему следует использовать JavaFRN от freeradionetwork.de на основе среды JAVA. Лично я не хочу иметь JAVA на RaspberryPi, поэтому остановлюсь на том, что проверено и стабильно работает годами.
Как и в случае с сервером FRN, выдаваемые команды заключаются в загрузке и размещении клиента в папке с именем FRN и присвоении загрузочному файлу имени FRN, чтобы упростить и ускорить ввод команд.
sudo -s
cd /opt/
wget https://odradio.link/FRNServerConsole.Linux-armhf.7348r.tgz
tar -zxvf FRNClientConsole.Linux-armhf.7094r.tgz
rm FRNClientConsole.Linux-armhf.7094r.tgz
mv FRNClientConsole.Linux-armhf.7094r FRN
cd FRN
mv FRNClientConsole.Linux-armhf.r7094 FRN
Благодаря этому мы имеем содержимое каталога
root@raspberrypi:/opt/FRN# ls
connsounds.cfg connsounds_ru FRN frnconsole.cfg.unix hours informer sounds
Нас больше всего интересует файл frnconsole.cfg.unix, который мы редактируем командой
nano /opt/FRN/frnconsole.cfg.unix
Прежде чем мы приступим к настройке, сначала рассмотрим команду, которая позволит нам определить, какие звуковые карты установлены в нашем RaspberryPi.
/opt/FRN/./FRN audioconfig
И результатом этой команды является вот это сообщение на терминале
Выбираем интересующую нас карту, в данном случае USB-карту, и копируем всю запись, как отмечено на фото.
Теперь редактируем файл конфигурации
nano /opt/FRN/frnconsole.cfg.unix
И вставляем скопированный фрагмент в раздел AUDIO как InDevice, так и OutDevice
################################################################################
# http://alterfrn.ucoz.ru/index/section_2_audio/0-12
[Audio]
#InDevice=ALSA:H3 Audio Codec: CDC PCM Codec-0 (hw:0,0)
InDevice=ALSA:C-Media USB Headphone Set: USB Audio (hw:2,0)
InSampleRate=44100
InQuality=S
InFactor=1
InPreCapturedTime=100
InAgcEnabled=no
InAgcLevel=90
InAgcMaxGain=20
InHpfEnabled=no
InHpfOrder=10
InDtmfEnabled=no
#OutDevice=ALSA:H3 Audio Codec: CDC PCM Codec-0 (hw:0,0)
OutDevice=ALSA:C-Media USB Headphone Set: USB Audio (hw:2,0)
OutSampleRate=44100
OutQuality=S
OutFactor=1
OutAgcEnabled=no
OutAgcLevel=90
OutAgcMaxGain=40
OutHpfEnabled=no
OutHpfOrder=10
OutDelayConst=
Теперь можно переходить к дальнейшей настройке наиболее важных опций. Файл разделен на разделы
[Auth] - Наши данные подключения к серверу - логин, пароль, символ, имя и т.д.
[Аудио] - Настройки звуковой карты
[Радио] - настройки радиоуправления - порты PTT,COS
[Менеджер] - Настройки SysManager - По неизвестным причинам по умолчанию теперь используется АЛЬТЕРНАТИВНЫЙ freeradionetwork.de вместо официального freeradionetwork.eu (предлагаю изменить его), поскольку у вас возникнут проблемы с подключением к серверу, поддерживающему SysManager EU. И на большинстве серверов уже есть EU, а на некоторых еще и DE.
[Сервер] - данные подключения к серверу - адрес, порт, название канала
[Интернет] - в основном настройки ПРОКСИ, если кто-то им пользуется
[Сообщение] - Автоответ, если кто-то пишет сообщение на ваш шлюз
[Система] - Информация, что и где сохранять в виде LOG-файла.
[Звуки] - Настройки звуков/аудио сообщений, которые должен передавать ваш шлюз.
[Часы] - Часы - звуковое оповещение о времени
[Информер] - временное воспроизведение аудиофайлов с сообщением, например здравствуйте, шлюз здесь...
[Рекордер] — регистратор вызовов — записывает всю активность шлюза в виде аудиофайлов.
Описания что и как настраивать можно найти в интернете и даже когда-то был здесь https://youtu.be/NaidRR6NuNQ
Однако в резюме я вставляю пример файла, на основе которого вы можете дополнить свой собственный файл конфигурации, заменив данные.
[Auth]
Callsign=UR0FYG
OperatorName=Uri
EMailAddress=mail@gmail.com
City=Odessa
CityPart=Odessa
Password=aabbccdd
Country=Ukraine
Description=ORLink
BandChannel=439.4 | -7.6 | 179.9
ClientType=GATEWAY
CharsetName=WINDOWS-1251
[Audio]
InDevice=ALSA:USB Audio Device: - (hw:1,0)
InSampleRate=44100
InQuality=S
InFactor=1
InPreCapturedTime=100
InAgcEnabled=no
InAgcLevel=90
InAgcMaxGain=20
InHpfEnabled=no
InHpfOrder=10
InDtmfEnabled=no
OutDevice=ALSA:USB Audio Device: - (hw:1,0)
OutSampleRate=44100
OutQuality=S
OutFactor=1
OutAgcEnabled=no
OutAgcLevel=90
OutAgcMaxGain=40
OutHpfEnabled=no
OutHpfOrder=10
OutDelayConst=
[Radio]
PttEnabled=yes
#### USB-COM for FreeBSD
#PTT=COM:/dev/cuaU0:RTS:
#COS=COM:/dev/cuaU0:RS:
##### RS232 for FreeBSD
#PTT=COM:/dev/cuau0:RTS:
#COS=COM:/dev/cuau0:RS:
##### USB-COM for Linux
#PTT=COM:/dev/ttyUSB0:RTS:
#COS=COM:/dev/ttyUSB0:CTS:
##### RS232 for Linux
#PTT=COM:/dev/ttyS0:RTS:
#COS=COM:/dev/ttyS0:CTS:
##### SYSFS-GPIO for Linux
PTT=GPIO:23:gpio23:N
COS=GPIO:7:gpio7:I
##### CM108-GPIO for FreeBSD/Linux
#PTT=CM108:/dev/hidraw0:GPIO3:N
#COS=CM108:/dev/hidraw0:VOLDN:I
#### VOX
#COS=VOX:500
LIGHT=
STATIC=
CTCSSWakeTime=0
CarrierCatchTime=100
CarrierLostTime=600
SquelchSettlingTime=
DtmfTimeout=15
DtmfCommands=
IdNoSoundListFileName=
[Manager]
ManagerAddress=sysman.freeradionetwork.eu
ManagerPort=10025
DynamicPasswordMode=YES
[Server]
ServerReconnectCount=3
ServerReconnectInterval=3000
ServerAddress=adres serwera
ServerPort=10024
VisibleStatus=AV
Network=ORLink
BackupServerMode=
ForcedBackupServerAddress=
ForcedBackupServerPort=
ForcedBackupServerNetwork=
RxTxHookScript=
InvalidStaticPasswordScript=
ProtoListFormat=NONE
ProtoSpeakerInfo=no
ProtoShortFrames=no
[Message]
PrivateAutoResponse=Welcome to the Odessa Radio Link
MessageHookScript=
[Sounds]
SoundsDir=
SoundCourtesy=
EnableCourtesy=no
SoundCourtesyEmptyNet=
EnableCourtesyEmptyNet=no
SoundRoger=
EnableRoger=no
SoundNoConnection=
EnableNoConnection=no
SoundReject=
EnableReject=no
SoundError=
EnableError=no
SoundRadioBOT=
EnableRadioBOT=no
EnableConnect=no
SoundConnect=
ConnectSoundCfgEnabled=no
ConnectSoundCfgFileName=
ConnectSoundExtEnabled=no
ConnectSoundExtScript=
ConnectSoundExtDir=
EnableServerBOT=no
SoundServerBOT=
EnableServerEOT=no
SoundServerEOT=
EnableDisconnect=no
SoundDisconnect=
[Hours]
Enabled=No
Dir=
Interval=60
Correction=0
Debug=no
ExtEnabled=No
ExtScript=
ExtDir=
ExtTempDir=
[Informer]
Enabled=No
Dir=
Interval=900
Mode=SEQ
SilenceEnabled=No
SilenceInterval=300
SilenceTime=2000
ExtEnabled=No
ExtScript=
ExtDir=
ExtTempDir=
[Recorder]
Enabled=No
Dir=./recorder
Direction=both
FileNameFormat=long
SubdirMode=y-m-d
Script=
Устанавливаем уровни АУДИО, введя команду
alsamixer
Команды F1-F6 позволяют выбрать карту и дополнительные опции.
Ручной запуск для проверки правильности конфигурации можно выполнить, введя команду
/opt/FRN/./FRN
Выполнение стартового файла
nano /lib/systemd/system/FRN.service
и вставить:
[Unit]
Description=FreeRadioNetwork
After=network.target sound.target
[Service]
ExecStart=/opt/FRN/FRN
TimeoutSec=30
Restart=on-failure
RestartSec=30
StartLimitInterval=350
StartLimitBurst=10
[Install]
WantedBy=multi-user.target
Теперь мы можем запустить клиент FRN, перезапустить его и выключить.
systemctl status FRN
systemctl restart FRN
systemctl start FRN
systemctl stop FRN
а также указать ему автоматически запускаться после запуска малины
systemctl enable FRN
systemctl disable FRN