Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dkxce/aprsair
Console App Detects DTMF GPS Signals or APRS AFSK1200 signals from radios (eg: Abbree AR-F8, Zastone ZT-889G) over soundcard and allow to view it over console, web (HTTP), APRS and send via HTTP-GET, TCP-APRS, UDP-APRS.
https://github.com/dkxce/aprsair
air aprs dkxce dtmf gps http server udp
Last synced: about 5 hours ago
JSON representation
Console App Detects DTMF GPS Signals or APRS AFSK1200 signals from radios (eg: Abbree AR-F8, Zastone ZT-889G) over soundcard and allow to view it over console, web (HTTP), APRS and send via HTTP-GET, TCP-APRS, UDP-APRS.
- Host: GitHub
- URL: https://github.com/dkxce/aprsair
- Owner: dkxce
- Created: 2021-10-01T12:26:17.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2021-11-07T10:24:32.000Z (about 3 years ago)
- Last Synced: 2023-12-16T14:43:43.903Z (11 months ago)
- Topics: air, aprs, dkxce, dtmf, gps, http, server, udp
- Language: C#
- Homepage:
- Size: 2.48 MB
- Stars: 4
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# APRSAir / APRS Air
Console App Detects DTMF GPS Signals or APRS AFSK1200 signals from radios (eg: Abbree AR-F8, Zastone ZT-889G)
over soundcard and allow to view it over console, web (HTTP), APRS and send via HTTP-GET, TCP-APRS, UDP-APRS.Это консольное приложение, которое разбирает DTMF GPS пакеты от радиостанций (пакеты координат).
К таким радиостанциям относятся Abbree AR-F8, Zastone ZT-889G и прочие. А также пакеты APRS AFSK1200.
Оно позволяет прослушивать звуковую карту и преобразовывать полученные пакеты в текстовую строку,
которая выводится в консоль, через веб-сервер, через APRS-сервер и может отправлять разобранные
данные по сети средствами HTTP-GET, TCP-APRS, UDP-APRS на внешние сервера.
Для прослушивания используются устройства аудиовхода (записи). Т.е. вы можете подключить вашу
радиостанцию к линейному входу звуковой карты или к микрофонному входу и следить за эфиром.
Либо подключить SDR-приемник и анализировать звук с него.Приложение может работать в режиме веб-сервера, подключившись к которому можно получать информацию
обо всех разобранных пакетах координат, а также в режиме APRS-сервера, отправляя всем клиентам
стандартные APRS-пакеты с координатами радиостанций.Также вы можете настроить отправку пакетов на внешний HTTP или APRS сервер.
Начиная с версии 0.0.1.5 приложение поддерживает прием пакетов APRS AFSK1200.
Для этого используется параметр /afsk=.. (только в режимах /listen, либо /agw, либо /kiss)Начиная с версии 0.0.1.15 приложение умеет работать по KISS/AGW протоколу.
Вы можете подключиться к AGW Packet Engine или напрямую через KISS к TNC
по TCP/IP или через Serial COM Port и получать APRS-пакеты из эфира.
Для этого используется параметр /age, либо /kissРекомендуемые значения для настройки DTMF в радиостанции:
DTMF Transmit time: 160 - 200 ms (200 ms наверняка)
DTMF Interval time: 130 - 200 ms (200 ms наверняка)
6-тизначный ANI CODE !!!Запуск в тестовом режиме (проверка работоспособности DTMF):
APRSAIR.exe
Получение списка звуковых устройств ввода (записи DTMF/AFSK1200):APRSAIR.exe /listrecorddevices
APRSAIR_List_input_devices.cmd
Преобразование пакета (строки) в звуковой сигнал DTMF:APRSAIR.exe /encode "[PACKET]" "[FILE.WAV]"
APRSAIR.exe /encode "926801 B0B 023C#7B0 034#A030 00198000" "encoded_file.wav"
packet_to_dtmf.cmd
APRSAIR.exe /encgeo "CALLID B0B LAT.XX LON.XX ALTITUDE" "[FILE.WAV]"
APRSAIR.exe /encgeo "926801 B0B 55.5 37.5 00198000" "encoded_file.wav"
geo_to_dtmf.cmd
Преобразование звукового сигнала DTMF из файла в текст (файл):APRSAIR.exe /decode "[FILE.WAV]"
APRSAIR.exe /decode "encoded_file.wav"APRSAIR.exe /decode "[FILE.WAV]" "[FILE.TXT]"
APRSAIR.exe /decode "encoded_file.wav" "original_packet.txt"
APRSAIR_to_packet.cmdAPRSAIR.exe /decgeo "encoded_file.wav" "original_packet.txt"
APRSAIR.exe /decgeo "encoded_file.wav" "original_packet.txt"
APRSAIR_to_geo.cmd
Преобразование APRS пакета (строки) в звуковой сигнал AFSK1200:APRSAIR.exe /encaprs "[PACKET]" "[FILE.WAV]"
APRSAIR.exe /encaprs "ZADIRA>APRS,WIDE1-1,WIDE2-2:=5539.03N/03729.50EM275/029" "test_APRS_result.wav"
APRSAIR_Encode_APRS.cmd
Преобразование APRS пакета (файла со списком комманд) в звуковой сигнал AFSK1200:APRSAIR.exe /encaprsf "[PACKET.TXT]" "[FILE.WAV]"
APRSAIR.exe /encaprsf "TEST_APRS_multiline.txt" "TEST_APRS_multiline.wav"
APRSAIR_Encode_APRS_Multiline.cmd
Преобразование звукового сигнала AFSK1200 из файла в APRS пакет (файл):APRSAIR.exe /decaprs "[FILE.WAV]"
APRSAIR.exe /decaprs "test_APRS_result.wav"APRSAIR.exe /decode "[FILE.WAV]" "[FILE.TXT]"
APRSAIR.exe /decode "test_APRS_result.wav" "test_APRS_result.txt"
APRSAIR_Decode_APRS.cmd
Работа в режиме прослушки аудиокарты (потоковый режим):APRSAIR.exe /listen /source=1 [/afsk=0] [/send="..."] [/aprs="tcp://.../"] [/aprs="udp://.../"] [/httpserv=80] [/aprsserv=14580] [/nogps2console] [/useNormalPassw] [/serverName="..."]
Параметры:
/listen - задаем режим работы
/source=... - с какого аудиоустройства в системе слушать аудиопоток (0,1,2...)
используйте /listrecorddevices для получения списка устройств
(Record Devices)
/afsk=... c какой карты в системе слушать аудиопоток (0,1,2...)
для анализа APRS AFSK1200 сигнала
используйте /listrecorddevices для получения списка устройств
(AFSK Devices)
/send="http://..." - отправлять координаты по ссылке
="http://127.0.0.1/?user={ID}&lat={LAT}&lon={LON}&alt={ALT}"
/aprs="tcp://..." - держать коннект с APRS-IS сервером и отправлять ему координаты
="tcp://username:password@servername:serverport/"
="tcp://callsign:[email protected]:14580"
/aprs="udp://..." - оптравлять данные на APRS-IS сервер через UDP
="udp://username:password@servername:serverport/" - оптравлять данные на APRS-IS сервер через UDP
="udp://callsign:[email protected]:8080" - оптравлять данные на APRS-IS сервер через UDP
/httpserv=80 - веб сервер на порту 80 для вывода информации о принятых координатах (с картой)
/aprsserv=14580 - APRS сервер на порту 14580 для вывода информации о принятых координатах
/nogps2console - не выводится GPS информация в консоль
/serverName="HTTP & APRS Server Name" - имя сервера
/useNormalPassw - использовать правильный пароль APRS для отправки данных через UDP (только через UDP!)
Из файла `users_replace_list.txt` берется список соответствия CALLSIGN и ANI_ID
Из файла `\WEB\index.html` берется ответ HTTP сервера
Из папки `\WEB` берется карта и ответ HTTP сервераПример:
APRSAIR.exe /listen /source=1 /send="http://127.0.0.1/?user={ID}&lat={LAT}&lon={LON}&alt={ALT}" /aprs="tcp://UNKNOWN:[email protected]:14580/" /aprs="udp://UNKNOWN:[email protected]:8080" /httpserv=80 /aprsserv=14580 /serverName="My APRSAIR"
Пример:
APRSAIR_Run_as_WaveListener.cmd
Работа в режиме клиента KISS/AGW:
KISS/AGW Listen Mode:APRSAIR.exe /agw /source=127.0.0.1:8000:0 [/afsk=0] [/send="..."] [/aprs="tcp://.../"] [/aprs="udp://.../"] [/httpserv=80] [/aprsserv=14580] [/nogps2console] [/useNormalPassw] [/serverName="..."]
APRSAIR.exe /kiss /source=127.0.0.1:8100 [/afsk=0] [/send="..."] [/aprs="tcp://.../"] [/aprs="udp://.../"] [/httpserv=80] [/aprsserv=14580] [/nogps2console] [/useNormalPassw] [/serverName="..."]
APRSAIR.exe /kiss /source=COM3:9600 [/afsk=0] [/send="..."] [/aprs="tcp://.../"] [/aprs="udp://.../"] [/httpserv=80] [/aprsserv=14580] [/nogps2console] [/useNormalPassw] [/serverName="..."]Параметры:
/agw - задаем режим работы AGW
/kiss - задаем режим работы KISS
/source=... - server:port:radio для AGW (например: 127.0.0.1:8000:0) где radio - порт/номер радио в AGW Packet Engine
- server:port для Kiss через TCP/IP (например: 127.0.0.1:8100)
- serial:baud для Kiss через COM (например: COM3:9600)
/afsk=... c какой карты в системе слушать аудиопоток (0,1,2...)
для анализа APRS AFSK1200 сигнала
используйте /listrecorddevices для получения списка устройств
(AFSK Devices)
/send="http://..." - отправлять координаты по ссылке
="http://127.0.0.1/?user={ID}&lat={LAT}&lon={LON}&alt={ALT}"
/aprs="tcp://..." - держать коннект с APRS-IS сервером и отправлять ему координаты
="tcp://username:password@servername:serverport/"
="tcp://callsign:[email protected]:14580"
/aprs="udp://..." - оптравлять данные на APRS-IS сервер через UDP
="udp://username:password@servername:serverport/" - оптравлять данные на APRS-IS сервер через UDP
="udp://callsign:[email protected]:8080" - оптравлять данные на APRS-IS сервер через UDP
/httpserv=80 - веб сервер на порту 80 для вывода информации о принятых координатах (с картой)
/aprsserv=14580 - APRS сервер на порту 14580 для вывода информации о принятых координатах
/nogps2console - не выводится GPS информация в консоль
/serverName="HTTP & APRS Server Name" - имя сервера
/useNormalPassw - использовать правильный пароль APRS для отправки данных через UDP (только через UDP!)
Из файла `users_replace_list.txt` берется список соответствия CALLSIGN и ANI_ID
Из файла `\WEB\index.html` берется ответ HTTP сервера
Из папки `\WEB` берется карта и ответ HTTP сервера
Примеры:
APRSAIR.exe /agw /source=127.0.0.1:8000:0 /send="http://127.0.0.1/?user={ID}&lat={LAT}&lon={LON}&alt={ALT}" /aprs="tcp://UNKNOWN:[email protected]:14580/" /aprs="udp://UNKNOWN:[email protected]:8080" /httpserv=80 /aprsserv=14580 /serverName="My APRSAIR"
APRSAIR.exe /kiss /source=127.0.0.1:8100 /send="http://127.0.0.1/?user={ID}&lat={LAT}&lon={LON}&alt={ALT}" /aprs="tcp://UNKNOWN:[email protected]:14580/" /aprs="udp://UNKNOWN:[email protected]:8080" /httpserv=80 /aprsserv=14580 /serverName="My APRSAIR"
APRSAIR.exe /kiss /source=COM3:9600 /send="http://127.0.0.1/?user={ID}&lat={LAT}&lon={LON}&alt={ALT}" /aprs="tcp://UNKNOWN:[email protected]:14580/" /aprs="udp://UNKNOWN:[email protected]:8080" /httpserv=80 /aprsserv=14580 /serverName="My APRSAIR"
Примеры:
APRSAIR_Run_AGW.cmd
APRSAIR_Run_KISS_TCP.cmd