Сырые данные¶
С приёмником MS2 можно записывать сырые данные в проприетарном формате «ubx» с помощью Android-приложения с открытым исходным кодом RTKGPS+, а затем преобразовывать их в формат RINEX бесплатными утилитами.
Примечание
RINEX, Receiver INdependent EXchange format, — формат файлов для хранения данных спутниковых навигационных систем. Стандарт RINEX позволяет хранить данные и обмениваться ими независимо от того, каким приёмником они получены. Данные в формате RINEX можно обработать постобработкой и получить более точное решение; обычно для этого привлекают дополнительные сведения, недоступные в момент измерений, например данные наблюдений и модели атмосферных условий.
RTKGPS+¶
Приложение RTKGPS+ — проект с открытым исходным кодом, основанный на известной программе RTKLIB и доработанный для работы с модулями u-blox F9P.
Оно использует модуль «Navi» из состава RTKLIB, который обеспечивает определение координат в режиме RTK с приёмником u-blox (или другим), подключение к базе RTK через сеть 3G/4G и запись сессий в статическом или кинематическом режиме.
Приложение умеет выдавать фиктивное местоположение: смартфон использует не встроенный приёмник, а внешнюю антенну, благодаря чему геолокация работает с сантиметровой точностью.
Если говорить подробнее, RTKGPS+:
- может работать в фоновом режиме
- имеет достаточно простой интерфейс
- может сохранять историю координат в файл .pos
- может выступать сервером данных или клиентом сервера слежения
Первоначальные настройки¶
- Разрешите установку из неизвестных источников в системе Android:
- Скачайте и установите приложение по этой ссылке или по этой.
- Скачайте и установите приложение из Google Play Store
- Включите параметры разработчика, чтобы пользоваться фиктивным местоположением
- Включите режим разработчика:
- Включите «фиктивное местоположение»:
- Отключите определение местоположения по Wi-Fi, чтобы избежать скачков позиции:
Установка¶
Скачайте settings.zip и поместите его в папку RtkGPS вашего устройства Android: при перезапуске приложения настройки применятся сами.
Запустите приложение RTKGPS+
В меню слева прокрутите вниз и нажмите «Загрузить настройки»
Когда окно сообщения исчезнет, закройте и снова откройте приложение, чтобы новые настройки вступили в силу.
Снова откройте RTKGPS+
Разрешите приложению доступ к хранилищу данных и к местоположению
Нажмите на логотип RTKGPS+, чтобы перейти к параметрам
Нажмите «Опции обработки». В системах GNSS добавьте Beidou
В настройках разрешения неоднозначностей примените такую конфигурацию:
- Нажмите «Опции решения»
- Выберите «Формировать фиктивные координаты GPS»
- Снимите флажок «Включить тестовый режим»
- Нажмите «Входной поток» и введите параметры настройки ровера и базы, как показано в прилагаемом видео
- Задайте значения в соответствии с файлом settings.zip
- Запустите сервер
Начало сессии¶
С помощью приложения с открытым исходным кодом RTKGPS+ рассмотрим, как записать сырые данные в проприетарном формате u-blox (ubx) прямо на устройство Android, а затем преобразовать их в международный формат RINEX (наблюдения и навигация).
На вашем устройстве Android:
- Запустите приложение и в контекстном меню слева выберите Input streams (1)
- В поле Type (4) выберите источник входящих данных (например, Bluetooth или TCP/IP), а в stream setting (5) — подключённое устройство либо IP-адрес и порт
- Задайте формат входящих данных (7) от устройства (в нашем случае u-blox)
- Для входа базы оставьте «OFF»
- В разделе Logstreams:
- Затем в Frequencies задайте L1+L2+L5 (11) (см. рис.5)
- (см. рис.5)
- Вернитесь в главное меню и начните запись, включив Server «ON» (12) (см. рис.1)
- При запуске службы отобразятся отслеживаемые спутники, как на рисунке ниже
Подсказка
Подождите немного, пока не будет захвачено достаточное число спутников
Загрузка и преобразование сырых данных¶
- скачайте данные на ноутбук — файл записи находится в папке RtkGps на устройстве Android
- откройте настольный пакет RTKLIB с открытым исходным кодом и запустите утилиту Rtkconv, которая преобразует наш файл из проприетарного формата ubx в международный формат RINEX
- перетащите проприетарный файл UBX в поле RTCM, RCV or RINEX OBS ? (2) (см. рис.6)
- выберите путь для файла obs (наблюдения) и файла nav (навигация) — (3)
откройте «Options…» и задайте параметры, как на рисунке ниже:
- для последующей постобработки используйте только группировку GPS (5), поэтому в разделе Satellite System снимите флажки с остальных группировок
- оставьте без изменений использование двух частот L1 и L2 в разделе Frequencies
- нажмите Ok для подтверждения
После преобразования появятся два новых файла:
- XXXXX.obs (наблюдения)
- XXXXX.nav (навигация)
Подсказка
Файл obs можно переименовать в XX.o: данные наблюдений при этом не теряются
Видео
Как записать сырые данные и выгрузить их для работы в RTKLIB — в этом видео
raw2g0¶
Android-приложение raw2g0 создано специально для работников лесной службы, которые будут выполнять IFNI системой GNSS MS2, чтобы предельно просто записывать сырую статическую сессию GNSS для последующей постобработки.
Возможности¶
- Подключение к устройству Android по классическому Bluetooth
- Запись сессий сырых данных в формате .ubx
- Сохранение файлов в папках по дням
Примечание
Сессия записывается в проприетарном двоичном формате «ubx» в папку, создаваемую для дня съёмки, поэтому все пункты, записанные в один день, попадают в одну папку.
Требования¶
raw2g0 работает на устройствах с Android 7 и новее. Для записи файла нужен внешний приёмник GNSS с включённым и заранее сопряжённым Bluetooth.
Предупреждение
Всегда проверяйте, что приёмник настроен так, чтобы поток Bluetooth был в формате UBX или UBX+NMEA.
Если вы используете несколько приложений с разными потоками, например двоичным и NMEA, обязательно настройте приёмник до начала записи: чтобы передавать оба, задайте смешанный поток UBX+NMEA.
Если в потоке нет двоичных данных UBX (а есть, например, только NMEA), запись окажется испорченной и преобразовать её в файл RINEX будет невозможно.
Совет
Рекомендуется установить на устройстве Android максимальное время до отключения экрана.
По этой ссылке — короткое видео о настройке смешанного потока UBX+NMEA и сохранении его в файл конфигурации для повторного использования.
Установка¶
- Скачайте
здесь - Установите приложение на устройство Android
- Запустите приложение
- При первом запуске разрешите доступ к Bluetooth и к файлам, если появится запрос
Использование¶
Ниже описан порядок статической съёмки с raw2g0. Шаги очень простые, но выполнять их нужно внимательно:
- при запуске приложения подключите приёмник к raw2g0 по Bluetooth кнопкой «Select Device» — единственным зелёным значком с изображением устройств
- при нажатии появляется список доступных ранее сопряжённых устройств Bluetooth
- нажмите на нужное — включённое, доступное и заранее сопряжённое
- начните запись кнопкой «Start Recording» — красным значком с изображением часов и трёх полосок слева
в центре экрана появится окно настройки параметров:
- введите имя (обязательно, буквы и цифры без пробелов) снимаемого пункта
- введите время стояния на пункте в секундах (например, 1800 с = 30 мин)
- отметьте sound, если по окончании записи нужен звуковой сигнал
- отметьте вибрацию, если по окончании записи нужно уведомление вибрацией
- нажмите «OK», чтобы начать запись (обратный отсчёт)
- запись начинается, кнопка «Start Recording» меняет цвет с зелёного на красный, и внутри неё отображается обратный отсчёт
- по окончании уведомление (если оно задано) сообщит о завершении записи, и экран вернётся к виду с рисунка 3, после чего можно начать новую запись
- сессия автоматически сохраняется в папку с датой дня (например, 2024-09-25)
Совет
Если ждать заданное время стояния не нужно, запись можно остановить в любой момент кнопкой «stop». Сессия прервётся сразу, но всё равно будет сохранена
Видео
Видео о описанных выше возможностях — здесь.
rawX¶
rawX — бесплатное Android-приложение с расширенными возможностями, созданное для техников, геодезистов, исследователей и вообще всех, кто работает с высокоточными системами GNSS. Приложение записывает сырые данные с внешних приёмников GNSS по классическому Bluetooth (SPP) и поддерживает несколько режимов работы под разные профессиональные задачи.
Возможности¶
Подключение по классическому Bluetooth (SPP) к внешним приёмникам GNSS
Режимы записи на выбор:
- 🧍 Статический: статические наблюдения в течение заданного времени
- 🚶 Кинематический: наблюдения в движении в течение заданного времени
- 🧍🚶🧍 Stop&Go: наблюдения по времени, точка за точкой
Имя точки (статический, кинематический режим) или имя первой точки (stop&go)
Высота прибора в метрах для измерения точки или траектории на земле
Настраиваемый обратный отсчёт в секундах для статических и кинематических сессий, а также для интервалов stop и go в режиме stop&go
Понятный интерфейс:
- Кнопки, меняющие вид в зависимости от состояния
- Цвета и надписи, обновляемые в реальном времени
Встроенное окно «About» со сведениями об авторе и активной ссылкой на электронную почту
Автоматическое сохранение данных в папку Download; имя файла содержит точный момент сохранения (формат .ubx для сырых данных и .csv для журнала сессии)
Звуковое и тактильное уведомление по окончании сессий
Совместимость с профессиональными приёмниками GNSS (u-blox и другие)
Подключение к Интернету не требуется
Требования¶
rawX работает на устройствах с Android 7 и новее. Минимальные требования:
Устройство Android с включённым классическим Bluetooth
Операционная система: Android 7.0 (API 24) или новее
Свободное место во внутренней памяти для записи файлов
Необходимые разрешения:
- Bluetooth и Bluetooth Admin (до Android 11)
- Bluetooth Scan и Connect (начиная с Android 12)
- Доступ к местоположению (необходим для Bluetooth)
- Чтение и запись во внешнюю память
Для записи файла нужен внешний приёмник GNSS с включённым и заранее сопряжённым Bluetooth
Предупреждение
Всегда проверяйте, что приёмник настроен так, чтобы поток Bluetooth был в формате UBX или UBX+NMEA.
Если вы используете несколько приложений с разными потоками, например двоичным и NMEA, обязательно настройте приёмник до начала записи: чтобы передавать оба, задайте смешанный поток UBX+NMEA.
Если в потоке нет двоичных данных UBX (а есть, например, только NMEA), запись окажется испорченной и преобразовать её в файл RINEX будет невозможно.
Совет
Рекомендуется установить на устройстве Android максимальное время до отключения экрана.
По этой ссылке — короткое видео о настройке смешанного потока UBX+NMEA и сохранении его в файл конфигурации для повторного использования.
Установка¶
- Скачайте
здесь - Установите подписанный APK на своё устройство Android
- Предоставьте запрошенные при первом запуске разрешения
- Запустите приложение
- При первом запуске разрешите доступ к Bluetooth и к файлам, если появится запрос
- Убедитесь, что приёмник GNSS включён и виден по Bluetooth
- Подключите устройство кнопкой «Select Device»
- Выберите нужный режим записи
Версия 1.5: (последняя)¶
Расширенная совместимость с устройствами Bluetooth. Теперь приложение распознаёт и автоматически подключается к приёмникам GNSS, имя Bluetooth которых начинается с MS1, наряду с уже поддерживаемыми MS2. Это относится к устройствам серий MS1 и MS1mini.
Выбор отступа антенны. В настройках Static/Kinematic и Stop&Go добавлено выпадающее меню для выбора отступа антенны GNSS. Отступ — это расстояние по вертикали между опорной точкой антенны (ARP) и фазовым центром. Доступные предустановленные значения:
- No offset — без поправки (0 мм)
- MS1/MS2 — стандартный отступ для антенн MS1 и MS2 (63,5 мм)
- MS1mini — отступ для антенны MS1mini (46,9 мм)
Выбранный отступ автоматически прибавляется к введённой высоте прибора, поэтому достаточно ввести высоту, измеренную от земли до опорной точки антенны.
Управление пользовательскими отступами. Кнопка «…» рядом с меню отступов открывает окно управления, где можно:
- Просмотреть все доступные отступы
- Добавить новые пользовательские отступы (имя и значение в мм)
- Удалить пользовательские отступы (с подтверждением)
Предустановленные отступы защищены значком замка и не удаляются. Пользовательские отступы сохраняются и остаются доступными между сессиями.
Указание UTC в файлах CSV. Метки времени в экспортируемых файлах CSV теперь явно помечены как UTC:
- Заголовок сессии: # Start (UTC): и # End (UTC):
- Столбец данных Stop&Go: Timestamp(UTC)
Это исключает неоднозначность в толковании записанного времени при постобработке.
Версия 1.4¶
- Исправление ошибок
Версия 1.3:¶
- Наглядный обратный отсчёт, попеременно показывающий «CHECK» и оставшиеся секунды во время проверки данных
- Блокирует действия пользователя на важном этапе проверки соединения с устройством
Версия 1.2:¶
- переработан экран соединения с контролем входящего потока UBX, исправлены различные ошибки
- соединение Bluetooth SPP только с устройствами MS2
- добавлены новые подключения по USB и TCP
- улучшен интерфейс: кнопки разного цвета
- возможность передать сессию без кабеля для выгрузки данных
- общие исправления ошибок
Использование¶
Запустите приложение только что установленным значком, как на рисунке ниже
При запуске rawX показывает анимированную заставку с процентом загрузки программы
Далее можно выбрать режим работы: Static/Kinematic или Stop&Go
Режим Static/Kinematic¶
Кнопкой «Select Device» приложение подключается к приёмнику по Bluetooth
Выберите устройство, ранее сопряжённое по Bluetooth
Подключение сопровождается наглядным обратным отсчётом
После выбора устройства в режиме Static/Kinematic можно начать запись кнопкой «Start Recording»
На экране появится окно настройки режима Static/Kinematic, где задаются:
- имя снимаемой точки или траектории
- время обратного отсчёта сессии в секундах
- высота прибора в метрах
- звуковое или вибрационное уведомление по окончании отсчёта — как при обычном завершении, так и при остановке пользователем
После начала записи на экране отображается обратный отсчёт с ранее выбранным числом секунд, как на рис. 9 ниже
По окончании сессии запись автоматически сохраняется в папку, в которой находятся:
- выбранное имя точки или траектории с расширением .ubx — сырые данные
- выбранное имя точки или траектории с расширением .csv — журнал сессии
На рисунке ниже приведён пример файла csv — журнала для режима Static/Kinematic
Режим Stop&Go¶
Кнопкой «Select Device» приложение подключается к приёмнику по Bluetooth
Выберите устройство, ранее сопряжённое по Bluetooth
Подключение сопровождается наглядным обратным отсчётом
После выбора устройства в режиме Stop&Go можно начать запись кнопкой «Start Recording»
На экране появится окно, из которого начинается съёмка точек в режиме Stop.
При нажатии единственной активной кнопки «Go to Point» на экране появятся параметры stop&go, а именно:
- первая по порядку снимаемая точка
- время стояния на каждой последующей точке
- высота прибора в метрах для каждой последующей точки, как на рис.16
- звуковое или вибрационное уведомление по окончании отсчёта — как при обычном завершении, так и при остановке пользователем
Примечание
Долгое нажатие кнопки «Go to Point» в любой момент показывает текущее состояние ещё не снятой точки и последние выбранные значения обратного отсчёта и высоты прибора, чтобы их можно было изменить в любое время
Обратите внимание: точки снимаются по порядку, начиная с первой введённой.
Режим Stop запускается коротким нажатием кнопки «Go to Point»: начинается запись точки и обратный отсчёт, как на рис. 17 ниже
После съёмки всех точек всю сессию можно сохранить кнопкой «Save Session», как на рис.18 ниже
Примечание
Сессия автоматически сохраняется в папку с датой дня, а в ней находятся два файла: - полная кинематическая сессия в проприетарном сыром формате .ubx - чередующиеся интервалы Stop и Go для каждой снятой точки
На рисунке ниже приведён пример файла csv — журнала для режима Stop&Go
В любой момент можно вернуться в меню выбора режима кнопкой «Back», доступной в обоих режимах, либо просто выйти из приложения кнопкой «Exit» с подтверждением, как на рисунке ниже
Нажав на название приложения в левом верхнем углу, можно увидеть:
- имя разработчика
- текущую выпущенную версию
- дату выпуска
- электронную почту разработчика
- краткое описание приложения
Видео
Видео о описанных выше возможностях — здесь.


































