• G GaladrielMap
  • Информация о проекте
    • Информация о проекте
    • Активность
    • Метки
    • Участники
  • Репозиторий
    • Репозиторий
    • Файлы
    • Коммиты
    • Ветки
    • Теги
    • Участники
    • Диаграмма
    • Сравнение
  • Запросы на слияние 0
    • Запросы на слияние 0
  • Пакеты и реестры
    • Пакеты и реестры
    • Реестр контейнеров
  • Мониторинг
    • Мониторинг
    • Метрики
  • Аналитика
    • Аналитика
    • Поток ценности
    • Репозиторий
  • Wiki
    • Wiki
  • Сниппеты
    • Сниппеты
  • Активность
  • Диаграмма
  • Коммиты
Свернуть панель
  • Калачихин Владимир Юрьевич
  • GaladrielMap
  • Wiki
  • architecture

architecture · Изменения

История страницы
upd создал Ноя 18, 2023 по автору Stager's avatar Stager
Скрыть пробелы
Построчно Рядом
architecture.md
Просмотреть страницу @2cdd3076
......@@ -4,9 +4,14 @@
"Естественность" наличия центрального сервера определяется тем, что, во-первых, имеется ряд датчиков, физически связанных с плавсредством (или транспортным средстваом), показания которых хотелось бы видеть. Это и эхолот, и метеостанция, датчики двигателя и внутреннего оборудования. Сюда же идейно можно отнести и приёмник сигналов ГеоПозиционной Системы (ГПС), хотя он чаще и не привязан непосредственно к плавсредству.
Другой причиной наличия центрального сервера является желание иметь единый пул навигационной информации,такой как карты, маршруты, лоции и т.п. Эта информация, во-первых, объёмна, а во-вторых, нуждается в периодической актуализации.
Таким образом, даже на малом любительском судне, если мы хотим иметь общую информацию хотя бы на двух экранах -- применение центрального сервера для её представления удобно и оправданно.
Если же мы приняли решение использовать централизованное серверное приложение, то мы можем сузить требования к клиентскому приложению, и получим возможность реализовать его так, чтобы его можно было запустить на возможно более широком спектре пользовательских устройсв. А поскольку почти на всех пользовательских устройствах есть веб-браузер, то выбор способа реализации очевиден -- это должно быть веб-приложение.
Поэтому GalsdrielMap является веб-приложением, ядро которого функционирует на центральном компьютере (сервере), а информация отображается на пользовательских устройствах (планшетах, ноутбуках, смартфонах). При этом пользовательские устройства не подвергаются никакой модификации и на них не ставятся никакие дополнительные программы: достаточно уже имеющегося браузера.
Если же мы приняли решение использовать централизованное серверное приложение, то мы можем сузить требования к клиентскому приложению, и получим возможность реализовать его так, чтобы его можно было запустить на возможно более широком спектре пользовательских устройств. А поскольку почти на всех пользовательских устройствах есть веб-браузер, то выбор способа реализации очевиден -- это должно быть веб-приложение.
Поэтому GaladrielMap является веб-приложением, ядро (серверная часть) которого функционирует на центральном компьютере (сервере), а информация отображается на пользовательских устройствах (планшетах, ноутбуках, смартфонах). При этом пользовательские устройства не подвергаются никакой модификации и на них не ставятся никакие дополнительные программы: достаточно уже имеющегося браузера.
### Базовое программное обеспечение
Серверная часть проекта GaladrielMap реализована на языке PHP, без использования фреймворков, и работает под управлением операционных систем семейства Linux (В том смысле, что под Windows оно не работает, и работать не может). Выбор PHP обусловлен высокой производительностью, малым объёмом среды выполнения и хорошей интегрированностью в операционную систему.
Клиентские части реализованы на JavaScript, также без фреймворков, но с использованием сторонних библиотек. Код сторонних библиотек был подвергнут ревизии, а некоторых -- и изменён, как самим автором GaladrielMap, так и по просьбе автора GaladrielMap.
Для взаимодействия с датчиками и приёмниками ГПС используется [gpsd](https://gpsd.io/). Это освобождает от необходимости задумываться о взаимодействии по крайней мере с многочисленными приёмниками ГПС.
### Выбор оборудования для сервера
Представляется удобным иметь на борту единую точку доступа к Интернет, оснащённую достаточно хорошей антенной, высококачественным сотовым модемом, wi-fi связью высокой пропускной способности. Как правило, такая точка доступа сама по себе представляет собой относительно мощный компьютер общего назначения. Поэтому естественно использовать точку доступа в качестве бортового сервера.
GaladrielMap функционирует на маршрутизаторах под управлением OpenWRT, включая устройства, удовлетворяющие минимальным требованиям этой опреационной системы, а также на устройствах Victron Energy под управлением VenusOS. Нет принципиальных препятствий для функционирования GaladrielMap на любых устройствах под управлением операционных систем семейства Linux, на которые есть возможность установить PHP.
GaladrielMap функционирует на маршрутизаторах и точках доступа под управлением OpenWRT, включая устройства, удовлетворяющие минимальным требованиям этой опреационной системы, а также на устройствах Victron Energy под управлением VenusOS. Нет принципиальных препятствий для функционирования GaladrielMap на любых устройствах под управлением операционных систем семейства Linux, на которые есть возможность установить PHP.
Клонировать репозиторий

Введение

  • Выбор архитектуры
  • Состав программного комплекса
  • Аппаратные требования
  • Общие программные требования
  • Получение, хранение и использование карт
  • Картплотер
    • Основной экран
    • Меню
      • Карты
      • Скорость и направление
      • Пути
      • Маршрут
      • Места и маршруты
      • Человек за бортом
      • Загрузки
      • Параметры
  • Панель приборов