Что такое ntp в видеорегистраторе
Кто-то в курсе где настройки? И есть ли они?
PS Ох уж эти зоопарки! В жизни бы не допустил, если б не "условия регаты" в данном проекте.
А можно поподробнее. Модель регистратора и пункт меню? Консоль, web, клиент?
на реге тоже пропишите, вся эта хрень со временем имеет место, рег дает команду на синхронизацию раз в сутки камерам (что дахуа что хик что другие), из за различий time zone (никто особо не обновляет в прошивках) а также может быть из за разных форматах времени типа UTC и GMT и происходит то, что происходит слет часовых поясов и т.д.
Я включал на любом постоянно включенном компьютере (windows, все обновы желательно что бы были установленны, особенно KB изменения часовых поясов) в сети NTP сервер (не путать с клиентом) https://windowsnotes.ru/windows. windows если есть контроллер домена то там все включено сразу и можно использовать его. Во всех устройствах прописываете ip локального NTP сервера, интервал 1 мин. и все вроде работает. Можно внешний прописать, но все камеры и рег будут ломиться в инет, что нафик нужно. На последних прошивках вроде как и появилась галочка которая включает или выключает синхронизацию времени с рега. Но это тоже не выход ибо на камерах за несколько месяцев время убегает на минут 5 если не больше. Ну и кардинальное решение для некритичных объектов это просто вырубить osd штамп даты и времени. На вопрос заказчиков, а почему времени нет в архиве на камере, ответ нефиг было жлобится купят рег Dahua или HIk а потом ищут дешевых "китайцев" с ONVIF у нас это постоянно и увы не исправимо. Вспомнил еще один вариант, если есть возможность добавьте камеру в рег не по ONVIF, а по протоколу RTSP время точно на камере слетать не будет как и часовые пояса.
Вспомнил еще один вариант, если есть возможность добавьте камеру в рег не по ONVIF, а по протоколу RTSP время точно на камере слетать не будет как и часовые пояса.
Спасибо. Вариант прокатил. Как-то я не додумался
Правда, это уже в новой проблеме. Не со временем:
Цеплял дахуа камеры к регистратору хиквижн по ONVIF. Все прицепились, кроме пару штук (одной партии и одной модели). Точнее, они прицепились, но вели себя странно. 4мин работает, 4 мин нет. И так непрерывно. Что только не смотрел, пока не понял, что это рег хика лезет им в мозги некорректно по онвифу. Перешел на RTSP - все ок.
Главная / Настройка видеонаблюдения / Что делать, если сбивается время и дата на камере видеонаблюдения?
Что делать, если сбивается время и дата на камере видеонаблюдения?
При использовании системы видеонаблюдения важно, чтобы в системе было установлено правильное время и дата, в зависимости от часового пояса. Если настройки неверны, видеозапись будет иметь неправильную метку и найти нужное видео будет сложно. Поэтому почаще проверяйте, что в вашей системе видеонаблюдения время установлено корректно.
Установка правильного времени и даты считается одной из важных деталей при настройке камер видеонаблюдения. Неправильные настройки или время могут привести к проблемам в будущем.
Видеозапись с камеры, показывающая неправильное время, не допускается в суде для расследования. Воспроизведение записанного видео также будет затруднено, если каждая видеокамера имеет разную временную метку.
Хуже всего, то, что вы можете перезаписать ценное видео, которое уже было записано на жесткий диск. Также важно иметь правильные метки времени на случай, если полиция захочет проверить отснятый материал.
Камеры видеонаблюдения в зависимости от их типа хранят время по-разному. Аналоговые или HD-камеры, которые подключаются с помощью коаксиального кабеля, используют видеорегистраторы для сохранения и наложения правильной метки времени. Для IP камеры видеонаблюдения настройки времени могут быть синхронизированы с видеорегистратором или установлены отдельно для каждой камеры.
Зачастую, купленные IP камеры имеют случайную дату. Большинство устройств предоставляют доступ через веб-браузер для входа в систему и установки параметров конфигурации. Используя веб-интерфейс сетевой камеры, можно установить время двумя способами:
NTP-сервер — это назначенное устройство, которое взаимодействует с атомными часами, чтобы сохранить точное время, и сообщать о нем другим подключающимся устройствам. Камера подключается к NTP-серверу через локальную сеть (LAN) или Интернет. NTP позволяет камере видеонаблюдения проверять сервер на правильное время с фиксированным интервалом.
Установка правильного времени на комплектах видеонаблюдения также зависит от того, какая именно у вас система.
Аналоговые видеорегистраторы. Системы DVR состоят из камер видеонаблюдения с разъемами BNC, таких, как HD-видеокамеры через коаксиальный кабель. Эти решения полагаются на аналоговый видеорегистратор, для наложения отметки времени на записанные кадры безопасности.
IP видеорегистраторы. Для этих систем необходимо убедиться в правильности даты и времени на видеорегистраторе и отдельных камерах. Наложение метки времени выполняется камерой, а не видеорегистратором в IP-системе.
Если у камер в системе отсутствует синхронизированное время, то возникнут проблемы с воспроизведением видео. В системе NVR важно правильно установить время на IP видеорегистраторе, чтобы камеры синхронизировались с ним. Когда IP камеры подключены к совместимому видеорегистратору, то запрашивают настройки времени со встроенного NTP-сервера.
Автономные IP камеры видеонаблюдения. Wi-Fi камеры, которые будут использоваться в качестве автономных устройств без сетевого видеорегистратора, требуют времени, чтобы сами видеокамеры удерживали их и синхронизировали через Интернет с фиксированными интервалами, с сервером NTP через Интернет.
Получив доступ к веб-интерфейсу устройства через веб-браузер, можно настроить автономную камеру на подключение к NTP-серверу. Таким образом, любой отснятый материал, записанный на карту microSD внутри камеры, содержит действительную метку времени.
Однако даже установив правильные время и дату случается так, что при работе камеры видеонаблюдения они сбиваются, не синхронизируются, а то и вовсе не работают. Что же делать в этом случае?
Сбитая дата и время может быть вызвано полностью разрядившейся батарейкой или выходом из строя часов. Чтобы исправит это попробуйте:
— настроить правильное время и дату вручную
— после применения новых параметров перезагрузите видеорегистратор
— если время не сбилось — выключите регистратор на 5 минут (с отключением штекера питания)
— если время не сбилось — то скорее всего и микросхема и часы рабочие
Если на любом из этапов проверки время сбивается — то нужно вскрыть видеорегистратор, выключив его и отключив питание, и не вынимая из зажимов замерить на батарейке напряжение — должно быть 3 вольта. Если не так — меняем батарейку на новую и повторяем цикл проверки. Если время все равно сбивается — то остается лишь отнести регистратор в сервис-центр.
Можно также попробовать установить новую прошивку, обязательно сбросив все настройки в состояние по умолчанию. После этого заново настройте регистратор и проверьте исправность работы по алгоритму описанному выше.
Как правило, при нестабильном питании или возникновении критических ошибок страдают в первую очередь:
— жесткие диски
— память с прошивкой
— микросхемы встроенных часов
— стабилизирующие и сглаживающие элементы относящиеся к контуру питания устройства
Чтобы питание было стабильным, советуем приобрести стабилизатор и бесперебойник, а также
регулярно проверяйте работоспособность оборудования.
Проблемы с часами и датой часто бывают из-за того, что некоторые IP камеры не имеют батарейки для сохранения часов. При перезагрузке камеры часы сбиваются.
Выход из такой ситуации — это синхронизация с NTP сервером. Укажите правильный часовой пояс, адрес NTP сервера в виде ip адреса. Затем убедитесь, что камера обращается к NTP серверу, проверьте журнал NTP сервера.
Если синхронизация с NTP настроена, но время по-прежнему сбивается, то причиной может стать устройство, к которому подключена IP камера.
Например, IP камера может автоматически синхронизировать время с NVR которое отличается от NTP сервера или от сервера с установленным ПО. Для проверки, временно отключите IP камеру от всех устройств и ПО, либо смените на камере IP адрес.
Также проблема сбоя часов и даты бывает из-за несовместимости версий ONVIF IP камеры и NVR видеорегистратора. Дело в том, что в видеорегистраторы NVR заложена функция высокого приоритета синхронизации часов, т.е если на камере указать синхронизацию с NTP и при этом добавить камеру на NVR то она будет синхронизировать именно с NVR вместо с NTP.
В случае, если ваши камеры устарели, поддержка их остановлена и новых прошивок нет и не будет, а часы синхронизируются неверно, то есть два варианта исправления проблемы:
1. Отключите наложение часов на изображение в настройках OSD. Часы камеры относятся только к камере.
Если запись ведется на видеорегистратор NVR или на сервер с установленным ПО например Macroscop, то в сервере и NVR есть собственные часы и запись по расписанию идет именно по серверным часам. В том же Macroscop’e при экспорте записи, серверные часы накладываются автоматически.
2. Если синхронизация часов некорректная из за ONVIF, вы можете добавить камеру на NVR или сервер по протоколу RTSP. Данный протокол передает только аудио/видео и повлиять на параметры камеры не может.
Если вам не удается самостоятельно разобраться с проблемой неправильного времени или даты, то обратитесь к специалистам.
Мы работаем быстро, качественно и по доступным ценам. Перечень услуг и цены на их вы можете посмотреть здесь.
p4GcRGuXFmeV4ZWTYHVAt18A2 2021-02-12T17:12:14+03:00 8, Октябрь, 2020 | Настройка видеонаблюдения | Комментарии к записи Что делать, если сбивается время и дата на камере видеонаблюдения? отключены
Для данного гаджета нет путной инструкции и образцов заполнения, на что я после покупки и наткнулся. На фото привожу пример настройки, если вы его точно также заполните то у вас будет идти синхронизация с Московским временем.
или сам ip адрес:
Как начать пользоваться службой NTP Server?
NTP-сервер на микротике
Еще с весны были проблемы с NTP-сервером на микротике. Все как то руки не доходили. Вот решил.
Связать прогу и NTP сервер
Привет всем, делаю программу и хочу продавать её по подписке - единственный вариант который.
Свой ntp-сервер, способы реализации
Добрый день! Появилась необходимость проводить синхронизацию времени между несколькими серверами.
Единственно, что вы указали своего: так это параметры подключения к своему прову, а это форумчанам мало пригодится (у всех разные провайдеры и каждый дает свои настройки) и вариант NTP сервера, а их море.
Надо, если за NAT.
А что касается почтового сервиса шмандекс, то после их взлома и появления в паблике логинов-паролей, они перешли на безопасное TLS c портом 465.
видеорегистратор выступает сервером точного времени?
для внешней сети?
нет?
а, он всего лишь клиент?
в таком случае - практически все роутеры прекрасно выпускают наружу любой исходящий трафик (в том числе, и от ntp-клиента видеорегистратора к ntp-серверу в интернете), а потом точно также спокойно принимают внутрь ответный трафик от сервера к регистратору
для работы браузера, запущенного на компе за роутером, вы какие порты пробрасываете?
Как засинхронизироваться по NTP?
Какие есть готовые компоненты для синхронизации системного времени с сервера синхронизации.
Dvr как накопитель?
ДОБРЫЙ день.имеется dvr c диском 500 гига хочу кинуть туда домашнюю фильмотеку и использовать для.
Как отключить dvr ничего не помогает
Проделывал все что в этой статье несколько раз. после перезагрузки значения меняются обратно с нуля.
Сбрасывается текущее время на видеорегистраторе
На работе три года стоит 32-х канальный регистратор DVR MDN-8032 AV (по сути, no name) Пару недель.
Компьютер не видит регистратор oysters dvr-03 как съемный носитель
Приветствую! Значит столкнулся я с проблемкой. При подключении регистратора oysters dvr-03 к.
На видеорегистраторе MDR 840HD Mystery почему то получаются видео с фиолетовым оттенком
На видеорегистраторе MDR 840HD Mystery почему то получаются видео с фиолетовым оттенком.Как будто.
В наше время не каждый специалист может отнести сервер точного времени к категории технически сложных устройств. На просторах Интернета существует большое количество статей о том, как сделать собственный аппаратный NTP-сервер. Тем не менее, решения, применяемые в промышленных приложениях и предлагаемые мировыми производителями, сложно назвать бюджетными. Существует ли возможность оптимизировать эти затраты, не снижая качества и надежности подсистемы точного времени на предприятии?
Для чего нужно точное время?
Из функций, которые позволяет выполнять сервер времени, можно назвать корректное формирование хронологии событий в системах управления для ведения соответствующих логов, журналов, архивирования информации, построения трендов, графиков и пр.
В системах видеонаблюдения таймсервер обеспечивает привязку отснятых видеозаписей к астрономическому времени. Также устройство позволяет безошибочно сопоставлять информацию от разных информационных систем на предприятии. Например, это могут быть системы видеонаблюдения и системы безопасности, такие как СКУД, системы РЗА и независимые системы телемеханики и пр.
Ряд протоколов информационного обмена используют метки времени напрямую в составе пакетов передаваемых данных. К таким протоколам можно отнести МЭК-101/104, применяемые в современных системах телемеханики.
Одним из важных требований, предъявляемых в ряде промышленных приложений, являются требования информационной безопасности, исключающие выход в Интернет для выполнения функции синхронизации времени.
В силу своей простоты и ряда исторических причин для решения задачи синхронизации времени наибольшее распространение получил протокол NTP. В качестве NTP-клиентов на предприятии, помимо серверов, архивных и операторских станций систем управления, могут выступать контроллеры и HMI-панели, сетевое оборудование систем связи (управляемые коммутаторы, маршрутизаторы и пр).
Протокол NTP
Network time protocol (NTP) — это сетевой протокол для синхронизации часов в компьютерных системах по сетям передачи данных с коммутацией пакетов и переменной задержкой (латентностью). Высокая популярность протокола объясняется активным развитием систем на основе Ethernet. Одним из ключевых преимуществ протокола является возможность передачи меток времени непосредственно по сети передачи данных, что позволяет отказаться от отдельной шины точного времени, как например в системах 1PPS или IRIG–B. Протокол был разработан в 1985 году и является одним из старейших Интернет-протоколов, используемых в настоящее время.
NTP обеспечивает приемлемую точность синхронизации для большинства приложений. Протокол может поддерживать время с точностью до десятков миллисекунд в сети Интернет и до 0,2 мс в локальных сетях при идеальных условиях. Асимметричные маршруты передачи данных и перегрузка сети могут привести к ошибкам в 100 мс и более.
NTP синхронизирует устройства относительно всемирного координированного времени (UTC). При этом протокол учитывает появление високосной секунды в результате неравномерности вращения Земли, но никакой информации о местных часовых поясах или переходе на летнее время не передает.
Структура системы
NTP использует иерархическую систему источников точного времени. Каждый уровень иерархии называется Stratum (стратой, слоем) и ему присваивается номер, начинающийся с 0 для эталонных часов на вершине иерархии. Сервер времени на слое N синхронизируется от серверов на уровне N-1. Число N представляет собой расстояние от эталонных часов и используется для предотвращения цикличности в процессе синхронизации. Stratum не всегда является показателем качества или надежности. Например, можно найти источники времени на слое 3, которые имеют более высокое качество, чем источники времени на слое 2.
В качестве эталонных часов на Stratum 0 выступают системы спутниковой навигации (ГЛОНАСС, GPS и пр.), атомные часы или радиопередатчики. Раз в секунду они генерируют импульсный сигнал (1PPS), который вызывает прерывание и генерирует метку времени на подключенных устройствах. Устройства слоя 0 также известны как опорные часы. Серверы NTP не могут позиционировать себя в системе как Stratum 0. Если в пакете передачи данных в поле Stratum установлен 0, это указывает на неопределенный слой.
Логическая структура системы синхронизации на основе NTP
На этом слое находятся устройства, системное время которых синхронизировано с точностью до нескольких микросекунд от эталонных часов. Серверы времени на этом уровне могут работать в одноранговом режиме с другими серверами Stratum 1 для резервирования и проверки точности. Их также называют первичными серверами времени.
Это устройства, которые синхронизируются по сети от серверов уровня 1. Часто устройства уровня 2 опрашивают несколько серверов уровня 1. Компьютеры Stratum 2 также могут быть одноранговыми с другими компьютерами Stratum 2, чтобы обеспечить более стабильное и надежное время для всех устройств в группе одноранговых узлов.
Максимальное теоретическое число слоев равно 15; Stratum 16 используется для указания того, что устройство не синхронизировано. Механизмы протокола NTP на каждом устройстве системы взаимодействуют таким образом, чтобы построить кратчайший путь к серверам Stratum 1 для всех клиентов. Это позволяет минимизировать накопленную задержку в передаче данных и повысить точность синхронизации. В основе алгоритма построения связующего дерева с минимальной длиной пути лежит алгоритм Беллмана-Форда.
Метки времени
Изначально NTP использовал 64-битные метки времени, состоявшие из 32-битной части для секунд и 32-битной части для долей секунды, что давало временную шкалу, которая прокручивалась бы каждые 2 32 секунды (136 лет) и давало теоретическое разрешение 2 -32 секунды (233 пикосекунды). Отсчет времени начинался с 1 января 1900 года, поэтому первая эпоха закончилась бы 7 февраля 2036 года.
Алгоритм синхронизации часов
Клиент NTP регулярно опрашивает один или несколько серверов. При этом он вычисляет смещение времени и круговую задержку. Смещение времени θ представляет собой разницу в абсолютном времени между часами сервера и клиента и определяется по формуле:
Круговая задержка δ определяется как время передачи сигнала по линиям связи от клиента к серверу и обратно. Это время, затраченное на отправку сигнала, плюс время, которое требуется для подтверждения, что сигнал был получен:
где t0 — метка времени клиента для передачи пакета запроса,
t1 — метка времени сервера приема пакета запроса,
t2 — метка времени сервера для передачи ответного пакета,
t3 — метка времени клиента приема ответного пакета.
Алгоритм расчета смещения времени и круговой задержки
Вычисляемые значения θ и δ пропускаются через фильтры и подвергаются статистическому анализу. Выбросы из общей выборки отбрасываются и оценка временного смещения производится на основе оставшихся значений. Зная величины смещения времени и круговую задержку клиент подстраивает собственное время, чтоб добиться θ равного нулю.
Точная синхронизация достигается, когда входящие и исходящие маршруты между клиентом и сервером симметричны, то есть имеют одинаковую задержку. Если маршруты несимметричны, то существует систематическое смещение в половину разницы между временем передачи пакета от клиента к серверу и обратно.
Механизмы передачи
В большинстве случаев протокол NTP использует классическую клиент-серверную модель работы, в которой клиент отправляет запрос и через некоторое время получает ответ от сервера. Однако протокол допускает работу и в одноранговых системах, где два одноранговых узла (peer) рассматривают друг друга как потенциальный источник времени. Этот режим работы также называют симметричным. Для сетевого взаимодействия NTP использует протокол UDP, по умолчанию работая на порту 123. Для передачи данных могут быть использованы различные механизмы – unicast, broadcast, multicast и manycast.
Протокол NTP для передачи данных чаще всего использует режим Unicast. В этом режиме данные передаются от одного устройства сети к другому индивидуально. В Unicast пакетах в качестве IP-адреса назначения используется конкретный адрес устройства, для которого этот пакет предназначен.
Этот режим удобен в тех случаях, когда малое количество NTP-серверов обслуживает большое количество клиентов. В этом режиме сервер периодически рассылает пакеты, используя широковещательный адрес подсети. Клиент, настроенный на синхронизацию таким способом, получает широковещательный пакет сервера и производит синхронизацию с ним.
Этот режим имеет ряд особенностей. Во-первых, режим Broadcast обеспечивает меньшую точность синхронизации по сравнению с Unicast. Во-вторых, широковещательные пакеты могут передаваться только в рамках одной подсети. Кроме того, для защиты от злоумышленников желательно использовать методы аутентификации.
Режим Multicast работает аналогично Broadcast. Разница заключается в том, что для доставки пакетов используется не широковещательный адрес подсети, а адрес Multicast-группы. Для клиентов и серверов задается групповой IP-адрес, который они используют для синхронизации времени. Это делает возможным синхронизацию групп машин, расположенных в различных подсетях, при условии, что соединяющие их маршрутизаторы поддерживают протокол IGMP и настроены на передачу группового трафика.
Для передачи образцов времени клиенты и серверы, работающие в Manycast-режиме, также используют адреса Multicast-групп. Клиенты и серверы, использующие один и тот же адрес, формируют одну ассоциацию. Количество ассоциаций определяется количеством используемых Multicast-адресов.
Версии протокола
С момента своего появления в 1985 года протокол начал активно развиваться и уже к 1992 году сменил четыре версии (от NTPv0 до NTPv3). Каждая новая версия добавляла функционал и оптимизировала его работу, но оставляла неизменным формат данных и сохраняла совместимость различных версий между собой. Последняя четвертая версия протокола датирована 2010 годом. NTP продолжает развитие и в наши дни, ведутся работы по созданию решения, технически схожего с более точным протоколом PTP (Precision Time Protocol).
Одновременно с NTPv3 в 1992 году была представлена более простая версия протокола – SNTP (Simple NTP). В протоколе SNTP используется одинаковый с протоколом NTP формат передачи и представления данных. При этом SNTP не касается алгоритмов работы сервера, а упрощает алгоритмы работы клиентов. Именно поэтому протокол чаще всего используется во встраиваемых системах и устройствах, не требующих высокой точности.
Разница между NTP и SNTP заключается в методах определения оптимальных серверов для синхронизации и методе коррекции времени. Так NTP позволяет клиенту использовать математический алгоритм пересечений (переработанную версию алгоритма Марзулло) для выбора нескольких лучших серверов в сети и плавно корректировать свое время. В SNTP для синхронизации используется один предопределенный NTP сервер, в то время как другие могут являться лишь резервными на случай потери связи с основным устройством. При этом клиент, использующий SNTP, способен корректировать время только скачком по факту получения ответа от сервера.
Типовая схема системы синхронизации и ее недостатки
Традиционно система точного времени на промышленных объектах строится на основе NTP-сервера, состоящего из головного устройства, монтируемого в одном шкафу с сетевым оборудованием, и выносной антенны, которая устанавливается на улице и подключается к серверу при помощи коаксиального кабеля. При этом на головном устройстве имеется несколько сетевых интерфейсов (Ethernet или RS-232/485) для подключения клиентов в одной или нескольких сетях.
Типовая схема системы точного времени
Если посмотреть на это решение более внимательно, то в нем можно выделить несколько недостатков. Во-первых, в такой системе отсутствует полноценное резервирование. Несмотря на то, что головное устройство обладает несколькими сетевыми интерфейсами и способно обеспечивать точное время в нескольких сетях, его сбой или выход из строя приведет к потере источника точного времени на всем объекте. Полное же резервирование головного устройства в подобном решении сделает без того дорогую систему синхронизации еще дороже.
Вторым недостатком можно назвать необходимость установки сервера времени в шкафу. Для больших проектов это не является минусом, но для небольших локальных систем управления это может стать серьезной проблемой.
Также к недостаткам можно отнести необходимость применения выносной антенны и коаксиального кабеля. Почему? Прежде всего, стоимость качественной GPS/ГЛОНАСС антенны с длинным кабелем и защитой от грызунов легко может перевалить за 10 000 руб. в ценах 2020 года. При этом коаксиальные кабели имеют ограниченную длину для передачи сигналов спутниковых систем. При длине более 50 м сигнал будет значительно затухать, что является серьезным ограничивающим фактором в больших зданиях.
Главным же недостатком традиционного подхода в создании систем синхронизации является его высокая стоимость (часто более 150 000 рублей), что существенно сказывается на смете не только небольших проектов, но и вполне крупных.
Как сделать систему дешевле и надежнее
Безусловным трендом современных технологий является создание более компактных и простых для пользователя электронных устройств. В этом плане сервера точного времени не являются исключением.
Всё решение, связанное с системой синхронизации, включая GPS/ГЛОНАСС антенну, может уместиться в небольшую коробочку, как это сделано в
FL TIMESERVER от Phoenix Contact. Устройство выполнено по принципу smart-антенны, то есть совмещает в себе непосредственно функционал сервера времени и антенну GPS/ГЛОНАСС приемника. Конструктивное исполнение – это единственное, что отличает его от привычных решений.
Сервер времени FL TIMESERVER NTP
В плане функционала никаких отличий нет: устройство способно принимать метки времени и данные геолокации от спутниковых систем навигации (ГЛОНАСС, GPS) и транслировать эту информацию для клиентов в сети Ethernet.
Система точного времени на основе решения Phoenix Contact
При использовании подобного решения система синхронизации значительно упрощается и позволяет избавиться от недостатков традиционного подхода. FL TIMESERVER имеет только один порт Ethernet, но при необходимости использовать несколько интерфейсов достаточно подключить его в коммутатор или же использовать несколько smart-антенн. В этом случае мы получим полноценное резервирование серверов времени, а не только его сетевого интерфейса. При этом конечное решение все равно окажется дешевле многих существующих аналогов. FL TIMESERVER можно вынести за пределы сетевого шкафа или шкафа автоматизации, сэкономив место внутри. В этом решении не требуется отдельная антенна, здесь она уже встроена и к сети предприятия мы можем подключаться обычным Ethernet кабелем. В свою очередь это позволяет вынести сервер времени на расстояние до 100 м от основного оборудования без опасения, что сигнал затухнет. Самым главным преимуществом подобного решения является совсем другой порядок цен. Стоимость одного сервера времени менее 300 евро, что делает его удобным в применении как в небольших, так и в крупных проектах.
GPS приемники можно использовать не только для определения местоположения, но и для получения сигналов точного времени. В статье я покажу как настроить сервер точного времени, использующий в качестве источника GPS и работающий с точностью до нескольких микросекунд. В качестве примера я использую приемник Garmin и ОС FreeBSD, но статья также будет полезна обладателям Linux и Windows.
Подобный топик на хабре уже пробегал, но я считаю, что тему надо раскрыть гораздо подробнее: многие важные детали автор опустил.
1. Немного теории
По оценке журнала GPS World, сейчас в мире находится в использовании более миллиарда приёмников GPS, и более 90% из них используются только для получения сигналов точного времени. [19]
Для определения собственных трехмерных координат GPS-приемник рассчитывает расстояние до 4-х спутников. Это расстояние вычисляется путем измерения времени прохождения радиосигнала от спутника. Т.к. скорость света составляет 3×10 8 м/с, то время прохождения сигнала очень мало, и для расчета требуется очень точная синхронизация хода часов на спутнике и приемнике. Поэтому каждый спутник GPS оборудован атомными часами с точностью хода 1 нс/сут, а приемник обеспечивает точность времени около 50 нс [17]. Для определения времени приемнику достаточно получить сигнал с одного спутника (tanenn).
- если у системы нет доступа в Интернет;
- если вам нужна высокая точность времени — единицы микросекунд (мкс);
- если вам нужно синхронизировать распределенную систему от надежного источника времени;
- просто ради интереса :)
2. GPS-приемник
GPS-приемник можно использовать практически любой — главное, чтобы он поддерживал стандартный протокол NMEA 0183. Протокол NMEA служит для передачи GPS-информации простыми ASCII-строками по последовательному интерфейсу, такому как RS-232. Вместе с географическими координатами NMEA передает еще и точное время, как правило, раз в секунду.
Если вы хотите обеспечить еще большую точность — до нескольких микросекунд, необходимо использовать GPS-приемник, который умеет выдавать сигнал PPS (Pulse per second). PPS-импульс повторяется раз в секунду с очень большой точностью и может быть считан ntpd.
Ниже я рассмотрю оба варианта: сначала обычный NMEA и более подробно PPS.
3. Получение времени от GPS (без PPS)
3.1 Настройка GPS и ntpd
Windows администраторы могут установить порт ntpd для Windows и следовать указаниям в этой статье.
- Подключите GPS-приемник к COM-порту сервера (USB переходник тоже должен сработать).
- Создайте символическую ссылку /dev/gpsX на устройство (например, у меня /dev/cuau0 -> /dev/gps0).
- В ntp.conf добавьте строку
Строка 127.127.20.0 означает, что мы используем локальный источник времени, драйвер 20 (NMEA Generic), устройство /dev/gps0.
Если ваше устройство работает на скорости отличной от 4800 бит/c, необходимо задать скорость с помощью команды mode: 0 — 4800 бит/c (по умолчанию, можно не указывать), 16 — 9600, 32 — 19200 и т.д.
3.2 Проверка и коррекция
Больше всего нас будет интересовать символ статуса выбора, reach, offset и jitter. Reach должен быть равен 377, а offset и jitter быть как можно меньше.
Запустите команду ntpq -p. Дождитесь пока offset NTP-сервера не станет достаточно низким.
Выбранный ntpd сервер отмечен *, в то время как наш GPS-приемник помечен как плохой (x). Offset GPS-приемника составляет около -956 мс. По всей видимости, информация передается о предыдущей секунде. Чтобы скорректировать это отставание необходимо под строкой server 127.127.20.0… добавить строку:
Теперь можно снова сделать GPS предпочитаемым сервером. После перезапуска сервера перед GPS_NMEA(0) должна появиться *.
4. Получение времени от GPS с сигналами PPS
4.1 Подключение приемника Garmin 18x LVC
Для себя я выбрал приемник Garmin 18x LVC с точностью PPS-импульса ±1 мкс. Это OEM-приемник, у него нет красивого экранчика, но его удобно использовать в собственных приложениях.
Желательно припаять контакты. Простая скрутка может и не заработать (впрочем, я не проверял).
В принципе, так заморачиваться необязательно. Можно просто соединить жилы от GPS, COM и USB, как сделано здесь.
4.2 Настройка Garmin 18x LVC
Для повышения производительности и надежности желательно настроить приемник. Это можно сделать, посылая команды через терминал (см. мануал) или с помощью Windows-утилиты SNSRCFG. Я выбрал второй путь.
Подключаемся к приемнику:
Comm → Setup: устанавливаем COM-порт, Baud rate: manual, 4800.
Comm → Connect
Программа должна загрузить текущую конфигурацию.
Настраиваем:
Config → Sensor Configuration
Необходимо убедиться, что PPS включен и увеличить длину импульса до 200 мс.
Также можно попробовать отключить DGPS — мы им пользоваться не будем, и установить Fix Mode = 2D — в теории это позволит приемнику работать при трех видимых спутниках вместо четырех. Однако не ручаюсь, что эти две опции на что-то влияют.
4.3 Настройка FreeBSD и ntpd
Поддержка PPS во FreeBSD присутствует довольно давно, поэтому PPS здесь настраивается проще и работает точнее. Пользователи Linux могут обратиться к статье Using a Garmin GPS 18 LVC as NTP stratum-0 on Linux 2.6. Настройки написанные ниже относится к FreeBSD.
Для включения поддержки PPS необходимо пересобрать ядро системы с опцией:
NTP-сервер уже присутствует в системе, но не лишним будет обновить. Для FreeBSD делаем это из портов:
Теперь необходимо добавить в rc.conf строки:
ntpd_program указывает на путь установки ntpd из портов.
Создайте символическую ссылки /dev/gpsX и на /dev/ppsX устройство (например, у меня /dev/cuau0 -> /dev/gps0). Можно воспользоваться командой ln или добавить соответствующие строки в /etc/devfs.conf:
В документации NTP рекомендуется с GPS получать только PPS-импульсы для точного хода часов, а само время — с другого сервера stratum 1. Для этого необходимо добавить в /etc/ntp.conf несколько (4-5) серверов stratum 1 и наш PPS, например:
Драйвер 22 отвечает за PPS. flag3 включает режим коррекции времени ядра (kernel discipline). В документации ntpd написано, что включать kernel discipline совсем не обязательно: ntpd будет работать точнее, если просто выставить minpoll 4. Однако у меня получается как раз наоборот: с flag3 часы идут точнее — так что я предлагаю вам поэкспериментировать с этим параметром самостоятельно.
Можно пойти другим путем: получать и время с GPS и сигналы PPS:
flag1 включает PPS, flag3 — kernel discipline.
Это позволит получать время без использование Интернета, но в этом случае скорее всего понадобится коррекция (аналогично п. 3.2).
После внесения изменений необходимо перезапустить ntpd:
Запустите команду ntpq -p (подробнее о ней рассказано в п. 3.2). Если вы получаете только PPS сигнал, то вывод должен приблизительно быть таким:
Если вы получаете с GPS еще и NMEA-информацию, то
Перед GPS_NMEA(0) должна стоять *.
Не лишним будет проверить статус PPS. Это можно сделать с помощью команд ntpdc -c kerninfo или ntptime. ntptime дает немного более подробную информацию:
5. Возможные проблемы и отладка
5.1 Don't panic!
5.2 ntpd не видит приемник
Если ntpd не видит приемник: reach в ntpq -p застыл на нуле, — необходимо тщательно проверить подключение приемника к серверу. Остановите ntpd и откройте COM-порт в терминале. В FreeBSD:
где /dev/gps0 файл устройства, 4800 — скорость передачи данных.
Изучите логи ntpd. Возможно стоит установить самую свежую версия сервера.
Убедитесь, что общая длина кабеля от порта до приемника не превышает 5 м. В противном случае, вам придется заморачиваться и делать дифференциальную линию для передачи сигнала для защиты от помех. Рекомендуется экранирование кабеля GPS соединить с экранированием USB-кабеля.
5.3 ntpd не видит сигнал PPS
Опять же проверьте подключение, например с помощью вольтметра или осцилографа. Я использую карманный дешёвый осциллограф DSO Nano. Так выглядит PPS сигнал:
Не используйте переходники USB-COM: PPS сигнал через них может не идти или идти с задержкой. Как правило, COM-порт всегда присутствует на материнской плате, просто он может быть не выведен на стенку корпуса.
5.4 Большой offset/jitter
Попробуйте выключить буфферизацию COM-порта. Установите в /boot/device.hints:
Посмотрите, нет ли новых версий прошивки для вашего GPS-приемника. (Garmin 18x LVC Firmware download)
Очевидной идеей является повышение скорости передачи данных. Но согласно документации ntpd это нам ничем не поможет. Скорость лучше оставить 4800.
Возможно стоит попробовать изменить системный таймер ОС. В FreeBSD можно прописать в /etc/sysctl.conf:
Когда кондиционер безобразничает:
6. Подготовка NTP-сервера к использованию
Перед публикацией сервера в сеть, прочитайте разделы документации, касающиеся установки прав доступа и ограничения количества запросов.
Если вы хотите создать NTP-сервер для локальной сети, то можно добавить адрес сервера в параметры DHCP. Однако у меня есть подозрения, что на Windows-клиентах эта опция не работает, а на *nix dchpclient нужно настраивать на каждой машине.
Список клиентов можно посмотреть командой ntpdc -c monlist.
Также написал небольшой скрипт для Zabbix, отслеживающий параметры reach/offset/jitter PPS и выбранного сервера времени. Запуск скрипта нужно добавить в zabbix_agentd.conf:
Перезапустите агент. На сервере соответственно нужно добавить эти item'ы для NTP-сервера. Теперь можно настраивать триггеры и графики.
7. Другие способы синхронизации времени
Помимо NMEA ntpd поддерживает еще массу более экзотических устройств (см. полный список).
Существуют также готовые NTP-сервера с датчиками GPS или ГЛОНАСС, но они, понятно, стоят гораздо дороже.
Список работающих российских публичных серверов statum 1
Читайте также: