VLBL Survey Tool — PWA приложение для сбора измерений и определения положения маяков-ответчиков гидроакустической навигационной системы, а также программирования LBL навигационного решателя.
AzimuthLBLX — это веб-приложение (PWA), работающее в браузере и предназначенное для:
- VLBL калибровки — сбор измерений дальностей до маяков-ответчиков с известных позиций судна и последующее определение географических координат маяков.
- Программирование LBL решателя — передача координат откалиброванных маяков и параметров навигационного фильтра в LBL навигационный решатель (прошивка для Zima2).
Приложение работает с гидроакустическим трансивером Zima2 через последовательный порт (Web Serial API).
- 📡 Подключение к Zima2 USBL трансиверу
- 📊 Приём данных измерений (
$PAZM3) - 🧮 Расчёт наклонных дальностей и горизонтальных проекций
- 📍 Сбор трека судна (от внешнего или внутреннего GNSS)
- 🎯 Решение положения маяков (2D, метод наименьших квадратов)
- 🚀 Асинхронное решение в Web Worker
- 💾 Формирование команды
$PAZMAс координатами до 4 маяков - ⚙ Настройка параметров фильтров (сглаживание, отбраковка аномалий)
- 📋 Автоподстановка координат из VLBL решений
- ✅ Ожидание подтверждения от устройства
- ❌ Обработка ошибок (ACK с кодами)
- 🗺 Canvas карта с треком судна и позициями маяков
- 📐 Авто-масштабирование
- 📏 Линейка для измерения дистанций
- 📍 POI (точки интереса) с импортом из CSV
- 📊 CSV: трек судна, измерения, решения
- 🗺 KML: всё вместе (для Google Earth)
- 📋 Запись всех входящих/исходящих сообщений
- 💾 Сохранение и загрузка логов
- ▶ Воспроизведение логов с регулируемой скоростью (1x, 2x, 4x, 8x)
- 🔍 Анализ логов (статистика по маякам)
- 🔌 Внешний 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) |
# Python 3
python3 -m http.server 8080
# Node.js
npx serve .
# Открыть в браузере:
# http://localhost:8080Просто открыть index.html в браузере.
Ограничение: Web Worker может не работать (решение будет в синхронном режиме).
Разместить репозиторий на GitHub Pages.
- Нажмите 🔌 AZM
- Выберите последовательный порт
- Приложение автоматически запросит информацию об устройстве (
$PAZM?)
- Внешний: Меню 📡 GNSS → 🔌 Внешний (Serial)
- Внутренний: Меню 📡 GNSS → 📱 Внутренний
- Нажмите ▶ Опрос для запуска измерений
- Двигайтесь по акватории, собирая измерения с разных позиций
- Нажмите 🎯 Решить для определения координат маяков
- Результаты появятся в панели маяков и на карте
- Меню 🔧 Инструменты → 💾 Программирование LBL решателя
- Нажмите 📋 Из решений для автоподстановки координат
- Или введите координаты вручную
- Настройте параметры фильтров
- Нажмите 📤 Отправить
- Дождитесь подтверждения ✓ Конфигурация применена
| Команда | Описание |
|---|---|
$PAZM? |
Запрос информации об устройстве |
$PAZM1 |
Старт/стоп опроса маяков |
$PAZMA |
Программирование LBL решателя |
| Команда | Описание |
|---|---|
$PAZM0 |
Подтверждение (ACK) с кодом результата |
$PAZM1 |
Статус опроса |
$PAZM3 |
Данные измерений (дальности, глубины, температура) |
$PAZM! |
Информация об устройстве |
$PAZMA |
Подтверждение конфигурации LBL решателя |
$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