Я создал собственное решение для цифровых вывесок на основе Raspberry Pi. В основном все Pi разбросаны по одному городу на Среднем Западе (на данный момент), и они запрашивают ежечасные обновления с VPS, который физически находится в Далласе. Фактическое отображение Pi осуществляется через веб-приложение в хроме, которое открывается при загрузке и использует javascript для циклического просмотра содержимого через определенные промежутки времени.
В качестве примера предположим, что два таких дисплея находятся в одном месте, каждый из которых меняет изображение на экране каждые 4 секунды. И предположим, что в течение часа, начинающегося в 15:00, им предоставляется один и тот же список контента для циклического просмотра сервером. Когда наступает 15:00, оба отображают элемент контента A, ждут 4 секунды, отображают элемент контента B и т. д., прежде чем снова вернуться к A.
Поскольку у raspberry pi нет чипа часов реального времени, оба будут получать всю информацию о времени через NTP. ntp.conf говорит мне:
«pool.ntp.org сопоставляется примерно с 1000 NTP-серверов низкого уровня. Ваш сервер будет выбирать другой набор при каждом запуске».
И это хорошо работает почти все время, так как эти два экрана кажутся идеально синхронизированными, меняя одно и то же в одно и то же время, но время от времени я ловлю их на какое-то время рассинхронизированными.
Моя теория заключается в том, что, поскольку они выбирают разные серверы NTP из пула (и, возможно, некоторые из них находятся далеко и т. д.), они получают достаточно разные обновления времени, чтобы один думал, что сейчас 15:00:005, а другой думал это 15:00:00.
Наконец, придя к вопросу (извините), стоит ли мне настроить свой сервер в Далласе как единственный сервер NTP для всех моих разрозненных Pi? Даже если сервер Далласа ошибается на несколько секунд, по крайней мере, все они будут синхронизированы, игнорируя тот факт, что данные одного Pi могут идти по другому маршруту в Даллас, чем данные другого, что делает обновление времени немного неверным. Чтобы уточнить, мне все равно, думает ли Pi, что сейчас 15:00:005, когда на самом деле 15:00:00, я просто хочу, чтобы они ВСЕ думали, что это 15:00:005.
Возможно, я слишком беспокоюсь об этом или недооцениваю точность 3-4 низкоуровневых NTP-серверов, даже если они находятся далеко. Думал, это будет как минимум интересный вопрос. Заранее спасибо!