Синхронизация времени (GNSS)
Для работы с серверами точного времени NTP и поддержки системного времени в ОС используется демон ntpd, который работает в фоновом режиме. Демон опрашивает NTP-серверы с определенной периодичностью (по умолчанию NTP – каждые 64 с, GPS – каждые 16 с) и с помощью получаемых параметров (например, фазовых или частотных отклонений передаваемого сигнала), выбирает один из наиболее релевантных серверов в качестве источника точного времени.
Чтобы синхронизировать время через GPS и NTP-серверы через веб-интерфейс:
- Откройте меню Система -> Система -> Свойства системы.
- На вкладке Основные настройки в разделе Синхронизация времени поставьте флажок Включить NTP-клиент (по умолчанию включен). После включения NTP-клиента появится возможность включить синхронизацию времени по NTP-серверам и по GPS.
По умолчанию синхронизация времени осуществляется только по четырём заданным NTP-серверам. Пользователь может сам добавлять NTP-серверы к уже имеющимся. Чем больше задано NTP-серверов, тем выше вероятность выбора более точного сервера.
Функция Включить синхронизацию по GPS доступна только для устройств с поддержкой GNSS и предназначена для обеспечения точности часов до миллисекунды.
Работа с сервисом gpsd
Для работы с GNSS-модулем используется сервис-демон gpsd, который работает в фоновом режиме. Сервис используется для получения данных о местоположении со спутников.
GNSS-модуль транслирует сырые данные в формате NMEA 0183 – строки, в которых зашифрованы данные о местоположении, дате, времени, количестве спутников и др. Демон gpsd подключается к порту, по которому GNSS-модуль передает данные, и расшифровывает полученную информацию.
Обмен данными между сервисом и клиентом осуществляется в формате: вопрос-ответ. Клиент запрашивает информацию, сервис gpsd формирует ответ – пакет данных в формате JSON, и передает данные.
Соединение осуществляется по протоколу JSON, с помощью которого можно на большинстве языках программирования написать программу, которая позволит реализовать дополнительные возможности, например, отобразить роутеры на карте или построить маршрут.
Для работы с gpsd необходимо:
- Установить на ПК (на базе Linux) пакет xgps (графический) или cgps (консольный аналог). Для ОС Windows можно использовать программу Viking.
- Подключить роутер.
- Обратиться по IP-адресу подключенного роутера.
Синхронизовать координаты можно при подключении к gpsd:
- Через сеть Интернет, используя SIM-карту со статическим IP.
- При использовании VPN-сетей.