Echolink възлова точка с Orange Pi PC и SvxLink
/kn34pc.com/статии/...

Този проект се забави много поради редица причини, но ето че най-накрая успях да го завърша. Преди около 5 години си купих Orange Pi PC – микрокомпютър, състоящ се от една платка. Привлече ме цената, която бе по-ниска от тази на популярния Raspberry Pi. Неотдавна попаднах на статии за изграждане на SvxLink възлова точка с Orange Pi Zero и отново се сетих за моето Пи, което си почиваше в един кашон.

След този кратък увод, нека да разясня накратко какво е SvxLink. Това е софтуерна гласова платформа за ОС Линукс, която свързана с радиостанция, може да изпълнява роля на контролер за репитер, а също така може да работи в симплекс или дуплекс режим. Платформата съдържа различни модули, един от които е за връзка с мрежата Echolink.


В тази статия ще представя инсталация и конфигуриране на Svxlink, а също така интерфейс за управление на радиостанция "Лотос/Лен" за връзка с Echolink.


Нека първо да изтеглим имидж файла на операционната система оттук: Orange Pi PC

Записваме изтегления имидж файл на микро-USB карта (мин. 8 Gb), като я правим стартираща, за да може да се зареди операционната система.

Ако сме направили всичко както трябва, след стартиране на системата тя ни приканва да зададем парола на root (администраторски акаунт). След това трябва да създадем първия потребителски акаунт и парола за него. Избираме за име svxlink и задаваме парола по избор.


Преди да започнем, обновяваме системата:

1. sudo apt-get update

2. sudo apt-get upgrade


За допълнителни настройка на операционната система – часова зона, жична мрежа и др. извикваме контролния панел с командата armbian-config

Инсталираме Svxlink сървър: sudo apt-get install svxlink-server

Изтегляме и инсталираме звуковите файлове (на английски език):

1. cd /usr/share/svxlink/sounds/

2. sudo wget https://github.com/sm0svx/svxlink-sounds-en_US-heather/releases/download/19.09/

svxlink-sounds-en_US-heather-16k-19.09.tar.bz2

3. sudo tar xvjf svxlink-sounds-en_US-heather-16k-19.09.tar.bz2

4. sudo ln -s en_US-heather-16k en_US


Време е да свържем звуковата карта и да я зададем като главно звуково устройство. Използвал съм най-евтината USB звукова карта.

Да проверим, като кой по ред номер звуково устройство е определена в системата и да редактираме файла alsa.conf.

1. aplay -l

2. arecord -l


Резултатът от двете команди трябва да показва следните редове:

card 1: Device [USB Audio Device], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0


Използваме текстовия редактор nano, за да редактираме alsa.conf:

sudo nano /usr/share/alsa/alsa.conf

Редактираме редове default.ctl.card и default.pcm.card.

Променяме номера в края на реда от "0" на "1", както е определена картата - Card 1, Device 0.
default.ctl.card 1
default.pcm.card 1


Записваме промените с "ctrl + x", натискаме "y" за потвърждение и "enter" за излизане от nano. Накрая рестартираме с командата: sudo reboot
След рестартирането на системата проверяваме дали нашата карта е зададена, като устройство по подразбиране: alsamixer

Преди да пристъпим към конфигуриране на Svxlink, ще представя интерфейса за връзка между Orange Pi PC и радиостанция "Лотос/Лен". След обстоен преглед на десетки схеми в интернет и сервизното описание на р/ст "Лотос" се оформи следната схема показана по-надолу. Мисля, че по звуковата част всичко е ясно. По желание тример-потенциометрите могат да се премахнат и на тяхно място да се сложи мостче. За комутиране на режимите приемане/предаване използвам USB Serial Converter.

Веригата за управление от шумоподавителя е дублирана от Блок У11 от сервизното описание на р/ст "Лотос", като съм добавил стабилизатор за понижаване на захранващото напрежение. При задействан шумоподавител и в режим "предаване" на извод 7 има висок потенциал, а при "приемане" нисък потенциал. Изводите са подредени спрямо десетщифтовия куплунг разположен на задната страна на приемо-предавателя. За модула е разработена малка печатна платка.

Архив [spl7,lay6,gbr][37kb]

Да проверим дали нашият USB Serial Converter е видим в системата с командата: lsusb

А сега да видим на кой сериен порт отговаря: dmesg | grep tty

Дойде ред да редактираме файла svxlink.conf, който съдържа началните настройки на програмата:

sudo nano /etc/svxlink/svxlink.conf

Променяме следните редове:

--------------------

в раздел [SimplexLogic]

CALLSIGN=Инициал

DEFAULT_LANG=en_US


в раздел [Rx1]

AUDIO_DEV=alsa:plughw:1 (USB звуковата карта, която бе определена като Card 1)

SQL_DET=SERIAL

SERIAL_PORT=/dev/ttyUSB0

SERIAL_PIN=!CTS



в раздел [Tx1]

AUDIO_DEV=alsa:plughw:1 (USB звуковата карта, която бе определена като Card 1)

PTT_TYPE=SerialPin

PTT_PORT=/dev/ttyUSB0


--------------------

Записваме промените с "ctrl + x", натискаме "y" за потвърждение и "enter" за излизане от nano.

Следващият файл, който ще редактираме е ModuleEchoLink.conf:
sudo nano /etc/svxlink/svxlink.d/ModuleEchoLink.conf

--------------------

CALLSIGN=Инициал-L

PASSWORD=Парола

SYSOPNAME=Име/Инициал

LOCATION=[Svx] честота, град/локатор

DEFAULT_LANG=en_US

--------------------

Записваме промените с "ctrl + x", натискаме "y" за потвърждение и "enter" за излизане от nano. Накрая рестартираме с командата: sudo reboot

Сега би трябвало да имаме инсталиран, конфигуриран и работещ Svxlink. Нека да проверим:

tail -f /var/log/svxlink

Може да забележите, че се получава грешка свързана с DNS и нарушена връзка със сървърите на Echolink. Така се случи при мен. След претърсване в интернет попаднах на сходен проблем, описан тук. Следното решение има за цел да забави стартирането на Svxlink, до пълното зареждане на операционната система. За целта спираме изпълнението на Svxlink:

sudo systemctl stop svxlink

Сега трябва да редактираме файла svxlink.service. Променяме/добавяме следните редове в черно.

Редът ExecStartPre=/bin/sleep 30 трябва да бъде преди останалите редове започващи с ExecStartPre.

sudo nano /lib/systemd/system/svxlink.service

--------------------

[Unit]

Description=SvxLink repeater control software

Documentation=man:svxlink(1)

Requires=svxlink_gpio_setup.service

After=network.online.target remote-fs.target time.target

After=svxlink_gpio_setup.service

[Service]

EnvironmentFile=/etc/default/svxlink

PIDFile=/run/svxlink.pid

ExecStartPre=/bin/sleep 30

ExecStartPre=-/bin/touch /var/log/svxlink

ExecStartPre=-/bin/chown $RUNASUSER /var/log/svxlink

ExecStart=/bin/sh -c ‘/usr/bin/svxlink –logfile=/var/log/svxlink –config=$CFG$

ExecReload=/bin/kill -s HUP $MAINPID

Restart=on-failure

TimeoutStartSec=60

#WatchdogSec=

#NotifyAccess=main

LimitCORE=infinity

WorkingDirectory=/etc/svxlink


[Install]

WantedBy=multi-user.target

--------------------

Записваме промените с "ctrl + x", натискаме "y" за потвърждение и "enter" за излизане от nano.


Накрая остава да изпълним следните команди, завършващи с рестартиране на системата:

sudo systemctl daemon-reload

sudo systemctl start svxlink

sudo reboot



Използвани източници:
1. SvxLink by sm0svx
2. Echolink node on Raspberry Pi using SVXLink
3. Радиостанция "Лотос"
4. SQ9MDD PC-Radio-Interface
5. Koppel, N., DL1EBN: Zwei Soundinterfaces mit dem Mini-USB-Modul UM2102 von ELV. Funkamateur 6 (2014) H. 6, S. 645-649

LZ2XYZ, Силистра
6 март 2022 година, KN34PC