Настройка программы 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 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 и их видно на карте.
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 и использовать его в своей практике!