Сначала я было начал разрабатывать свой аналог UI-VIEW но постепенно пришёл к выводу, что графическая часть должна быть отдельно, а вся APRS логига - тоже отдельно. Поэтому работы по графической части были временно приостановлены и началась разработка ядра.
Ядро было названо QAPRS-CORE по причине того, что разрабатывается на Qt и является переносимой с win на *nix.
Основная концепция ядра состоит в том, что оно реализовывает всю низкоуровневую часть: прием/передачу ui пакетов через порты, выдает маяки, ретранслирует пакеты, маршрутизирует их между портами, принимает сообщения (и поддтверждает их если требуется). Кроме того все данные хранятся в локальной базе данных. Данные разделены на: база данных принятых/переданных пакетов, сообщений, станций. К ядру подключаются графические модули - VIEW для отображения объектов на карте, MAIL - для отправки и приема сообщений.
На данный момент выпустил третью версию ядра. Предыдущие версии см. по ссылке
Ядро поддерживает следующие типы портов:
- APRS Internet Server Connection - порт соединения с APRS Internet сервером. Порт хранит 3 адреса серверов и, при потере соединения с первым, пытается установить соединение со следующим. Время пересодинения 30с. Соединяться с серверами теперь можно через прокси сервер!!!! Поддерживается пока HTTP Proxy с авторизацией или без.
- KISS TNC - порт соединения с TNC контроллером по KISS протоколу. По настройке почти не отличается от такого же в UI-View (только 8n1 и увеличено количество портов). Вообще выбирается не порт, а его имя. Имя порта может быть введено вручную. В ОС UNIX вводится имя файла устройства в /dev.
- AGW Core - порт соединения с ядром AGW для работы с одним из его портов.
- AXIP - AX over IP.
В этой версии порты автоматически включаются при подключении к системной БД (бд, в которой хранятся параметры портов и принятая информация). Для применения изменений в параметрах порта теперь не требуется отключать и включать обратно все порты. Изменение параметров происходит "динамически". Так же динамически можно добавлять и удалять порты. Состояние порта отображается лампочкой:
- серая - порт не создан в ядре;
- зеленая - порт в рабочем состоянии;
- морковная - порт не работает (для agw - нет соединения с ядром, для Inet - нет соединения с сервером, для KISS - не открыт последовательный порт).
После изменения параметров порта программе UI-View отправляется измененный список портов (при этом переподключение UI-View к ядру не требуется). Список портов и их параметры ведутся на закладке Ports. Все порты в ядре или по отдельности могут быть включены либо выключены. Вновь создаваемый порт по умолчанию выключен.
Пока в программе не реализованы все функции: отображение карт, прием обработка и передача сообщений. Эта версия qaprs идет под кодовым названием Jares. Название (а не номер) позволят мне лучше отличать версии по функциональным (и внутренним) особенностям.
Особенность данной версии в том, что основное ее назначение вести лог принятых пакетов, сообщений, услышанных станций. Самостоятельных действий по инициации передачи в эфир каких то данных (ответы на пинг, подтверждение приёма и т. д.) программа не ведёт (маяк - единственное исключение). В общем в двух словах ядро само "только слушает" (SWL) и всё запоминает.
Но не смотря на это, ядро позволяет работать через него программе UI-View как с ядром AGW. Все возможности работы в APRS реализуются с помощью UI-View (пинги, сообщения и т. д.).
Пакеты, принятые и переданные через порты, отображаются в окне Packets. Строки с переданными пакетами отмечены красным, принятые - зелёным цветом. Принятые пакеты кроме системной БД пишутся еще и в текстовый файл в папке с программой.
Из принятых и переданных пакетов выделяются сообщения и отображаются в окне Messages. Принятые сообщения кроме системной БД пишутся ещё и в текстовый файл в папке с программой.
Из принятых пакетов выделяются сообщения, в которых содержится информация о координатах станции. Поддерживается обычный стандарт координат станции и упакованный. Пакеты, не содержащие информации о координатах просто добавляют станцию в список услышанных (окно Stations). Кроме того, в Stations отображается символ станции, комментарий к символу, путь (via), комментарий маяка, расстояние до станции и угол, когда была услышана станция и сколько минут назат.
ИНСТРУКЦИЯ ПО БЫСТРОМУ ЗАПУСКУ ВЕРСИИ
Ссылка для скачивания: http://code.google.com/p/qaprs/downloads/list
- Скачиваем. Само ядро QAPRS-CoreJares002.rar. DLL.rar файлы к нему (если есть старая версия, то подойдут dll оттуда). Всё распаковать в одну папку. Если нужна русификация интерфейса - распаковать туда же qaprs-core_ru.rar.
- Распаковать в удобной для вас папке
- Запустить qaprs-core.exe
- Ввести личные данные General Station Information, QTH, Default Parameters.
- Нажать кнопку Save для сохранения параметров.
- Для начала работы нажать кнопку Connect - ядро соединится с системной БД и начнет работать.
- Перейти на закладку Ports. В прилагаемой системной БД создано два порта: Inet и Kiss.
- Настроить Inet порт на ваше имя и пароль, указать нужный фильтр, откорректировать параметры Proxy. Сохранить.
- Настроить KISS порт на используемый последовательный порт. При правильно указанных параметрах "лампочки" в столбце Act должны быть зеленого цвета.
- Запустить UI-View. Указать параметры подключения Setup -> Comms Setup в поле Host Mode указать AGWPE нажать кнопку Setup и указать адрес и порт QAPRS-AGW - 127.0.0.1 порт 8001 (или другой, выбранный на закладке General в параметрах AGW Core Emulator).
- UI-View должен отобразить список портов.
После этого система готова к работе!
При закрытии основного окна в трее останется значок ядра. С помощью контекстного меню (правой кнопкой мыши) можно обратно вызвать окно настройки, а также отобразить окна "Пакеты", "Сообщения" и "Станции".
Скриншоты см. ниже...