From ff3fa2cf6a9298b0ecc08d1cbbbbc47dfc8f8db5 Mon Sep 17 00:00:00 2001 From: ua1zbe Date: Thu, 11 Aug 2022 15:21:13 +0000 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D0=BB(=D0=B0)=20?= =?UTF-8?q?'nastroika'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nastroika | 575 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 575 insertions(+) create mode 100644 nastroika diff --git a/nastroika b/nastroika new file mode 100644 index 0000000..f6cf8c4 --- /dev/null +++ b/nastroika @@ -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 будет наcтроен так, что управление 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. + +