Смартфон на борту: как связать мобильные устройства с судовыми приборами

Date:

Показания ветра, глубины и скорости, контроль аккумуляторов, запись данных перехода и доступ к настройкам со смартфона — всё это можно получить с помощью недорогого сенсорного модуля. Яхтсмен и специалист по электронике Дэгнолл Клаттербак рассказал Practical Boat Owner, как собрал дополнительный многофункциональный дисплей для своего катамарана.

Задумываетесь о том, как сделать бортовую навигационную систему «умнее»? Развитие электроники, особенно устройств домашней автоматизации, дало нам множество миниатюрных, мощных и при этом доступных беспроводных модулей. Это навело меня на мысль: почему бы не использовать их для создания переносного экрана, на котором можно было бы видеть показания навигационных приборов и системы контроля аккумуляторов?

В последние годы появились небольшие беспроводные устройства с сенсорными дисплеями, в том числе на органических светодиодах. Изначально такие модули предназначались для «умных» выключателей освещения. Один из подобных модулей я приспособил для яхты, превратив его в недорогой дополнительный многофункциональный репитер — дисплей, повторяющий показания бортовых приборов.

Недорогой репитер судовых приборов — и далеко не только репитер.

Устройство принимает стандартные сообщения NMEA 0183, передаваемые судовым Wi-Fi-шлюзом. Стандарты Национальной ассоциации морской электроники — National Marine Electronics Association, NMEA — используются для обмена данными между двигателями, приборами и датчиками на судах.

Мой дисплей может работать со шлюзом, который передаёт данные бортовых приборов в приложения на телефонах. Исходная судовая сеть при этом может использовать NMEA 2000, сокращённо N2K, SeaTalk1 или NMEA 0183. Для описанного беспроводного подключения важно, чтобы на выходе шлюз выдавал сообщения NMEA 0183.

Что умеет дополнительный дисплей

После несложной настройки программного обеспечения я получил удобный доступ к показаниям приборов своего 26-футового катамарана. Кроме того, появились новые способы отображения данных.

Пример экрана с показаниями четырёх приборов.

В простейшем режиме экран разделён на четыре поля. Прикосновением к сенсорной панели можно перейти к крупному изображению одного прибора или выбрать другой способ представления информации — например, график изменения глубины.

Предусмотрен и отдельный экран для данных устройств Victron, использующих Bluetooth Low Energy, BLE. Так можно следить за напряжением аккумулятора. На одной из фотографий устройство показывает напряжение и ток, полученные от измерительного шунта Victron, рассчитанного на 300 А.

Программа NMEADisplay предназначена прежде всего для яхт с Wi-Fi-шлюзом, через который приложения на смартфонах и планшетах — например, Garmin или Navionics — получают сведения о глубине либо данные автоматической идентификационной системы AIS.

Дисплей подключается по беспроводной сети к точке доступа шлюза — Access Point, AP — и принимает сообщения NMEA 0183 по протоколу UDP, User Datagram Protocol. Сеть, пароль и номер UDP-порта можно задать с помощью встроенной экранной клавиатуры. Эти параметры должны соответствовать настройкам шлюза.

Экранная клавиатура для ввода параметров подключения.

Что понадобится для сборки

Прежде всего нужен Wi-Fi-шлюз. У многих картплоттеров эта функция уже встроена, поэтому необходимая возможность на борту, возможно, имеется. Другой вариант — отдельный шлюз, установленный для передачи сообщений NMEA 0183 по Wi-Fi в приложения на планшете или телефоне.

Репитер на штурманском столе получает данные по беспроводной сети. Для питания в таком режиме удобно использовать внешний аккумулятор — пауэрбанк.

Следующий компонент — сам дисплей. Для проекта нужна только передняя часть модуля с экраном и электроникой. В продаже встречаются также комплекты с реле для коммутации сетевого напряжения и креплениями под квадратную монтажную коробку выключателя размером 86 мм. Искать подходящее устройство можно по запросу: ESP32-S3 Development Board 4in LCD TouchScreen Display 480×480

То есть требуется отладочная плата ESP32-S3 с четырёхдюймовым сенсорным ЖК-дисплеем разрешением 480 × 480 пикселей. Обязательно убедитесь, что выбран вариант с контроллером дисплея ST7701. Существуют и другие четырёхдюймовые экраны на ESP32, но программа написана именно для этой версии.

Экран, открывающийся при касании нижней строки дисплея.

Как установить программу

Для первоначального подключения достаточно кабеля USB-A — USB-C. Разъём USB-A подключите к компьютеру, а USB-C — к модулю. Обычно после подачи питания на экране запускаются демонстрационные программы.

Веб-интерфейс встроенного сервера, открытый на смартфоне или планшете в браузере Chrome либо Safari.
Ещё один экран веб-интерфейса, доступного со смартфона или планшета.

Исходный код NMEADisplay размещён в репозитории:

https://github.com/dagnall53/NMEADisplay

Тем, кто уже работал с проектами Arduino, достаточно скачать файлы, скомпилировать программу в среде Arduino и загрузить её в модуль. Подробности приведены в файле README.md. Для тех, кто не знаком с программированием Arduino и ESP32, автор предусмотрел более простой способ установки.

Сначала подключите модуль к компьютеру через USB и определите, какой виртуальный COM-порт ему назначен. Если возникнут затруднения, откройте «Диспетчер устройств» Windows и найдите порт USB-SERIAL CH340. Запишите его номер: он понадобится при прошивке. Затем скачайте установочный командный файл WebProgram.bat:

https://dagnall53.github.io/NMEADisplay/build/WebProgram.bat

Windows может показать предупреждение при скачивании файла с расширением .bat; в описанном автором порядке установки потребуется разрешить его загрузку. Сохраните файл в удобной папке, например в «Загрузках», и запустите. Он скачает последние доступные скомпилированные файлы прошивки в ту же папку и выполнит программирование устройства. После завершения установщик удалит загруженные файлы прошивки и использованную утилиту записи. В папке останется только WebProgram.bat. Полное описание процедуры находится в README.md репозитория.

Показания приборов и управление экраном

В описанной версии программа поддерживает следующие данные: ветер, глубину, скорость относительно воды — STW, Speed Through Water, сведения GPS, включая широту и долготу, путевой угол — COG, Course Over Ground, а также скорость относительно грунта — SOG, Speed Over Ground. После запуска стандартная программа открывает страницу с четырьмя полями: ветер, STW, глубина и SOG/GPS.

Прикосновение к одному из полей переводит на страницу с более подробной информацией. Для ветра открывается увеличенный индикатор. Для глубины и скорости доступны графики, позволяющие видеть предыдущие значения и их изменение во времени.

Последующими касаниями можно переходить между страницами или возвращаться к общему экрану из четырёх приборов. На практике разобраться с этим проще, чем описать последовательность словами. Работа над проектом заодно помогает оценить, сколько труда крупные производители вкладывают в создание удобных и хорошо читаемых приборных экранов.

Чтобы изменить параметры Wi-Fi и другие настройки, коснитесь нижней строки дисплея. Откроется соответствующая страница, где можно воспользоваться экранной клавиатурой и перейти к дополнительным функциям. Среди служебных страниц есть и диагностический экран: он позволяет проверить, поступают ли сообщения NMEA и какие именно данные принимает устройство.

Запись данных перехода и доступ со смартфона

В стандартном модуле предусмотрен слот для карты microSD. Программа использует его для регистрации поступающей информации: на карте создаются файлы журналов, или логи. Впоследствии по ним можно просмотреть данные перехода, а при наличии соответствующих записей — и сведения о целях AIS. В программу также встроен веб-сервер. Подключённый смартфон или планшет позволяет через обычный браузер просматривать и изменять файлы на карте памяти.

Пункт SD file access открывает редактор файлов. С его помощью удобно получить доступ к config.txt, где задаются имя беспроводной сети — SSID, Service Set Identifier, пароль, UDP-порт и другие параметры.

Редактирование файла со смартфона или планшета может оказаться удобнее, чем ввод тех же значений на небольшой экранной клавиатуре самого прибора. Через веб-интерфейс предусмотрено и беспроводное обновление программы — OTA, Over-the-Air. По мере выхода новых версий дисплей можно обновлять без повторного подключения к компьютеру по USB.

Установка на яхте и питание

Для своего дисплея я изготовил простой кронштейн из алюминиевого уголка и закрепил его на съёмной задней панели модуля. Это позволило установить экран рядом с имеющимися приборами серии 60, работающими в сети SeaTalk.

Простой кронштейн из алюминиевого уголка.

На всякий случай я использовал пластиковые винты, хотя при правильном расположении крепёж и так не должен соприкасаться с электронными компонентами. Пока задняя крышка была снята, я обработал плату влагозащитным составом Aquacote, рассчитывая таким образом защитить её от морского воздуха. Сам прибор при этом установлен в сравнительно сухом месте. В продаже есть и другие составы, предназначенные для дополнительной защиты электроники.

Во время первых испытаний я питал модуль через обычный кабель USB-A — USB-C, подключённый к расположенной рядом с приборами USB-розетке. Это был тот же кабель, которым я пользовался при первоначальной прошивке. Позднее я подключил другой, двухпроводный USB-кабель к небольшому разъёму на задней стороне дисплея, задействовав только питание +5 В и общий провод GND.

Для работы от стандартной бортовой сети 12 В можно использовать небольшой преобразователь постоянного напряжения 12 → 5 В. Восьмиконтактный разъём, через который я подал питание, имеет также вход и выход последовательного интерфейса. Их можно использовать для проводного подключения к прибору NMEA. Программа уже предусматривает последовательный интерфейс как один из возможных источников данных. Если вы решите воспользоваться таким подключением, я рекомендую добавить оптронную развязку.

Подключение постоянно установленного USB-кабеля питания.

Для меня это оказался интересный проект. Поскольку исходный код открыт, надеюсь, что другие читатели Practical Boat Owner тоже попробуют собрать такой прибор и предложат свои усовершенствования.

Где найти компоненты и документацию

Исходный код и инструкции размещены на GitHub:

https://github.com/dagnall53/NMEADisplay

Сам модуль обычно можно найти на AliExpress по следующему поисковому запросу:

ESP32-S3 Arduino LVGL WIFI&Bluetooth Development Board 4.0 480×480 Smart Display 4.0 inch LCD TFT Module Capacitive Touch

Если продавец предлагает несколько вариантов, выбирайте исполнение с ST7701. Другие четырёхдюймовые сенсорные дисплеи ESP32 могут иметь иную распиновку. Для их использования потребуются изменения в программе, хотя, по оценке автора, они могут быть небольшими. Форум пользователей проекта Open Source NMEA Display:

https://www.vela-navega.com/forum/viewforum.php?f=26

Короткая ссылка, приведённая в оригинале:

https://tinyurl.com/nejk4p5s

Всё больше судовладельцев включают Wi-Fi-шлюз NMEA в состав бортовой электронной навигационной системы. Это позволяет использовать смартфоны, планшеты и другие устройства наряду со штатными приборными дисплеями — причём не только для повторения показаний, но и для более разнообразной работы с данными судовых датчиков. Приведенный выше проект показывает, каких результатов может добиться технически подготовленный любитель, используя доступные через интернет электронные компоненты и программное обеспечение с открытым исходным кодом. Многие необходимые ресурсы стоят совсем немного, а часть предоставляется бесплатно.

Современные бортовые системы всё чаще используют NMEA 2000, или N2K, вместо более раннего и простого NMEA 0183. Поэтому мне особенно интересно испытать этот проект в составе системы N2K.

Источник

ОСТАВЬТЕ ОТВЕТ

Turn on JavaScript to leave a comment.

Еще новости

Зарплата не спасает: почему медсёстры уходят из американских больниц

В Штатах медсестра, в среднем, зарабатывает больше 8 000...

Франция в силовом тупике

Массовые демонстрации, погромы и взаимные обвинения обнажили кризис французской...

Даже победа демократов не остановит Трампа: почему Конгресс теряет власть

Демократы могут получить большинство в Конгрессе, но их возможности...

Миллиард долларов на футбол: окупилась ли реклама Adidas на чемпионате мира?

Adidas потратила около миллиарда долларов на маркетинг во время...

Турция и Ливия укрепляют морское соглашение: почему Греция — против?

Восточноливийский парламент одобрил морское соглашение с Турцией, которому прежде...

ЕС упрощает возврат денег за авиабилеты: что изменится для пассажиров

Европарламент одобрил правила, призванные упростить возврат денег за отменённые...

Альберта выбрала Канаду: три четверти избирателей отвергли отделение

Жители канадской провинции Альберта на голосовании 19 октября поддержали...

Золотая лихорадка в Западной Африке: риски и давление властей

С 2020 года в Западной Африке запущено не менее...