Настройка сервера точного времени на контроллере Wiren Board 6 с модулем WBE2R-R-GPS
СТАТЬЯ В ПРОЦЕССЕ РЕДАКТИРОВАНИЯ И НАПОЛНЕНИЯ!
Модуль WBE2R-R-GPS позволяет автономно синхронизировать точное время контроллера по сигналам GLONASS/GPS и использовать контроллер в качестве источника точного времени NTP в сети.
Модуль поддерживает вывод сигнала pps на GPIO процессора контроллера. На уровне ядра модуль поддерживается модулем pps_gpio.
В дальнейшем предполагается, что модуль установлен в контроллер, сконфигурирован и правильность его работы проверена (смотрите раздел Wiren_Board 6:_WBE2R-R-GPS_GPS/GLONASS_Extension_Module
NMEA и PPS
В контроллере модуль представлен двумя устройствами -- последовательным портом /dev/ttyMOD3 и устройствоv передачи сигнала pps: /dev/pps2 Порт /dev/ttyMOD3 передает данные от модуля по стандартному протоколу NMEA, включающего сообщения о положении, скорости приемника, а также времени и дате. Обычно информация обновляется один раз в секунду. Модуль выполнен на микросхеме SIM68, отладочный UART-порт недоступен в текущей аппаратной модификации.
Импульс pps точно синхронизирован с началом каждой секунды, что дает возможность повысить точность определения времени на контроллере с микросекундной точностью.
Проверяем наличие сигнала pps
В командной строке выполните команду ppstest /dev/pps2
.
Команда будет последовательно выводить на экран метки времени в формате UNIX-time с десятичной частью (метки можно прочесть в файле /sys/class/pps/pps2/assert
).
Проверяем наличие данных в формате NMEA
Чтобы убедиться в том, что система может получать данные от GPS-модуля в формате NMEA, выполните команду
cat /dev/ttyMOD3
На рисунке красным выделены фрагменты NMEA-сообщений, показывающие, что GPS-модуль достоверно зафиксировал свою позицию и получает верные данные. Подробно смотрите описание NMEA-сообщений.
NTPD
В качестве прикладного ПО используется служба ntpd. По умолчанию сервер ntpd настроен на получение времени от других серверов в интернете по протоколу ntp. Для использования сигналов времени от GPS/GLONASS-модуля необходимо выполнить ряд шагов по настройке (см. далее).
Текущие источники точного времени для NPTD
Источники точного времени помечены специальными символами:
Символ | Значение |
---|---|
* | используемый в настоящее время источник |
# | источник выбран, но слишком удален |
o | источник выбран, используется сигнал PPS |
+ | источник выбран, готов к использованию |
x | источник забракован |
. | источник выбран последним из списка кандидатов |
- | источник забракован алгоритмом выбора |
пробел | источник забракован |
Обратите внимание на то, что драйвер ntpd 28 (shared memory driver), смотрите далее, который позволяет использовать функции gpsd, не отмечается символом 'o', даже если используется PPS. При правильной работе он будет отмечен символом '*'.
GPSD
Демон gpsd представляет собой унифицированный протокол взаимодействия с приемниками спутниковых сигналов GPS/GLONASS. В нашем случае мы будем использовать его как промежуточный слой между модулем и сервером ntpd (драйвер с кодом 28). Демон устанавливается командой
apt-get install gpsd
Настройка
Настройка gpsd
Настройка ntpd
В настройках сервера ntpd нам необходимо указать два новых источника точного времени: NMEА и PPS.