NTRIP-кастер. Как организовать передачу поправок по протоколу NTRIP

Описание
Очень часто при организации связи между Базой и Ровером по сети Интернет мы используем подключение по NTRIP. Что же это такое?

NTRIP – это протокол, основанный на HTTP, который используется для передачи корректирующей информации от одиночных Базовых Станций (БС) или сетей БС для работы в режиме RTK с обязательной авторизацией пользователей.


Данный протокол позволяет организовать подключение неограниченного количества пользователей с обязательной авторизацией, выбором Базовой станции (точки доступа), а также получать некоторые атрибуты работы клиентов: их местоположение, режим работы, версию NTRIP-клиента, количество спутников и возраст поправок. Для сравнения, в протоколе TCP/IP все эти данные отсутствуют и подключиться к БС может любой, зная ее IP-адрес и Порт.

В протокол NTRIP входят следующие составные части: сервер, кастер и клиент — все эти компоненты являются программным обеспечением, поэтому могут быть установлены на приемнике, контроллере или ПК.

Взаимодействие этих программ происходит следующим образом:

1. NTRIP-сервер подключается к источнику поправок (БС или сеть БС) и направляет поток корректирующей информации на NTRIP-кастер. Для соединения с кастером по его IP-адресу и порту NTRIP-сервер сообщает также точку доступа, через которую будет происходить обмен поправками, и пароль от нее.

Если пароль неверен либо точка доступа не существует – возникает ошибка и поток поправок не передается на кастер.

Если подключение прошло успешно, то поправки поступают на указанную точку доступа кастера.

2. Ровер обращается к NTRIP-клиенту за поправками, а клиент обращается на NTRIP-кастер, указывая его IP-адрес, порт, точку доступа (либо осуществляется запрос полного списка точек доступа, а затем происходит выбор необходимой), логин и пароль.

В случае, когда используется режим виртуальной БС (VRS) или ближайшей БС NTRIP-клиент передает еще и координаты Ровера в сообщении GPGGA формата NMEA.

Функционал VRS или подключения к ближайшей Базовой станции реализован следующим образом: NTRIP-кастер сообщает VRS-процессору координаты ровера для генерации виртуальной БС, а затем VRS-процессор передает на кастер поправку от виртуальной БС для соответствующего ровера. Либо основываясь на координатах пользователя происходит перенаправление потока поправок от ближайшей станции.

На данном этапе возникают основные ошибки: неверный логин/пароль (в том числе игнорирование регистра букв), неправильная точка доступа, пустая точка доступа (поправки с Базы на нее не поступают), отсутствие Интернета на Базе/Ровере, не передается сообщение GPGGA либо оно нулевое.

При успешном подключении клиента к NTRIP-кастеру осуществляется передача потока поправок с Базовой станции на Ровер через соответствующую точку доступа.
Реализация
Для лучшего восприятия информации, мы покажем реализацию NTRIP протокола с помощью бесплатных программ. Так Вы сможете самостоятельно организовать передачу поправок по NTRIP, но это является более сложным и малофункциональным решением. В качестве NTRIP-кастера со встроенным NTRIP-сервером используем ПО Lefebure NTRIP Caster. Программа легко устанавливается на ОС Windows и ранее распространялась бесплатно, в данный момент времени эта версия отсутствует на сайте производителя и необходимо уточнять ее наличие.

ПО GNSS Surfer от компании BKG распространяется бесплатно, ее используем в качестве NTRIP-клиента.

Все операции мы проделываем в локальной сети. Для работы из сети Интернет Вам необходимо настроить маршрутизацию портов.
Наша База с ГНСС-антенной подключена к ПК через COM-порт, и на этот порт выдается поток поправок. В программе Lefebure открываем вкладку Server для настройки NTRIP-сервера. Помним, что для этого необходимо указать название точки доступа, через которую будет осуществляться обмен поправками, и пароль от нее. Конкретно в нашем случае пароль в Lefebure не требуется. Точка доступа и параметры пользователя заранее заданы во вкладках программы Mount points и Users соответственно.

После успешного подключения сервера к кастеру нам необходимо настроить NTRIP-клиент. Открываем программу GNSS Surfer и останавливаем все процессы в ней кнопкой Stop. Нажимаем на кнопку Input-Output и указываем, что мы настраиваем NTRIP-клиент. Переходим на вкладку NTRIP-TCP-UDP Setting для настройки параметров клиента (см.скриншот). Необходимо указать IP-адрес кастера, порт, точку доступа (ввести название вручную или загрузить список кнопкой Search Mountpoint), а также логин и пароль.
Далее нажимаем на кнопку Start и, если все параметры введены верно, через пару секунд начнется передача поправок. Таким нехитрым образом можно реализовать протокол NTRIP совершенно бесплатно. В большинстве же случаев все программы для организации протокола являются платными и чаще всего работают на ОС Linux.
Основная функция NTRIP-кастера - хранение списка точек доступа и параметров авторизации для осуществления протокола NTRIP. Некоторые кастеры имеют расширенный функционал, например, могут включать в себя NTRIP-сервер (как мы рассмотрели выше), логгировать треки клиентов и их состояние, а также выводить эти данные на карту по запросу.
Кстати, одним из примеров таких кастеров является наша собственная разработка OScaster. Данная программа имеет весь вышеперечисленный функционал, а также веб-интерфейс для простой настройки и контроля состояния подключенных устройств. Сейчас OScaster функционируют в рабочем режиме, но мы еще дорабатываем его. В будущем планируем сделать удобный интерфейс загрузки «сырых» данных для постобработки, а также добавить некоторые новые функции.

Друзья, надеемся, тема была Вам интересна или даже помогла решить некоторые задачи. Если что-то осталось непонятым или появились вопросы - пишите в комментарии, вместе разберемся!


Вам понравилась статья?