October 11

Настройка программы DeriWolf (APRS)

Введение:

DireWolf - это многофункциональное приложение для APRS, которое взаимодействует с аудиоинтерфейсом в различных режимах и предлагает широкий спектр функций и гибкие настройки. С помощью DireWolf можно:
- отправлять данные в эфир через APRS, DTMF, CW и голосовые сигналы
- использовать APRS GPS Tracker
- работать в режиме Digipeater
- создавать Internet Gateway (IGate)
- использовать APRStt gateway
- декодировать DTMF
- взаимодействовать с интерфейсом AGW TCPIP Socket
- использовать протокол KISS через TCP socket (виртуальный TNC)
- работать с протоколом KISS TNC через последовательный порт
- использовать протокол KISS TNC через псевдо-терминал.

Эта программа предоставляет значительное преимущество в том, что ее можно использовать в качестве модема с популярными приложениями UISS и UI-VIEW32 через AGW TCPIP Socket. Возможность взаимодействия с модемом через локальную сеть является дополнительным удобством, позволяя избежать необходимости использовать известную программу для звуковой карты UT7HO. Это значительно упрощает процесс коммутации между трансивером и компьютером.

Подготовка к инсталляции.

Скачиваем образ для raspberry lite и устанавливаем его через программу . Или делаем его штатной программой для raspberrry.
Определенную проблему представляет выбор звуковой карты. Я купил вот такую на яндекс маркете и необходимо (вернее желательно) , чтобы там был только один выход 3.5 , как у обычного сотового телефона.

Интерфейс между трансивером может быть самодельным . И также они есть на али экспрессе . Или у нашего производителя. Отдельная проблема в PTT . Китайский товарищ честно пишет , PTT надо делать через VOX передатчика . У нашего производителя VOX для PTT сделан на специальном ключе.

Установка из исходников.

Для продолжения чтения необходимо знать, как подключиться к Raspberry Pi по протоколу SSH. Возможно подключить внешний монитор к миникомпьютеру, хотя это не самое элегантное решение. При первом включении SSH обычно отключен и его нужно включить через raspi-config. Поэтому наличие монитора желательно. Впрочем, можно при записи образа указать и включение SSH по умолчанию и новый пароль , если надо. А так имя пользователя - "pi", пароль - "raspberry".

sudo apt update
sudo apt upgrade -y
sudo apt-get install git gcc g++ make cmake alsa-utils libudev-dev libasound2-dev curl

cd ~
git clone https://www.github.com/wb2osz/direwolf
cd direwolf
git checkout dev
mkdir build && cd build
cmake ..
make -j4
sudo make install
make install-conf

Далее конфигурируем файл конфигурации :

sudo nano ~/direwolf.conf

Вот настройки моей конфигурации:

Выбор звуковой карты:

 ADEVICE   plughw:0

Настройки карты опишу ниже.

Выбор радиоканала, обычно такой.

CHANNEL 0

Позывной, как без него.

MYCALL UA6ATG-11

Модем.

MODEM 1200

Варианты PTT . Выбирайте который больше Вам подойдет. У меня сделано все на vox радиостанции. Это «плохая идея» . как пишет сам автор, что есть то есть.

# PTT CM108
#PTT GPIOD gpiochip0 12
#PTT RIG RIGNUMBER DEVICEFILE
#PTT /dev/DEVICEFILE RTS
#PTT /dev/DEVICEFILE DTR
# PTT CM119 DEVIC
# адресс usb переходника ls /dev/serial/by-id/
# PTT /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0 DTR RTS

Лично мне нравится последний вариант на основе переходника USB-COM , но чтобы узнать его название и вписать в конфиг , надо дать команду:

ls /dev/serial/by-id/

AGWPort

AGWPort 8000

Маяк. Обратите внимание , маяк передает только в интернет . За , отвечает опция sendto=IG. Если ее убрать, будет вещание в радиоканал. Как Вам лучше решать Вам.

PBEACON sendto=IG  every=10 symbol=I# lat=44^05.470N long=039^08.058E comment="ua6atg@gmail.com" via=WIDE1-1

Телеграфный маяк. Так как мне за 60 , телеграф я знаю с 16, то обойтись без этой опции я не смог. :-)

CBEACON EVERY=125:00 dest=MORSE-10 info=" ua6atgua6atg"

DIGIPEAT собственно . У меня он выключен, чтобы не засорять радиоэфир и не давать работы надзорным органам в наше сложное время.

DIGIPEAT 0 0 ^WIDE[3-7]-[1-7]$|^TEST$ ^WIDE[12]-[12]$

Лог директория . Можно указать и файл. Директория удобна тем, что можно потом посмотреть по числам кто был в эфире.

LOGDIR log-files
#LOGFILE /home/pi/direwolf.log

Адрес сервера APRS. Можете указать свой.

IGSERVER euro.aprs2.net

Пароль для входа в сервер: (заранее его сделайте, это несложно)

IGLOGIN UA6ATG-11  *****

Передача с сервера на радиоканал. Иногда нужно.

IGTXVIA 0 WIDE1-1,WIDE2-1

DTMF . Deriwoff способен обработать входящий DTMF сигналы. Документация по этому вопросу довольно муторная (по русски говоря) Но если есть время разбираться , включайте.

DTMF

Есть еще интересная опция GPS трекера. Но для этого его надо настроить . Читайте ниже.

ctrl-o ctrl-x Выходим из nano . Запускаем .

direwolf

Ошибки будут выводится красным цветом. Естественно, после закрытия терминала direwolf выгрузится из памяти , поэтому чтобы запустить его в фоне нужно сделать так:

chmod +x dw-start.sh
/home/pi/dw-start.sh

Возможно придется установить screen

sudo apt-get install screen

Автозагрузка.

crontab -e
* * * * * /home/pi/dw-start.sh > /dev/null 2>&1

Настройка звуковой карты.

Чтобы определить устройство воспроизведения, выполните следующую команду.

aplay -l

Она выведет список всех устройств воспроизведения. Вы увидите что-то вроде этого:

**** List of PLAYBACK Hardware Devices ****
card 0: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
Здесь номер устройства — 0.

Чтобы определить записывающее устройство, выполните следующую команду.

arecord -l

Она выведет список всех устройств воспроизведения, а вывод команды будет примерно таким:

**** List of CAPTURE Hardware Devices ****
card 0: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0

Для обработки сигнала APRS необходим правильный уровень громкости.
Я установил уровень 50% как на устройстве воспроизведения, так и на устройстве записи.
Чтобы настроить громкость звуковой карты, выполните следующую команду.

alsamixer

После выхода alsamixer сохраните настройки звука, выполнив следующую команду.

alsactl store

Настройки для RTL-SDR

Drriwolf прекрасно работает с «свистком» RTL-SDR только надо стереть прежние драйвера в Raspberry . Да, будет только прием , но часто это вполне достаточно , так принимаемые станции уходят на сервер APRS и их видно на карте.

Purge the previous driver:

sudo apt purge ^librtlsdr
sudo rm -rvf /usr/lib/librtlsdr* /usr/include/rtl-sdr* /usr/local/lib/librtlsdr* /usr/local/include/rtl-sdr* /usr/local/include/rtl_* /usr/local/bin/rtl_*
Install the RTL-SDR Blog drivers:
sudo apt-get install libusb-1.0-0-dev git cmake pkg-config
git clone https://github.com/rtlsdrblog/rtl-sdr-blog
cd rtl-sdr-blog
mkdir build
cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make
sudo make install
sudo cp ../rtl-sdr.rules /etc/udev/rules.d/
sudo ldconfig

Blacklist the DVB-T TV drivers.

echo 'blacklist dvb_usb_rtl28xxu' | sudo tee --append /etc/modprobe.d/blacklist-dvb_usb_rtl28xxu.conf
Reboot

Запускать нужно так:

rtl_fm -f 144.8m - | direwolf -r 24000 -D 1

Но прошу обратить внимание: звуковая карта должна быть выключена!

вместо ADEVICE   plughw:0   пишем ADEVICE   null (в конфиг файле deriwolf)

Подключение датчика GPS

Вот такой можно купить на али

Но в подключение есть хитрость и я долго возился ,пока не подсмотрел подсказку на ютубе у американского радиолюбителя . KM4ACK

Делается это так:

Смотрим название устройства командой :

ls /dev/serial/by-id/

Предположим он будет такое usb-u-blox_AG_-_www.u-blox.com_u-blox_7_-_GPS_GNSS_Receiver-if00. В Вашем случаи естественно название будет другое.

Открываем файл настройки:

sudo nano /etc/default/gpsd

И вписываем туда полученную строку название устройства , вот так:

# Devices gpsd should collect to at boot time.
# They need to be read/writeable, either by user gpsd or the group dialout.


DEVICES="/dev/serial/by-id/usb-u-blox_AG_-_www.u-blox.com_u-blox_7_-_GPS_GNSS_Receiver-if00"



GPSD_OPTIONS="-n -b"

# Automatically hot add/remove USB GPS devices via gpsdctl
USBAUTO="false"

Сохраняемся и...

sudo systemctl restart gpsd
cgps

Если после команды cgps забегали ты цифры координат , то все нормально, заработало!


Не забываем только включить в конфиг файл такие строки . Координаты передаются по радиоэфиру и через интернет.

GPSD
TBEACON delay=00:15 every=5:00 symbol="igate" overlay=T via=WIDE1-1 SYMBOL=car
TBEACON sendto=IG   DELAY=0:10 EVERY=2:00 VIA=WIDE1-1 SYMBOL=car

Проект DigiPi

Я долго планировал написать обзор программы Digi Pi, однако недавно на сайте Хабр появилась очень информативная публикация, которую стоит изучить. Я лишь добавлю, что Digi Pi значительно упрощает работу с Deriwolf, что делает его незаменимым инструментом для радиолюбителей.

Эта программа обеспечивает удобство установки, быстрый просмотр эфира без необходимости использования терминала сторонних программ, а также управление сервером без необходимости входа в терминал. Вы сможете легко просматривать принятые позывные в отдельном окне или на OLED мониторе.

Хотя программа является платной, я считаю, что она стоит потраченных на нее денег. Если у вас есть возможность поддержать автора путем ежемесячного пожертвования в размере 1 доллара (к сожалению, Patreon не принимает карты российских банков), то это того стоит. Рекомендую всем радиолюбителям ознакомиться с Digi Pi и использовать его в своей практике!

Несколько скриншотов:

Надеюсь всем информация поможет .