|
|
## Архитектура
|
|
|
### Выбор программной архитектуры
|
|
|
Приложение имеет естественным образом распределённую архитектуру, предполагающую наличие централизованного сервера и какого-то количества клиентов, обращающихся к этому серверу.
|
|
|
"Естественность" наличия центрального сервера определяется тем, что, во-первых, имеется ряд датчиков, физически связанных с плавсредством (или транспортным средстваом), показания которых хотелось бы видеть. Это и эхолот, и метеостанция, датчики двигателя и внутреннего оборудования. Сюда же идейно можно отнести и приёмник сигналов ГеоПозиционной Системы (ГПС), хотя он чаще и не привязан непосредственно к плавсредству.
|
|
|
Другой причиной наличия центрального сервера является желание иметь единый пул навигационной информации,такой как карты, маршруты, лоции и т.п. Эта информация, во-первых, объёмна, а во-вторых, нуждается в периодической актуализации.
|
|
|
Таким образом, даже на малом любительском судне, если мы хотим иметь общую информацию хотя бы на двух экранах -- применение центрального сервера для её представления удобно и оправданно.
|
|
|
Если же мы приняли решение использовать централизованное серверное приложение, то мы можем сузить требования к клиентскому приложению, и получим возможность реализовать его так, чтобы его можно было запустить на возможно более широком спектре пользовательских устройсв. А поскольку почти на всех пользовательских устройствах есть веб-браузер, то выбор способа реализации очевиден -- это должно быть веб-приложение.
|
|
|
Поэтому GalsdrielMap является веб-приложением, ядро которого функционирует на центральном компьютере (сервере), а информация отображается на пользовательских устройствах (планшетах, ноутбуках, смартфонах). При этом пользовательские устройства не подвергаются никакой модификации и на них не ставятся никакие дополнительные программы: достаточно уже имеющегося браузера.
|
|
|
|
|
|
### Выбор оборудования для сервера
|
|
|
Представляется удобным иметь на борту единую точку доступа к Интернет, оснащённую достаточно хорошей антенной, высококачественным сотовым модемом, wi-fi связью высокой пропускной способности. Как правило, такая точка доступа сама по себе представляет собой относительно мощный компьютер общего назначения. Поэтому естественно использовать точку доступа в качестве бортового сервера.
|
|
|
GaladrielMap функционирует на маршрутизаторах под управлением OpenWRT, включая устройства, удовлетворяющие минимальным требованиям этой опреационной системы, а также на устройствах Victron Energy под управлением VenusOS. Нет принципиальных препятствий для функционирования GaladrielMap на любых устройствах под управлением операционных систем семейства Linux, на которые есть возможность установить PHP. |