Пока моя яхта в доставке. Озадачился навигацией, на самой яхте нет почти ничего, флюгер на мачте, обычный компас, датчик лага аналоговый и эхолот Raymarine A50 с неподключенным датчиком.
Решил сделать сделать так:
Датчик скорости и направления ветра, GPS, эл. компас, атм. давление, температура - Погодная станция AIRMAR 220WX
Глубина и скорость на воде - датчик от Raymarine A50 - туда же и выводить данные с эхолота.
AIS - Raymarine A700
WiFi NMEA2000 роутер - YDNR-02
В качестве навигационного дисплея - водонепроницаемый и противоударный планшет Samsung Galaxy Active Pro Tab 10 c Android 11
Планировал использовать iNavX т.к он умеет по WiFi тянуть NMEA2000 и красиво показывать и есть поддержка карт он навионикса или c-map
На деле оказалось что iNavX только под iPad умеет тянуть данные NMEA, в итоге остановился на Navinocis, он хотя бы данные AIS умеет показывать. Но осталось определиться как показывать данные с датчиков, хотя бы ветер и курс,
Оказалось YDNR-02 имеет свой web-сервер и умеет показывать данные в браузере. настроил главную страницу, куда вывел данные о ветре и курсе, и через разделение экрана в андроиде настроил отображение 3/4 экрана Navinocs 1/4 браузер с индикаторами.
Выглядит вот так
Оказалось не очень удобно, после сворачивания и разворачивания надо заново настраивать ширину экранов, а еще настройки индикации не хранятся на сервере а в браузере и можно легко их затереть и надо настраивать заново, в целом этим методом можно пользоваться, но хотелось большего.
В итоге решил написать свое приложение, в котором будет нужная информация. Изначально планировал сделать под Raspberry PI 2 а данные выводить на внешний дисплей, но потом передумал и решил выводить через VNC на планшет.
С Raspberry PI не очень сложилось, видеоядро там никак не хотело нормально работать и переделал в итоге под Android приложение.
В качестве источника данных выбрал SignalK сервер установленный на RaspberryPI 2, который вытягивает данные с YDNR-02 по TCP в формате NMEA0183 и переводит в удобоваримый формат, с которым работать одно удовольствие, к нему вообще много чего можно подключить, есть свой web-сервер со своими web приложениями, прикольная штука
Среда разработки Qt все приложение написано на QML и может портироваться на любую ОС
В итоге что умеет:
1. Направление вымпельного ветра (AWA)
2. Курс относительно ветра (показывает какой сейчас курс, бейдвинд, галфвинд и т.д)
3. Скорость вымпельного ветра (AWS)
4. Истинный курс (HDT)
5. Курс относительно земли (COG), есть отдельная индикация на компасе, чтобы видеть разницу между тем куда повернуто судно и куда оно плывет на самом деле с учетом дрейфа и сноса
6. Скорость на воде (STW)
7. Скорость относительно земли (SOG)
8. В целом можно примерно разглядеть направление вымпельного ветра на компасе
9. Координаты судна (LAT, LNG)
10. Дата и время полученная c NMEA сети от спутников GPS по UTC
11. Кол-во спутников GPS
12. Температура воды
13. Глубина под килем (DBK)
14. Температура воздуха
15. Атм. давление в мм рт. ст
16. Данные от AIS (vessels и aton), для кардинальных знаков указано с какой стороны проходить от них, есть просчет столкновения с судами, подсвечиваются оранжевым.
Я не особо дружу с дизайном, поэтому оформил все по своему вкусу и возможностям.
Вот видео работы снятое на планшете с тестовым треком который нашел в SignalK сервере, где были данные AIS.
https://disk.yandex..../7H7BnMHsGw9PDw