Создал(а) 'nastroika'

This commit is contained in:
ua1zbe 2022-08-11 15:21:13 +00:00
parent 24af8edcb6
commit ff3fa2cf6a
1 changed files with 575 additions and 0 deletions

575
nastroika Normal file
View File

@ -0,0 +1,575 @@
В этой статье, максимально просто (без лишних подробностей) описана настройка радиолюбительского голосового сервера.
Любая плата Raspberry_Pi, работает с SvxLink. Встроенная звуковая карта имеет только выход, поэтому нам требуется внешняя (CM-108).
Версия Дата Процессор Частота Ядер ОЗУ GPIO USB Ethernet WiFi Bluetooth
B 2012 ARM1176JZ-F 700 МГц 1 512 Мб 26 пинов 2 порта есть
B+ 2014 ARM1176JZ-F 700 МГц 1 512 Мб 40 пинов 4 порта есть
2B 2015 ARM Cortex-A7 900 МГц 4 1 Гб 40 пинов 4 порта есть
3B 2016 ARM Cortex-A53 x64 1,2 ГГц 4 1 Гб 40 пинов 4 порта есть 802.11n 4.1
3B+ 2018 ARM Cortex-A53 x64 1,4 ГГц 4 1 Гб 40 пинов 4 порта есть 802.11ac 4.2
4B 2019 Cortex-A72 (ARM v8) 1,5 ГГц 4 1-4 Гб 40 пинов 4 порта есть 802.11ac 5.0
Интерфейс
Плата сопряжения радиостанции с Raspberry_Pi очень простая, собирается на любой макетной плате размером 40x40мм. Детали не критичны. Ниже, фотография линка с радиостанцией Hytera MD-785G.
Для сборки интерфейса, нам понадобятся:
1. Raspberry_Pi + блок питания + SD-карта 4Гб.
2. USB звуковая карта СМ108
3. Транзистор КТ503, резисторы и конденсаторы любого типа
4. Радиостанция любая (на схеме подключение к Hytera MD-785G)
5. Блок питания 13В, 15А
6. Антенна, кабель, разьёмы
Есть два варианта интерфейса для радиостанции.
Для первого варианта подойдёт любая usb звуковая карта. Схему соединения с использованием gpio, вы видите на картинке. Всё детали размещаем в корпусе подходящего размера.
По умолчанию, svxlink будет нароен так, что управление PTT берётся с gpio9. Сигнал об открытии шумоподавителя (COS) поступает на gpio18 (можно изменить).
Второй вариант схемы (без использования gpio), в котором PTT и COS подключаются к контактам звуковой карты. Здесь можно использовать только звуковую карту на чипе CM108 (другие не будут работать).
Эта схема, также подойдёт для svxlink с несколькими интерфейсами. На схеме приведён пример подключения к радиостанции Yaesu FT-817, для работы в FM, на диапазонах 28/50/144/430 МГц.
Yaesu FT-817 нужно обязательно перевести в режим PKT, в меню 40 поставить 1200, в пункте меню 39 поставить значение 10-20 и отрегулировать шумоподавитель, нужно включить CTCSS/DSC.
Номиналы деталей интерфейса, не критичны.
Конфигурация звуковой карты CM-108 (в файле svxlink.conf) отличается от показанной ниже для gpio, поэтому смотрите часть файла svxlink.conf с нужными настройками (когда ptt/cos берутся из звуковой карты).
Оба интерфейса работают одинаково, хорошо с аналоговыми и цифровыми радиостанциями. Какой из них использовать, зависит от конструкции линка, ваших возможностей и предпочтений.
Если у вас есть звуковая карта со стерео входом (стерео выход есть у всех), SvxLink позволяет подключить левый и правый канал к отдельным радиостанциям и настроить два независимых радиоканала!
Фотография работающего линка с CM-108 интерфейсом.
В трансивере FT-817, нужно включить режим PKT, а в меню установить PKT RATE 1200 и PKT MIC 10.
VOX
При подключении к svxlink портативных радиостанций, сигнал COS отсутствует, в этом случае используем VOX. Конфигурация выглядит так:
[Rx1]
TYPE=Local
AUDIO_DEV=alsa:plughw:1
AUDIO_CHANNEL=0
SQL_DET=VOX
SQL_START_DELAY=100 (отсекает шлепок, после перехода на приём)
SQL_DELAY=10
SQL_HANGTIME=2000 (задержка закрытия шумодава в мсек, обычно не менее 1000)
.....
VOX_FILTER_DEPTH=20
VOX_THRESH=1000 (чувствительность VOX, ставить на минимум)
.....
SIGLEV_OPEN_THRESH=15 (детектор открытия vox, обычно менять не требуется)
SIGLEV_CLOSE_THRESH=4 (детектор закрытия vox, обычно менять не требуется)
Настройка сводится к подбору уровня срабатывания (по умолчанию стоит 1000, у меня получилось 300) и времени отпускания VOX, обычно около 1000-2000мсек. При правильной настройке, работает VOX хорошо, срабатывания чёткие. Задержка SQL_START_DELAY также важна, для портативных радиостанций может потребоваться её увеличение до 500мсек.
На картинке выше, интерфейс для любой портативной радиостанции. В качестве примера, приведена распайка для Baofeng UV-3R. Передачей управляет ключ на транзисторе, для определения приёма используем VOX.
Если на входе звуковой карты нет напряжения (для электретного микрофона), разделительный конденсатор можно не ставить.
CTCSS/DCS
Обязательно, закройте частоту линка CTCSS/DCS подтоном на радиостанции, чтобы случайные помехи не мешали работе других линков в сети.
Подтоном по умолчанию (для радиолюбительских линков) считается CTCSS 88.5 или DCS 073N. Подтоны DCS более надёжные, всегда предпочтительно их использование.
Порты
Если svxlink находится в домашней сети, за файрволом (роутером), возможно потребуется открыть наружу следующие порты:
UDP 5198 и 5199 - echolink звук
TCP 5200 - echolink управление
TCP 5300 - svxReflector
TCP/UDP 10024 - frn
TCP 14580 - aprs
Внимание!
Дальнейшая настройка и конфигурация Raspberry PI требует подключённого интернета, радиостанции и интерфейса звуковой картой.
SvxLink может подключаться к радиостанциям и управлять ими, несколькими способами:
- через звуковую карту,
- через сеть tcp/ip (к удалённой радиостанции),
- по радиоканалу (к удалённой радиостанции).
К одной плате Raspberry_Pi, можно подключить несколько звуковых карт и соответственно радиостанций, в любой из показанных комбинаций.
Пины для PTT/COS
Останавливаем сервисы svxlink и gpio командами
sudo systemctl stop svxlink
sudo systemctl stop svxlink_gpio_setup
Настраиваем пины для управления ptt и cos, для этого открываем файл конфигурации командой sudo nano /etc/svxlink/gpio.conf
GPIO_IN_HIGH="gpio18"
GPIO_OUT_HIGH="gpio9"
для сохранения изменений и выхода из редактора, жмём Ctrl+X и далее Y. В некоторых версиях linux, gpio.conf не работает корректно. Поэтому оставляем его пустым, а gpio определяем в /etc/rc.local дописав строки для PTT:
echo 9 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio9/direction
Теперь, открываем основной конфигурационный файл, командой sudo nano /etc/svxlink/svxlink.conf
Установки отвечающие за включение на радиостанции передачи:
[Tx1]
TYPE=Local
AUDIO_DEV=alsa:plughw:1
AUDIO_CHANNEL=0
.....
PTT_TYPE=GPIO
PTT_PIN=gpio9
.....
TIMEOUT=180
TX_DELAY=500
Установки отвечающие за приём сигнала из эфира:
[Rx1]
TYPE=Local
AUDIO_DEV=alsa:plughw:1
AUDIO_CHANNEL=0
.....
SQL_DET=GPIO
SQL_START_DELAY=10
SQL_DELAY=10
SQL_HANGTIME=500
.....
GPIO_SQL_PIN=gpio18
Для настройки уровней передачи и приёма, воспользуйтесь модулем эхо-репитера (команда 1#), должно быть чёткое срабатывание на сигналы разного уровня и громкости. Проверьте модули помощи (0#) и голосовой почты (3#). Выход из модуля #. Добейтесь устойчивой работы!
После настройки передатчика, настраиваем уровень входного сигнала из эфира. Для этого отключаем АРУ звуковой карты, переходим в режим эхо-репитера и прослушивая свой голос из эфира, настраиваем уровень регулятором на плате и в меню звуковой карты (Mic) как на картинке.
Важно, чтобы на Raspberry_Pi не было наводок от радиостанции, иначе возможны сбои в работе и зависания. Звук должен быть чистым, девиация не более 5кГц. После окончания настройки звука, приступаем к подключению модулей расширяющих возможности svxlink.
Внимание!
Без тщательной настройки звука и предыдущих пунктов, не следует идти дальше!
Автозапуск/Перезапуск
Остановить сервисы
sudo systemctl stop svxlink
sudo systemctl stop svxlink_gpio_setup
Запустить svxlink в консоли
sudo systemctl start svxlink_gpio_setup
sudo -u svxlink svxlink
для выхода из консоли нажимаем Ctrl+C
Запускаем сервисы. После перезагрузки svxlink запустится автоматически.
sudo systemctl start svxlink_gpio_setup
sudo systemctl start svxlink
Если вы делали изменения в конфигурационных файлах, нужно перезапустить svxlink командой
sudo systemctl restart svxlink
Когда svxlink работает в фоновом режиме, посмотреть что в нём происходит, можно командой
tail -f /var/log/svxlink
Конфигурация модулей
Не нужно подключать и настраивать все модули одновременно. Активируйте только те которые нужны. Добейтесь правильной работы каждого модуля, по отдельности.
Настройка FRN
Открываем редактор sudo nano /etc/svxlink/svxlink.d/ModuleFrn.conf и меняем строки, в которых указываем свои данные. В данном примере, вы подключитесь к реальному FRN-серверу.
[ModuleFrn]
.........
TIMEOUT=3600
.........
SERVER=kavkaz.qrz.ru
PORT=10024
.........
EMAIL_ADDRESS=yrr@ple.com
DYN_PASSWORD=12345
CLIENT_TYPE=1
CALLSIGN_AND_USER="RZ6HDH, Club"
BAND_AND_CHANNEL="438.550 FM CTC88"
DESCRIPTION="SvxLink"
COUNTRY=Russia
CITY_CITY_PART="Pyatigorsk"
NET=Kavkaz
Добавьте название модуля в основной файл конфигурации svxlink.conf чтобы активировать его. После настройки модуля, чтобы проверить конфигурацию и подключиться к указанному серверу, наберите команду 7# из консоли или из эфира.
На примере, указан frn сервер kavkaz.qrz.ru к которому вы можете подключаться без регистрации. Другие сервера требуют дополнительной регистрации, каждого пользователя и линка.
Настройка EchoLink
Открываем редактор sudo nano /etc/svxlink/svxlink.d/ModuleEchoLink.conf меняем строки. Вписываем свои данные. Для работы модуля в сети Echolink, на ваш позывной должна быть регистрация -L или -R. Просто позывной, работать не будет, потому что это не клиент.
TIMEOUT=0
........
CALLSIGN=MYCALL-L
PASSWORD=MyPass
SYSOPNAME=MyName
LOCATION=[Svx] Fq, MyTown
........
DEFAULT_LANG=ru
........
DESCRIPTION="You have connected to a SvxLink node,\n"
Важно, чтобы в интернет смотрел белый IP и были открыты порты UDP 5198, 5199 и TCP 5200, это обязательное условие работы сети Echolink. Добавьте название модуля в основной файл конфигурации svxlink.conf чтобы активировать его.
После настройки модуля, чтобы проверить конфигурацию и подключиться к сети echolink, наберите команду 2# из консоли или из эфира. Теперь чтобы подключиться к комнате наберите её номер (например 196189#).
Другие Модули
Модули: ModuleDtmfRepeater, ModuleParrot, ModuleTrx, ModulePropagationMonitor, ModuleHelp, ModuleSelCallEnc, в конфигурировании не нуждаются и работают без настройки.
Для активации любого из указанных модулей, укажите его название в svxlink.conf и наберите егоомер# из консоли или из эфира.
Разбираем svxlink.conf
Рассмотрим отдельные разделы и настройки в файле конфигурации /etc/svxlink.conf которые влияют на работу вашего линка/репитера.
раздел [GLOBAL]
CARD_SAMPLE_RATE=48000 режим работы звуковой карты, здесь возможны только два значения 16000Гц или 48000Гц. Некоторые звуковые карты могут плохо работать на частоте 16000Гц.
LOCATION_INFO=LocationInfo включение aprs-маяка. Нужно заранее установить правильно его параметры.
раздел [SimplexLogic]
MODULES=ModuleHelp,ModuleParrot,ModuleEchoLink,ModuleMetarInfo,ModuleFrn список активных модулей (к которым есть доступ из эфира). Как было указано выше, некоторые модули нужно заранее настроить. Некоторые будут работать по умолчанию и не требуют настройки.
CALLSIGN=UA6HJQ позывной вашего линка, может совпадать в вашим, а может быть позывным репитера или коллективной радиостанции.
SHORT_IDENT_INTERVAL=10
LONG_IDENT_INTERVAL=60 идентификаторы (интервал в минутах), которые проговариваются в эфир. Короткий идентификатор должен передаваться чаще (обычно 10-30 минут), он говорит только позывной линка. Длинный идентификатор говорит и другие параметры, его ставят раз в час или отключают.
DEFAULT_LANG=ru язык на котором будут передаваться сообщения линка в эфир. Ставим тот который вы установили.
RGR_SOUND_DELAY=100
RGR_SOUND_ALWAYS=1 сигнал БИП, подтверждения перехода на приём. Он приглушен и не мешает работе с линком. Может быть полезен для понимания слышит вас линк или нет. Задержка должна быть с учётом значения SQL_HANGTIME в разделе [Rx1]. Чтобы отключить, поставьте -1 и 0.
DTMF_CTRL_PTY=/dev/shm/simplex_dtmf_ctrl разрешить управление линком из командной строки. Для управления используются dtmf-команды, как и в эфире. Важно установить права для svxlink на каталог shm и pty без этого команды не будут выполняться.
Пример команды:
echo "7#" > /dev/shm/simplex_dtmf_ctrl (подключиться к frn сети)
echo "#" > /dev/shm/simplex_dtmf_ctrl (выйти из активного модуля)
echo "D1#" > /dev/shm/simplex_dtmf_ctrl (выполнить первый макрос)
и тд.
раздел [Macros]
1=EchoLink:196189#
2=EchoLink:617231#
3=MetarInfo:1# макросы позволяют сократить команды передаваемые по эфиру, их легче запомнить. На радиостанции нужно набрать D1# для подключения к конференции RUSSIA или D2# для подключения к ретранслятору города Изобильный. Команда D3# сообщит погоду по данным метеостанции Ставропольского аэропорта.
Формат макроса состоит из трёх полей <номер>=<модуль>:<команда>
Первым указываем номер, затем модуль который нужно активировать, третьим параметром - команду в этом модуле. Например, чтобы подключиться к конференции RUSSIA нужно активировать модуль Echolink командой 2# затем набрать номер конференции 196189# а в виде макроса набираем D1#
Обратите внимание, что не все радиостанции имеют полноценную DTMF клавиатуру!
раздел [Rx1]
Рассмотрим параметры на которые нужно обратить внимание в [Rx1], номер раздела может быть и другим, если у вас несколько радиостанций.
SQL_DET=GPIO если радиостанция позволяет не используйте VOX, всегда лучше выводить сигнал COS/SQL, это позволяет линку точно определять наличие сигнала на входной частоте.
GPIO_SQL_PIN=gpio18 для Raspberry_Pi назначаем пин который будет определять появление сигнала на частоте радиостанции. Кроме GPIO18, часто используют GPIO23 и GPIO24 они равнозначны.
SQL_START_DELAY=10 задержка включения шумоподавителя, после выключений передатчика (в миллисекундах), этот параметр должен быть как можно меньше (обычно 0-50). Необходимость в нём возникает когда в конкретной рации, переход на приём происходит не мгновенно, а присутствуют переходные процессы (для модуля dra818 ставить 100).
SQL_DELAY=10 задержка открытия шумоподавителя, после того как сигнал появился на частоте. Параметр полезен при использовании 'медленных' радиостанций или нескольких приёмников для устранения зацикливания (для модуля dra818 ставить не менее 200).
SQL_HANGTIME=400 как долго (в миллисекундах) шумоподавитель будет оставаться открытым после того, как сигнал пропал из эфира. Это важный параметр, особенно при работе с VOX, он должен быть 1500-2000мс. Если у вас COS, уменьшайте его до 300-700. Устанавливать 0 не нужно, в любом случае!
Дело в том, что если радиостанция находится в зоне неуверенного приёма, её сигнал может кратковременно пропасть и тут же появиться. Вот для этого и нужна задержка срабатывания шумоподавителя на линке. Чем слабее сигнал - тем больше задержка.
раздел [Tx1]
В этом разделе, важно правильно установить несколько параметров, влияющих на процесс передачи линка.
PTT_TYPE=GPIO В случае установки svxlink на Raspberry_Pi удобно использовать контакты gpio.
PTT_PIN=gpio9 Для передатчика обычно назначают GPIO9, GPIO10, GPIO11. Схема подключения к радиостанции приведена выше.
TIMEOUT=180 время непрерывной передачи. Сколько секунд передатчик может быть включен (на примере 3 минуты = 180 сек). По истечении 3 минут, PTT отключится и радиостанция перейдёт на приём. Это защита радиостанции от перегрева и от болтунов в эфире. Обычно устанавливают 3-5 минут, если на линке портативная радиостанция, ставят 1-2 минуты.
TX_DELAY=500 задержка между включением передатчика и началом передачи звука (в миллисекундах). Важный параметр!
Дело в том, что ЧМ радиостанции требуется время, чтобы открыть шумоподавитель, когда сигнал появился на частоте, обычно 100-200мс. В портативных радиостанциях (как правило) включен экономайзер. Поэтому им нужно ещё больше времени на включение. Обычно на линке ставят 300-600мс. Чем больше расстояние и слабее сигнал - тем больше этот параметр.
раздел [LocationInfo]
В этом разделе определяются параметры интерактивного aprs-маяка, который будет передавать ваш линк на карту aprs.fi. Обратите внимание, что этот маяк в эфир не передаётся!
APRS_SERVER_LIST=russia.aprs2.net:14580 подключаемся к Российскому aprs-серверу, он ближе, у него короткие пинги. Цифра 14580 это номер порта, который не меняем.
LON_POSITION=41.55.04E
LAT_POSITION=45.00.00N координаты восточной долготы (E) и северной широты(N). В маяке присутствует ошибка, которая не позволяет поставить секунды больше 50. Если вы поставите большее значение - при запуске svxlink выдаст ошибку! Но даже такая точность, приемлема для радиолюбителей.
CALLSIGN=EL-UA6HJQ позывной сигнал вашего линка. Для svxlink принято чтобы впереди стояли буквы EL- не убирайте их, просто измените позывной.
BEACON_INTERVAL=15 интервал передачи маяка вашего линка на карту aprs.fi (в минутах). Не ставьте меньше 10 и больше 30. Типовые значения 10, 15, 20, 30 минут.
FREQUENCY=438.500
TONE=88
COMMENT=My home SvxLink ua6hjq@stv.ru это информационная часть маяка. Указываем частоту линка, подтон и коментарий.
Поскольку позывной линка/репитера может не совпадать с позывным его администратора, у радиолюбителей считается хорошим тоном указать в комментарии какие-либо данные для связи с ним. Пример на картинке.
Возможности svxlink.conf
CW идентификатор
По умолчанию в svxlink.conf включен голосовой идентификатор. Чтобы его изменить на телеграфный, открываем файл /etc/svxlink.conf и в раздел SimplexLogic (для линка) добавляем команды:
[SimplexLogic]
.......
CW_AMP=-10
CW_PITCH=500
CW_WPM=25
SHORT_CW_ID_ENABLE=1
SHORT_IDENT_INTERVAL=10
Что сделано?
Мы включили cw вместо голоса, установили тон 500гц, скорость 25групп, уровень на -10дб тише обычных звуков. Интервал передачи cw-идентификатора 10 минут.
При таких настройках, приглушенный звук телеграфа, не раздражает тех кто долго находится на частоте вашего линка или репитера.
Отключение линка командой по эфиру
В разделах SimplexLogic и RepeaterLogic есть команда ONLINE_CMD, она позволяет отключить весь функционал линка прямо из эфира. Назначаем команду, например 44455566
[SimplexLogic]
.......
ONLINE_CMD=44455566
Команда активируется после перезагрузки svxlink. Теперь набрав в эфире 444555660# вы отключите линк, он не будет реагировать на любые другие команды и работать с модулями.
Чтобы восстановить работоспособность линка, набираем в эфире 444555661# Команда должна быть длинной (не менее 5-и цифр), чтобы её нельзя было подобрать или воспроизвести случайным образом.
Гибкая команда
В некоторых ситуациях использовать Macros не представляется возможным. Например, когда пользователь хочет попасть не в ту конференцию Echolink которая была запрограммирована в макросе или у него нет возможности набрать символ D.
Идея состоит в том что набрав любые комбинации цифр (более 4-х), пользователь попадёт в заранее установленное место. Если набрать менее 4-х, команда работать не будет.
[SimplexLogic]
.......
ACTIVATE_MODULE_ON_LONG_CMD=4:EchoLink
На примере, активируется модуль эхолинка и происходит подключение к выбранной конференции. Теперь пользователю из эфира достаточно набрать номер конференции, без активации модуля Echolink. Давайте сравним:
активируем echolink (2#) ждем ответ (18573#) набираем номер конференции
или
(18573#) сразу набираем номер конференции
Теперь, пользователь из эфира может сам выбирать любые конференции, линки, репитеры в сети Echolink. Ему нужно знать только номер. Этот режим похож на работу в цифровой сети YSF.