Yacht Devices Новости: Шлюзы версии 1.07: передача путевых точек и маршрутов

30.10.2017

В наши шлюзы добавлена поддержка путевых точек и маршрутов. Прочтите статью ниже и узнайте больше об этой самой интригующей теме NMEA и узнайте, почему Илон Маск ступит на Марс, прежде чем вы сможете отправлять свои путевые точки с iPad на картплоттер.

Трансфер по маршруту от OpenCPN до Coastal Explorer через NMEA 2000, нажмите, чтобы увеличить

Рис. 1. Передача маршрута с OpenCPN на Coastal Explorer через NMEA 2000, нажмите, чтобы увеличить

Большинство современных морских устройств подключаются через NMEA 2000. Однако морское программное обеспечение по-прежнему использует старый протокол NMEA 0183. Например, очень популярный OpenCPN и Navionics Приложения для катания на лодках используйте NMEA 0183. Редкие исключения, например Прибрежный исследователь, которые поддерживают NMEA 2000 в дополнение к NMEA 0183, существуют.

USB Gateway, Wi-Fi Gateway и NMEA 0183 Gateway все они имеют интерфейс NMEA 2000 и встроенный преобразователь в/из NMEA 0183. Приложение, подключенное к последовательному порту (в случае USB Gateway) или TCP /IP (Wi-Fi Gateway), или устройство, подключенное к проводам NMEA 0183 NMEA 0183 Gateway, отправляет и получает предложения NMEA 0183. Шлюзы USB и Wi-Fi также могут отправлять в приложение чистые данные NMEA 2000, но это выходит за рамки данной статьи, поскольку в этом режиме шлюз только пересылает данные.

Итак, мы столкнулись с проблемой переноса путевых точек и маршрутов между NMEA 2000 и NMEA 0183. Та же проблема возникает при подключении старого оборудования NMEA 0183 к сети NMEA 2000.

И мы сделали это. Большой? Может быть. Потому что теперь нам нужно объяснить, почему это не сработает в реальном мире. Начнем с краткого технического обзора.

NMEA 0183 использует два предложения для передачи маршрутов и путевых точек: RTE и WPL. WPL содержит положение и имя путевой точки (001, 002 и 003 в примере ниже). RTE может содержать одно или несколько предложений (два в примере ниже); каждое предложение содержит название маршрута и список названий путевых точек. Если вы хотите узнать больше о формате этих предложений, мы можем указать вам на эта статья.

Пример маршрута «MyRte» (содержащего путевые точки «001», «002» и «003»), отправленного приложением OpenCPN:


    $ECWPL,3908.203,N,07625.862,W,001*70
    $ECWPL,3908.353,N,07625.018,W,002*72
    $ECWPL,3908.149,N,07624.753,W,003*73
    $ECRTE,2,1,c,MyRte,001,002*51
    $ECRTE,2,2,c,MyRte,003*4E

NMEA 2000 предлагает набор из одиннадцати PGN с номерами 130064-130074. PGN 130074 «WP Name & Position» используется для отправки путевых точек:

NMEA 2000 PGN 130074

Рисунок 2. Сообщение NMEA 2000 с PGN 130074 (посмотреть источник)

NMEA 2000 немного сложнее, чем NMEA 0183. Помимо имени и положения путевой точки, путевые точки имеют WPID (числовой идентификатор путевой точки) и идентификатор базы данных (что упрощает синхронизацию баз данных различных устройств).

Для передачи маршрута используются PGN 130066 "Route/ WP-L ist Attribute" с названием маршрута и PGN 130067 "Route - WP Name & Position" (очень похоже на PGN 130074, показанный на рисунке 2) с названиями и положениями путевых точек маршрута. Список NMEA 2000 PGN опубликованы здесь. если вы хотите узнать больше об этих PGN или проверить список полей.

Мы уважаем и ценим усилия, которые Ассоциация NMEA обеспечивает совместимость устройств разных производителей друг с другом. Эти одиннадцать PGN (130064-130074) были добавлены в стандарт NMEA 2000 в 2004 году. (в то время, когда на массовом рынке не было устройств NMEA 2000, — появились примерно на два года позже). Несмотря на некоторые различия в NMEA 0183 и NMEA 2000, эти PGN обеспечивают плавную передачу путевых точек и маршрутов между двумя сетями.

Raymarine LightHouse R19 NMEA 2000 PGN

Рисунок 3. Скриншот Raymarine Lighthouse R19 (июнь 2017 г.) документация

Давайте посмотрим, как эти предложения NMEA 2000 PGN и NMEA 0183 поддерживаются основными игроками.

1. Raymarine, современные картплоттеры с программным обеспечением Lighthouse R19 (июнь 2017 г.)

NMEA PGN 130064-130074 не поддерживаются (или см. рисунок 3 выше). NMEA 0183 предложения WPL и RTE являются не поддерживается. Это означает, что вы не могу синхронизировать путевые точки и маршруты либо NMEA 2000, либо NMEA 0183.

Raymarine Lighthouse имеет функцию «Мастер данных», обещающую синхронизацию путевых точек и маршрутов с помощью SeaTalk HS (не путать с SeaTalk NG, SeaTalk HS основан на протоколе Ethernet).

2. Garmin GPSMAP 8400/8600 (руководство от апреля 2017 г.)

NMEA PGN 130064-130074 не поддерживаются (стр. 52-53). Поддерживается предложение WPL для NMEA 0183 (отправка и получение, стр. 53), но не RTE [Обновление: RTE передан, апрель 2020 г.]. Поэтому возможна только передача путевых точек по NMEA 0183, но не по NMEA 2000.

Можно ли перенести маршруты и путевые точки между Garmin и Garmin? Да, они предлагают «Синхронизацию по морской сети Garmin» (протокол Ethernet, а не NMEA 2000).

3. Simrad, Lowrance и B&G (марки Navico)

Поддерживается только PGN 130074, предложения WPL и RTE не поддерживаются в соответствии с руководство по установке Lowrance HDS Gen3 (стр. 59–61).

4. Furuno

NMEA PGN 130064-130074 не поддерживаются. Поддерживается предложение WPL (отправка и получение), но не RTE. Эта информация взята из последняя версия руководства TZTL12F (см. раздел «Технические характеристики»).

Вышеуказанные компании контролируют более 80% рынка морской электроники в сегменте досуга. И они игнорируют путевые точки и маршруты передачи PGN. Мы упомянули Прибрежный исследователь как редкий программный продукт, поддерживающий NMEA 2000. К сожалению, но это неудивительно, Coastal Explorer не поддерживает номера PGN 130064-130074.

Мы реализовали поддержку NMEA 2000 PGN 130066, 130067 и 130074, а также поддержку предложений RTE и WPL NMEA 0183, и никто кроме нас ее не поддерживает. Мы одни.

У нас есть ответ на ваш вопрос «почему?» вопрос. Никто из крупных игроков не заинтересован в строгом следовании стандартам NMEA. Они не могут покинуть NMEA, потому что это сильный бренд. Клиенты ожидают, что, выбрав сертифицированное оборудование NMEA, они смогут расширить свою систему или заменить компоненты.

И это верно, когда мы говорим о простых вещах, таких как датчики. Вы можете расширить свою систему барометром или термометром или даже шлюзом двигателя. А как насчет замены чего-то? Давайте посмотрим на наше парусное судно Mur Mur (Dufour 375 GL, 2011 г.), оснащенное электроникой Raymarine.

Мы не можем изменить радар RD418D, поскольку он использует собственный протокол SeaTalk HS. Только картплоттеры Raymarine будут работать с этим радаром, и только радары Raymarine могут работать с нашим картплоттером Raymarine C90W.

Наш автопилот Raymarine SPX30 использует собственные PGN и управляться можно только с дисплеев Raymarine (и с наших шлюзов, но это другая тема). Это еще одна причина, по которой замена C90W должна производиться только на Raymarine.

Я не уверен, сможем ли мы изменить дисплеи приборов ST70, поскольку они также используются для калибровки эхолота и флюгера. И именно поэтому мы, вероятно, не сможем поменять флюгер. В большинстве случаев для калибровки датчиков вам понадобится дисплей того же производителя. Следовательно, это неверно даже для датчиков.

Мы не можем изменить поставщика всего, что мы установили. Мы можем приобрести только новое снаряжение Raymarine, но не можем заменить его на Furuno или Garmin. Честно говоря, мы добавили Garmin AIS600, подключенный через NMEA 2000 (SeaTalk NG), и он работает. Однако наш картплоттер Raymarine C90W раздражает нас предупреждением «Соединение AIS потеряно» в местах с низким трафиком, и мы не можем его подавить. Иногда оно появляется каждую минуту.

Что мы можем сказать о Raymarine? Ничего, потому что это проприетарная сеть SeaTalk NG, совместимая с NMEA 2000, но не NMEA 2000. Furuno CAN, Simrad SimNet или LowranceNet лучше? Мы не уверены.

Крупные игроки не очень заинтересованы в бесперебойной связи. Они больше заинтересованы в эксклюзивной продаже запасных частей на весь срок службы вашей лодки, как только вы ее зацепите. Именно поэтому сообщения NMEA 2000, которые были представлены до появления устройств NMEA 2000, пока не поддерживаются. Garmin Marine Network не совместима с SeaTalk HS, поэтому вы никогда не сможете синхронизировать маршруты на современных картплоттерах Garmin и Raymarine, подключенных всеми возможными проводами, с NMEA 0183, NMEA 2000 и Ethernet. Наша следующая надежда — предстоящий NMEA OneNet (также основанный на Ethernet, как Garmin Marine Network или SeaTalk HS), но я больше верю в Илона Маска и марсианский проект.

 

Реализовать поддержку этих PGN несложно. Однако это позволит использовать ПК или планшет вместо дополнительного картплоттера рядом с картографическим столом для планирования маршрута. Вот почему предложение NMEA 0183 RTE не поддерживается ни одним из упомянутых выше картплоттеров. Следовательно, вы не можете перенести маршруты с ПК или мобильного приложения на современный картплоттер ни с помощью NMEA 0183, ни с помощью NMEA 2000.

Итак, что же вы получите с этим обновлением наших шлюзов на практике? Например, у нас есть Raymarine C90W с NMEA 0183 Gateway, подключенным к порту NMEA 0183, и он может обмениваться маршрутами и путевыми точками с Coastal Explorer, подключенным к NMEA 2000 с помощью нашего USB Gateway (в режиме NMEA 0183). В этом случае Raymarine C90W и Coastal Explorer работают с NMEA 0183, но данные передаются по сети через NMEA 2000 (как на рисунке 1). В отличие от современных картплоттеров Raymarine с программным обеспечением LightHouse, наш старый широкоэкранный C90 по-прежнему поддерживает как RTE, так и WPL.

К нашему сожалению, OpenCPN может отправлять маршруты и путевые точки только на NMEA 0183, но он не могу получить маршруты и путевые точки. Он также не позволяет отправлять путевые точки и маршруты на порты TCP или UDP (Coastal Explorer может). У нас нет оборудования Navico, и мы не можем проверить, как работает передача путевых точек с помощью PGN 130074. Мы надеемся вскоре получить отзывы от пользователей Lowrance, Simrad и B&G.

Если у кого-то есть другие идеи, почему PGN путевых точек и маршрутов, а также предложения NMEA 0183 не поддерживаются, или если у вас есть примечание относительно упоминания вашей компании, вы можете свяжитесь с нами. Мы опубликуем ваш ответ на наших страницах. Очень грустно осознавать, что простые технические вещи не работают только потому, что маркетологи говорят, что это защитит продажи в будущем.

Это еще не все, что включено в обновление 1.07 прошивки. Также мы добавили поддержку PGN 129285, который используется для передачи названий путевых точек в активном маршруте (он не используется для передачи всего маршрута; сообщение содержит только путевые точки отправления и назначения и отправляется только при включенном автопилоте). PGN поддерживается всеми современными картплоттерами. Шлюзы, использующие этот PGN во время преобразования в/из предложений NMEA 0183, APB и RMB, используемые для управления автопилотом.

NMEA 2000 PGN 129285

Рисунок 4. Сообщение NMEA 2000 с PGN 129285 (посмотреть источник)

Одним из основных сообщений NMEA 2000, используемых для управления автопилотом, является PGN 129284 «Навигационные данные». Его нельзя напрямую преобразовать в предложения NMEA 0183 RMB и APB, поскольку он содержит только числовые идентификаторы путевых точек, но не имена путевых точек, используемые в RMB и APB (и которые доступны в PGN 129285):

NMEA 2000 PGN 129284

Рисунок 5. Сообщение NMEA 2000 с PGN 129284 (посмотреть источник)

Алгоритм преобразования имен и идентификаторов путевых точек между NMEA 0183 и NMEA 2000 теперь очень умный. Он кэширует маршруты и путевые точки, передаваемые в обоих направлениях, и поддерживает внутреннюю базу данных путевых точек, использует PGN 129284, если он доступен, и использует собственные Raymarine PGN 130848 и 130918 (поскольку Raymarine игнорирует PGN 129284 до момента выпуска картплоттеров современного поколения с программным обеспечением LightHouse).

Рисунок 6. Raymarine C90W показывает активную путевую точку OpenCPN (004).

Рисунок 6. Raymarine C90W показывает активную путевую точку OpenCPN (004).

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

А теперь последняя, но не менее важная особенность версии 1.07. Теперь вы можете настроить идентификатор говорящего (два следующих символа после знака $ или!) для выходных предложений NMEA 0183. По умолчанию для идентификатора говорящего установлено значение «--», а предложения шлюза выглядят так:


    $--WPL,5441.1350,N,02014.5420,E,001*6A
    $--WPL,5441.1240,N,02014.6170,E,002*6A
    $--WPL,5441.1150,N,02014.6850,E,003*62
    $--WPL,5441.1170,N,02014.7660,E,004*6B
    $--WPL,5441.1350,N,02014.8640,E,005*67
    $--RTE,1,1,c,My Funyy Route,001,002,003,004,005*0D

Мы обнаружили, что некоторые версии MaxSea игнорируют предложения с этим идентификатором говорящего. Идентификатор говорящего — XX в приведенных ниже примерах:

  • NMEA 0183 Gateway. Добавьте строку TALKER_ID=XX в файл конфигурации.
  • USB Gateway. Используйте команду SET: SET TALKER_ID XX
  • Wi-Fi Gateway. Отредактируйте идентификатор говорящего на странице «Настройки NMEA» веб-сайта администрирования.

Обновления доступны в разделе загрузок . И не пропустите отличное обновление для нашего Wi-Fi Gateway ожидается на следующей неделе, он будет содержать красочные веб-измерители!