Запись данных NMEA в базу данных (на примере MS Access)
Задача: Запись данных навигационной информации, полученных от GPS-приемника, в базу данных (на примере Microsoft Access).
Исходные требования:
- Advanced NMEA Data Logger Professional или пробная версия (скачать).
- Модуль экспорта данных “ODBC Database” (включен в инсталляционный пакет логгера).
- Необходимо настроить прием данных от оборудования, передающего данные в формате NMEA 0183 (формат NMEA 2000 не поддерживается). Принимаемые данные должны отображаться в главном окне программы.
Решение:
Шаг 1. Настройка парсера
Выберите необходимые пакеты NMEA из списка поддерживаемых пакетов в парсере:
1. Откройте конфигурацию (Опции –> Управление конфигурациями –> Ваша конфигурация –> Изменить).
2. Перейдите к закладке “Модули – Запрос Анализ Фильтрация” (рис. 1).
Рис. 1. Модуль-парсер
3. Нажмите кнопку “Настроить” рядом с “NMEA data parser”.
4. В появившемся окне (рис. 2) выберите типы пакетов, данные из которых будут экспортироваться в базу данных.
Рис. 2. Типы пакетов данных
Важно: выберите только нужные типы пакетов данных, чтобы исключить экспорт ненужных данных.
5. На закладке “Основное” (рис. 3) рекомендуется добавить выбранные типы пакетов в список группируемых данных. Следует обратить внимание на то, указывается идентификатор типа устройства. RMC -> GPRMC. Поскольку пакеты идут один за другим и обрабатываются последовательно, включение группировки данных поможет избежать появления пустых полей в базе данных.
Рис. 3. Группировка пакетов данных
Сохраните изменения, нажав кнопку “OK”.
Шаг 2. Проверка парсера и просмотр принимаемых данных
На данном этапе необходимо убедиться в том, что парсер работает корректно. Это можно сделать с помощью модуля “DDE server”, включенного в стандартный инсталляционный пакет. Для проверки парсера сделайте следующее:
1. Включите модуль “DDE server” на закладке “Экспорт данных” (рис. 4).
Рис. 4. Модуль экспорта данных
2. Сохраните изменения, нажав кнопку “OK”. Новый модуль будет загружен и начнет работать. Снова откройте окно с модулями экспорта данных и дважды щелкните по “DDE server” в списке модулей.
3. В появившемся окне (рис. 5) перейдите на закладку “Все активные переменные”.
Рис. 5. DDE server
4. Дождитесь приема пакетов данных, которые вы выбрали в парсере. Если вы включили группировку пакетов данных в парсере, то необходимо дождаться приема пакетов обоих типов.
5. В списке активных переменных появятся переменные с декодированными значениями (рис. 6). Как видно, даже два типа пакетов дают большое количество декодированных значений. Возможно, вы захотите использовать и записывать в базу только некоторые значения. В этом случае запомните имена необходимых переменных. В дальнейшем в модуле экспорта данных каждая переменная будет записываться в свою колонку в базе данных.
Рис. 6. Переменные парсера
Замечание: префикс “srvi” у переменных используется только в модуле “DDE server”. Все остальные модули оперируют именами переменных без этого префикса.
Если переменные не появляются в списке, убедитесь в том, что:
- Вы выбрали нужные типы пакетов данных.
- Группируются только типы пакетов, выбранные из списка.
- Принимаемые данные имеют формат, соответствующий стандарту NMEA 0183. Пример корректных пакетов NMEA 0183:
$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A
$GPGLL,3907.360,N,12102.481,W,183730,A*33
Шаг 3. Настройка экспорта данных в базу данных
В данном примере запись данных в базу будет осуществляться с помощью модуля “ODBC Database” (рис. 7).
Предварительно необходимо создать базу данных необходимой структуры, поскольку программа не умеет создавать базу данных автоматически. В базе данных необходимо вручную создать таблицу, где будут храниться данные. Базу данных, которая использовалась в примере можно скачать здесь.
Далее сделайте следующее:
1. Включите модуль экспорта данных и дважды щелкните по его имени.
Рис. 7. Модуль записи данных в базу данных
2. В появившемся окне включите запись с помощью переключателя “Записывать новые данные в базу данных” (рис. 8).
Рис. 8. Включение записи в базу данных
3. На закладке “Соединение” (рис. 9) настройте соединение с базой данных.
4. Если ваша база данных отсутствует в выпадающем списке, создайте и настройте системный источник данных (System DSN) в администраторе ODBC-соединений. Затем закройте администратор ODBC-соединений и нажмите кнопку “Refresh”.
5. Выберите базу данных из выпадающего списка. В случае использования Microsoft Access необходимо дополнительно указать полный путь к файлу базы данных (см. рис. 9).
Рис. 9. Модуль записи данных в базу данных
6. Перейдите к закладке "Связывание” (рис. 10) и импортируйте описание вашей таблицы из базы данных с помощью кнопки “Импорт”.
Рис. 10. Связывание переменных и колонок в таблице
7. Для каждой колонки укажите переменную парсера. Большинство переменных можно выбрать из выпадающего списка. Если переменная отсутствует в списке, но была в списке активных переменных на шаге №2, то ее имя можно ввести вручную.
8. Удалите из списка колонки, в которые не нужно записывать данные (например, поля типа “Счетчик” или поля, которые заполняются значением по умолчанию).
9. Нажмите кнопку “OK” и сохраните сделанные изменения. Теперь при поступлении новых данных они сразу будут записываться в базу данных.
Готовую конфигурацию модуль экспорта данных можно загрузить из файла, используя кнопку "Загр. и Сохр.".
Готовую конфигурацию всей программы можно загрузить из файла, используя пункт меню "Файл - Восстановить из резервной копии" в главном окне программы.
Сопутствующие статьи:
Запись данных NMEA в базу данных (на примере MS Access)
Запись данных AIS в базу данных
Экспорт всех принимаемых данных AIS или NMEA в XML, в тестовый файл
Экспорт данных NMEA или AIS в Excel, в CSV файл