Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎯 AzimuthLBLX

VLBL Survey Tool — PWA приложение для сбора измерений и определения положения маяков-ответчиков гидроакустической навигационной системы, а также программирования LBL навигационного решателя.


📋 Оглавление


📖 Описание

AzimuthLBLX — это веб-приложение (PWA), работающее в браузере и предназначенное для:

  1. VLBL калибровки — сбор измерений дальностей до маяков-ответчиков с известных позиций судна и последующее определение географических координат маяков.
  2. Программирование LBL решателя — передача координат откалиброванных маяков и параметров навигационного фильтра в LBL навигационный решатель (прошивка для Zima2).

Приложение работает с гидроакустическим трансивером Zima2 через последовательный порт (Web Serial API).


✨ Возможности

VLBL Survey

  • 📡 Подключение к Zima2 USBL трансиверу
  • 📊 Приём данных измерений ($PAZM3)
  • 🧮 Расчёт наклонных дальностей и горизонтальных проекций
  • 📍 Сбор трека судна (от внешнего или внутреннего GNSS)
  • 🎯 Решение положения маяков (2D, метод наименьших квадратов)
  • 🚀 Асинхронное решение в Web Worker

Программирование LBL решателя

  • 💾 Формирование команды $PAZMA с координатами до 4 маяков
  • ⚙ Настройка параметров фильтров (сглаживание, отбраковка аномалий)
  • 📋 Автоподстановка координат из VLBL решений
  • ✅ Ожидание подтверждения от устройства
  • ❌ Обработка ошибок (ACK с кодами)

Визуализация

  • 🗺 Canvas карта с треком судна и позициями маяков
  • 📐 Авто-масштабирование
  • 📏 Линейка для измерения дистанций
  • 📍 POI (точки интереса) с импортом из CSV

Экспорт

  • 📊 CSV: трек судна, измерения, решения
  • 🗺 KML: всё вместе (для Google Earth)

Логирование

  • 📋 Запись всех входящих/исходящих сообщений
  • 💾 Сохранение и загрузка логов
  • ▶ Воспроизведение логов с регулируемой скоростью (1x, 2x, 4x, 8x)
  • 🔍 Анализ логов (статистика по маякам)

GNSS

  • 🔌 Внешний GNSS через Web Serial (RMC, HDT, HDG, HDM)
  • 📱 Внутренний GNSS (через WebView API)
  • 🧭 Поддержка внешнего компаса

Темы оформления

  • 🌑 Indoor (по умолчанию)
  • ☀️ Light
  • 🕶 Dark Contrast
  • ⚫ Jack Black
  • ⚪ Jack White
  • 💚 VAX (терминальный стиль)

📦 Требования

Компонент Требование
Браузер Chrome/Edge 89+ (Web Serial API)
Сервер Любой статический сервер (или file:// с ограничениями)
Оборудование Zima2 USBL трансивер
GNSS Опционально: внешний GNSS (NMEA 0183)

🚀 Установка

Вариант 1: Статический сервер (рекомендуется)

# Python 3
python3 -m http.server 8080

# Node.js
npx serve .

# Открыть в браузере:
# http://localhost:8080

Вариант 2: file://

Просто открыть index.html в браузере. Ограничение: Web Worker может не работать (решение будет в синхронном режиме).

Вариант 3: GitHub Pages

Разместить репозиторий на GitHub Pages.


🎮 Использование

1. Подключение к Zima2

  1. Нажмите 🔌 AZM
  2. Выберите последовательный порт
  3. Приложение автоматически запросит информацию об устройстве ($PAZM?)

2. Подключение GNSS

  • Внешний: Меню 📡 GNSS → 🔌 Внешний (Serial)
  • Внутренний: Меню 📡 GNSS → 📱 Внутренний

3. VLBL калибровка

  1. Нажмите ▶ Опрос для запуска измерений
  2. Двигайтесь по акватории, собирая измерения с разных позиций
  3. Нажмите 🎯 Решить для определения координат маяков
  4. Результаты появятся в панели маяков и на карте

4. Программирование LBL решателя

  1. Меню 🔧 Инструменты → 💾 Программирование LBL решателя
  2. Нажмите 📋 Из решений для автоподстановки координат
  3. Или введите координаты вручную
  4. Настройте параметры фильтров
  5. Нажмите 📤 Отправить
  6. Дождитесь подтверждения ✓ Конфигурация применена

📡 Протокол

Исходящие команды (в Zima2)

Команда Описание
$PAZM? Запрос информации об устройстве
$PAZM1 Старт/стоп опроса маяков
$PAZMA Программирование LBL решателя

Входящие сообщения (от Zima2)

Команда Описание
$PAZM0 Подтверждение (ACK) с кодом результата
$PAZM1 Статус опроса
$PAZM3 Данные измерений (дальности, глубины, температура)
$PAZM! Информация об устройстве
$PAZMA Подтверждение конфигурации LBL решателя

Формат $PAZMA

$PAZMA,[auto_output],[autostart],[salinity],[sos],[sos_auto],[smflt_size],[smflt_thld],[achod_size],[achod_mspd],[achod_thld],[rerr_thld],a1,ln1,lt1,a2,ln2,lt2,a3,ln3,lt3,[a4],[ln4],[lt4]*CS
Параметр Описание
auto_output 0/1 — автовывод NMEA
autostart 0/1 — автозапуск LBL при включении
salinity Солёность (PSU)
sos Скорость звука (м/с), пусто = авто
sos_auto 0/1 — автоопределение скорости звука
smflt_size Размер окна сглаживающего фильтра (0-32)
smflt_thld Порог сглаживающего фильтра (м)
achod_size Размер окна фильтра аномалий (0-32)
achod_mspd Максимальная скорость (м/с)
achod_thld Порог фильтра аномалий (м)
rerr_thld Порог ошибки решения (м)
a1-a4 Адреса маяков (0-15)
ln1-ln4 Долготы маяков (градусы)
lt1-lt4 Широты маяков (градусы)

Лицензия

GNU GPL v3.0

AzimuthLBLX — VLBL Survey Tool Copyright (C) 2026 UC&NL

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/

Ссылки

UC&NL — https://unavlab.com Документация — https://docs.unavlab.com GitHub Issues — https://github.com/ucnl/AzimuthLBLX/issues


© 2026 UC&NL | hello@unavlab.com

About

VLBL Survey Tool for Zima2 — determining beacon positions

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages