9
май
2020
Использование Xastir для APRS в Linux
14:57

Использование Xastir для APRS в Linux

9 май 2020 14:57

Данная статья посвящена настройке программы Xastir для радиолюбительской пакетной передачи координат GPS под названием APRS на наземной частоте 144.800 МГц.

Введение

APRS - это система передачи координат и коротких сообщений в радиолюбительском эфире на основе цифрового вида PACKET. Сеть APRS состоит из радиолюбительских APRS станций, ретрансляторов пакетов в эфире (Digipeater или, сокращенно, digi) и приемных (RX-only) или двунаправленных (RX/TX) шлюзов I-Gate в глобальную компьютерную сеть Интернет. 100% сообщений носит региональный характер - значками на карте обозначаются станции, в том числе движущиеся. Возможна передача текстовых сообщений, аналогичных SMS или новостей (сразу на все станции, или станции определенной группы).

В Linux есть все необходимые компоненты для работы в УКВ сети APRS - в качестве узла, цифрового ретранслятора или моста из эфира в Интернет i-Gate. Система передачи сообщений AX.25 вообще-то давно является частью ядра Linux, поэтому Linux во многом предпочтительнее Windows для реализации APRS. С развитием микрокомпьютеров Raspberry PI стали выходить новые версии программ и пакетов для APRS под операционной системой Linux. Все программы запускаются как под Raspberry PI так и на настольных компьютерах, т.к. исходные тексты одни и те же.

Программа Xastir представляет собой универсальный инструмент для работы с APRS на настольном компьютере:

  • отображение информации о станциях на подробной карте местности
  • отправка и прием сообщений (в том числе служебных) через интерфейс трансивера, т.е. в эфир
  • автоматическая обработка запросов других станций (в том числе автоответчик)
  • управление портами модемов KISS и внешних TNC модемов
  • ведение очереди сообщений, списка услышанных станций и т.д.
  • отображение различных значков любых APRS объектов или их следов («треков»), рисование азимутов на станции, определение дистанций.
  • управление топографическими картами (выбор, загрузка из Интернет, кеширование)
  • ведение журналов сообщений.
  • и многое другое. :-)

Работа Xastir возможна в разных вариантах:

  • через Интернет TCP-IP
  • через радиостанцию, с использованием программного KISS или аппаратного модема (TNC), или сетевого модема MKISS.

Рассматриваю здесь вариант - передача и прием APRS через радиостанцию (трансивер) на частоте 144.800 МГц с использованием программного модема KISS/soundmodem, который умеет генерировать и декодировать звуковой сигнал с модуляцией AFSK 1200.

Установка и настройка Xastir и Soundmodem

1. Устанавливаем все необходимые программы

su -
apt update
apt install xastir soundmodem

Замечание: во время установки на чистую систему Debian возникло окно, с выбором, каким образом запускать программу.

выбор варианта AX-25
Выбрал первый вариант - "Да", разрешить непривилегированным пользователям использовать AX.25. Группа пользователей 'xastir-ax25'.

2. Даём права на запуск программы

Чтобы запустить xastir, нужны права 4755 - где 4 означает передачу прав root программе когда следует.

От имени root (sudo) нужно выполнить команды:

su -
chmod 4755 /usr/bin/xastir
usermod -a -G dialout user

(где "user" - заменить на имя учетной записи под которой обычно работаете (например, vladimir))

usermod -a -G xastir-a25 user

(где "user" заменить на имя конкретного пользователя, под учётной записью которого работаете (например, vladimir)).

logout

3. Запускаем программу и выполняем предварительную настройку

xastir

Программа xastir должна нормально запуститься без прав root. Если запуск с правами обычного пользователя не произошёл - см. пункт 2.

okno

В окне конфигурации указываем свой позывной с приставкой минус один: "-1" (SSID -1 означает основной QTH или "домашнюю" станцию) и координаты станции - широту и долготу, мощность и усиление антенны.
В поле долготы LONG вместо W следует ввести букву E - восточное полушарие.

Чтобы узнать координаты своего дома, можно воспользоваться картой QTH локаторов TK5EP:

  1. Переходим на TK5EP: и находим на карте свой QTH.
  2. Во втором окне браузера открываем страницу сайта Traveleu.ru, вводим цифры в поля формы,
  3. Полученные с помощью сервиса TK5EP координаты в виде 59° 56' 26.44" 30° 15' 09.45" перевести на TravelEU к другому виду нажатием на кнопку "Конвертировать".
  4. Результат - координаты в виде 59° 56.441' 30° 15.158' вводим с клавиатуры в окно программы Xastir.
  5. Не забываем изменить признак восточного полушария - E

Существует упрощенный способ - указать в Xastir примерные координаты с точностью до градусов, например 60 N 30 E, и подвинуть станцию на нужное место при помощи мыши - см. следующий пункт "4. Настройка карты местности".

Должно получиться приблизительно так:
okno2
Нажимаем OK

4. Настройка карты местности

Выделяем мышью прямоугольник с участком карты, где отмечен позывной (где мы находимся). Этот фрагмент будет масштабирован во весь экран.
karta. Если нужно, кнопками In и Out в верхней части окна, устанавливаем желаемый масштаб карты.

В меню "Map" - "Map chooser" можно сменить тип карты с упрощённой векторной на более красивую, топографическую OpenStreetMap: указать osm_tiled_fosm.geo и нажать OK.
Через Интернет будет загружена новая карта.
karta2

Если необходимо переместить значок станции в другую точку - выполните увеличение масштаба при помощи кнопок In/Out и кнопок со стрелками (вправо - влево, вверх - вниз), установите курсор в нужную точки и нажатие правую кнопку мыши. Выбрать пункт контекстного меню "Move my station here" - "Move my station here".
перемещение отметки станции

6. Определение названия COM-порта для управления трансивером

  • Отключаем кабель Yaesu CT-62 (или RPC-Y857) - кабель, который обеспечивает управление трансивером через порт COM) от порта USB компьютера
  • запускаем dmesg запоминаем последние строчки.
  • Подключаем кабель Yaesu CT-62 (или RPC-Y857) - кабель, который обеспечивает управление трансивером через порт COM) к порту USB компьютера.
  • запускаем dmesg смотрим последние строки - должно быть упоминание
    /dev/ttyUSB0 или /dev/ttyUSB1. Копируем это значение (CTRL+C).

5. Настройка soundmodem

Для настройки модема нужно запустить программу soundmodemconfig из оболочки суперпользователя su:

su
soundmdemconfig

Создаем новую конфигурацию File - New - Configuration

Указываем имя конфигурации - KISS и нажимаем OK.
config KISS

Выполняем двойной щелчок мыши на созданной конфигурации.
На первой вкладке указываем режим работы alsa.

Перед следующей настройкой в терминале узнаем имя звуковой карты:

aplay -l

из вывода команды можно догадаться, что в системе две звуковые карты 0 - встроенная и 1 - внешняя.
первая из которых обозначается 0,0, а вторая 1,0.

В поле "Alsa audio driver" указываем "plughw:1,0", если это внешняя (USB) звуковая карта или "hw:0,0" для встроенной.
Alsa

Нужно установить галочку в поле Half duplex - включить.

В поле "PTT driver" вставляем Ctrl+V имя порта /dev/ttyUSB0

В поле "Hamlib model" указываем число. Для Yaesu FT-857 это число 1022 - новый, актуальный идентификатор модели FT-857 библиотеки HamLib (старый номер 122 не годится). Полный список моделей доступен на странице
Supported-Radios.

В поле "Rig configuration params" я вписал "serial_speed=38400" - соответствует скорости последовательного порта трансивера в меню 019: 38400bps.

Примечание: управление по CAT может работать на любой скорости, какую укажете - 4800, 9600 или 38400 bps. Главное требование - совпадение скорости передачи команд радиостанции и последовательного интерфейса COM компьютера. Тогда, нужно в меню трансивера установить скорость как в программе, чтобы они были равны.


Создаем канал: пункт меню "File" - "New" - "New channel"
Выбираем новый канал "Channel 0", тип модуляции указываем AFSK, скорость 1200, частоты 0 - 1200 Гц, 1 - 2200 Гц.

  • Mode - AFSK
  • Bits/s - 1200
  • Frequency 0 - 1200
  • Frequency 1 - 2200
  • Differential encoding - галочка установлена (включена)
    afsk модулятор

На закладке "Demodulator" указываем то же самое, что на закладке "Modulator".
afsk демодулятор

На закладке "Packet I/O" указываем вид - KISS
Задаём имя файла:
/dev/soundmodem0
afsk модем
Галочка против пункта "unlink file" должна быть установлена.

Нельзя ставить галочки против "init KISS on startup" и "full duplex" - галочки снять.


Выполняем диагностику звука.

  1. Подключаем кабель от разъёма DATA радиостанции к звуковой плате, кабель управления CT-62 к разъёму CAT.
  2. Выбираем в SoundmodemConfig канал Channel0
  3. Включаем приемник в режиме PKT (FM), открываем шумоподавитель (Squelch).
  4. В меню выполняем пункт "Diagnostics" - "Scope"
    Если модем настроен корректно, ошибок не возникнет. Будет выведен спектр белого шума с хорошим уровнем.
    диагностика

Если возникла ошибка "Cannot start audio I/O" (что часто бывает при запущенной программе, которая уже использует звук):

  1. Закройте браузер и другие программы работающие со звуком.
  2. Завершите soundmodem (Ctrl+C).
  3. Остановите сервер PulseAudio под учетной записью пользователя (не root) при помощью команды терминала "pulseaudio -k".

В конечном итоге, нужно добиться отсутствия ошибок и корректной работы диагностики спектра сигнала: KISS - Channel 0 - Display - Scope

После настройки soundmodem, обязательно сохраните его настройки: File - Quit.

Если во время тестирования возникли ошибки, проверьте правильность заполнения поля с именем plughw:1,0 звуковой карты, а также используйте рекомендацию про перезапуск pulseaudio -k.

Если уровень входного сигнала слаб, проверьте подключение проводов (к внешней или внутренней звуковой карта) и соответствующее имя звуковой карты.


В терминале запускаем soundmodem из под учётной записи администратора su - так надёжнее:

su -
soundmodem

Диагностические сообщения не должны содержать ошибок:

read_block(): RX 1 bytes

0000 f0

ft857: ack received (-16)

rig_force_cache_timeout called

ALSA: Using sample rate 9600, sample format 2, significant bits 16, buffer size 4800, period size 144

ALSA: Using sample rate 9600, sample format 2, significant bits 16, buffer size 4800, period size 144

Исправление ошибок конфигурации

Если есть ошибки - разбираемся с именем порта CAT /dev/ttyUSB0 или /dev/ttyUSB1, при помощи команды dmesg, исправляем конфигурацию soundmodemconfig (от имени su).

  1. Если ошибка "sm[1570]: cannot start PTT output"
  • Данная ошибка означает, что программа soundmodem не смогла отправить команды управления трансивером.
  • Проверяем CAT RATE
  • Проверяем модель трансивера:

    su
    soundmdemconfig

на закладке KISS - ISO меняем параметр для ttyUSB0:

serial_speed=38400

см. рисунок.

io

Также, нужно проверить номер модели согласно таблице Supported Radios

После изменения скорости COM-порта сохраняем конфигурацию soundmodem: File-Quit.

запускаем soundmodem снова, только под пользователем:

sudo soundmodem
  1. Если ошибка "alsa: Error opening PCM device plughw:1,0"
  • Ошибка означает, что программа soundmodem не может подключиться к устройству plughw:1,0.
    Нужно закрыть браузер и другие программы, работающие со звуком и выполнить команду:

    pulseaudio -k


Выполняем xastir: "Пуск" - "Любительское радио" - xastir

В меню Interface - Interface control выполняем настройку:

  • Add
  • Serial KISS TNC
  • Add
  • TNC Port - /dev/soundmodem0
  • 4800
  • Allow transmitting
  • Disable all IGate traffic
  • WIDE 2-2
  • OK

В поле "Комментарий" можно ввести краткое пояснение (в эфир оно не передается). Например, "LOCAL" - для 144.800.

Меню Interface

Закрываем форму параметров интерфейса. Выбираем в списке "Interfaces" только что созданный интерфейс и нажимаем кнопку "Start"
После чего из состояния DOWN интерфейс будет переведен в рабочий режим UP.

Если интерфейс не перешёл в состояние UP, значит не включен трансивер, не запущен soundmodem или в свойствах интерфейса указано не то имя, которое следует: проверьте значение /dev/soundmodem0 .


Настройка программы завершена!

Настройка трансивера

Частота - 144.800 , кнопкой "Lock" заблокировать её изменение валкодером.
Кнопками на лицевой панели трансивера перевел режим в "PKT" (что означает PACKET).
Меню "071 PKT 1200" - значение усиления оставил значение по умолчанию 50, т.к. при низких уровнях PKT 1200 = 1-2 на WebSDR видно, что мощность передачи ниже.

Выполняем главную команду:

Interface - Transmit Now!

Произошла передача пакета, цифровой ретранслятор его принял и ответил (похожий короткий звук в эфире).

Успех передачи APRS проверяю на сайте https://aprs.fi
.

Улучшение качества приёма и передачи

На качество связи в режиме PACKET влияет громкость или усиление звуковой карты, но не так сильно, как в SSB.

  1. На компьютере запустил alsamixer (от имени su -), выбрав в ней звуковую карту (F6), значение громкости воспроизведения установил на 20%, значение уровня записи на 7%, так как звук через USB карту был излишне громкий.
  2. Вышел из alsamixer при помощи клавиши ESC.
  3. Сохранил значение в файле конфигурации alsactl store тоже от имени su -.
  4. Запустил soundmodem.
  5. Пуск - Любительское радио - Xastir.
  6. В "interface" - Start.
  7. Взял в руки переносную радиостанцию, настроенную на 144.800.
  8. Выполнил в Xastir передачу APRS "Transmit now",
  9. Наблюдал в WebSDR свой сигнал, в динамике услышал ответ цифрового ретранслятора.
  10. Что касается приема, проверить его можно в режиме Scope утилиты soundmodemconfig в под суперпользователем su.
    Или в меню "View" - "All Stations", где после приёма пакетов из эфира должны возникать новые станции.

Периодичность передачи

Период передачи пакетов указывается в меню "File" - "Configure" - "Timing", для стационарного объекта задана 30 минут.

Продолжение

Во второй статье будет рассказано про работу через МКС 145.825 МГц и другие спутники на 145.825 МГц и кратко про APRS на коротких волнах 10.1 и 14.1 МГц.

Также возможно заменить модем "soundmodem" на более совершенный, чувствительный модем "Direwolf".



Похожие публикации