Мне не нужно устанавливать часы (кроме часового пояса) на Raspberry Pi. Откуда у него время? О том, насколько это точно?
Мне не нужно устанавливать часы (кроме часового пояса) на Raspberry Pi. Откуда у него время? О том, насколько это точно?
Ответы:
Raspbian получает время с NTP-сервера («сервер времени»).
Полностью отключите Raspberry Pi, вытяните сетевой кабель и снова запустите Raspberry Pi. Вы увидите, что дата и время неверны.
Если вы хотите / хотите, чтобы дата и время не сбрасывались без подключения к Интернету, вам понадобятся часы реального времени (RTC) - например, что-то вроде этого - которые будут поддерживать текущее время, используя батарею запустить часы. Это также, как ваш компьютер держит время, когда он не включен.
ОБНОВЛЕНИЕ Обратите внимание, что приведенные выше часы RTC - не единственный способ сохранить точное время между потерями мощности. Вы также можете использовать модуль GPS и подключить его к контактам GPIO.
Точность Это довольно точно, хотя, если время ваших часов совсем немного. Самостоятельное исправление может занять до 3 часов, поскольку изменения с сервера постепенно применяются к вашим локальным часам. Стабильность сети оказывает наибольшее влияние на точность, так как непредсказуемая сеть (что-то более беспроводное, например, 3G ) сильно затруднит точность. Проще говоря: точность довольно хорошая, разница во времени между вашим компьютером и фактическим временем (с NTP-сервера) обычно составляет менее 100 мс .
Ответ Моргана дал мне подсказку, необходимую для решения проблемы.
Перейдите по адресу http://support.ntp.org/bin/view/Servers/NTPPoolServers.
Выберите свой регион, затем отобразится ваша страна и список серверов.
Отредактируйте ваш файл /etc/ntp.conf, например
sudo vim /etc/ntp.conf
Замените список серверов тем, который вы нашли на веб-странице. например
сервер 0.dk.pool.ntp.org iburst
сервер 1.dk.pool.ntp.org iburst
сервер 2.dk.pool.ntp.org iburst
сервер 3.dk.pool.ntp.org iburst
Сохранить и выйти.
Перезапустите NTP Деймон.
sudo /etc/init.d/ntp restart
проверьте правильность даты.
дата
чт июнь 20 13:39:20 CEST 2013
На одном из моих серверов дата была изменена сразу. В другой мне пришлось подождать пару минут.
server 0.uk.pool.ntp.org iburst
ntpq -p
. Я использую: «Raspbian GNU / Linux 7 (wheezy)» и «Linux raspberrypi 4.1.7+ # 817 PREEMPT Сб 19 сентября 15:25:36 BST 2015 armv6l GNU / Linux»
hwclock
или fake-hwclock
вмешивается (но часть "/etc/rc.conf" устарела)
ntpq -p
Часть от ответа на Как раз держится на Raspberry Pi? ,
ntpq -p
ничего не изменилось).
Если у вас есть fake-hwclock
пакет , он также сделает трюк с сохранением метки времени, чтобы предотвратить сброс часов. Это не будет опережать время, пока устройство выключено, поэтому оно будет отставать. Внутренние часы также будут дрейфовать при включении.
Если у вас есть интернет-соединение (или локальная сеть с сервером) и вы запускаете ntp (ntpd / ntpdate), вы можете получить время по сети, как указывают другие ответы. Когда синхронизировано, это действительно довольно точно. Онлайн серверы также дадут вам консенсус "мирового времени".
fake-hwclock
. Почему кто-то хочет заморозить часы, когда машина выключена? Я не могу придумать вариант использования для этого. Есть?
fake-hwclock
на Arch Linux, использование archplusplus.co.uk/post/40202081414/...
Raspberry Pi не имеет встроенных часов реального времени (RTC) для экономической эффективности: см. Вопрос «Почему нет часов реального времени (RTC)?» в официальном FAQ . Это означает, что когда вы отключаете Raspberry Pi, он теряет время. Когда вы включаете его снова, время инициализируется до 1 января 1970 года (или эпохи Unix ).
Raspberry Pi устанавливает время по сети с NTP , протоколом для синхронизации часов между компьютерами. Этот протокол широко используется в Интернете, чтобы обеспечить одинаковое время на компьютерах, и обладает высокой надежностью, поскольку некоторые машины предназначены для вычисления времени с атомными часами .
ntpd
является демоном (программным обеспечением в фоновом режиме), запускающим время загрузки, и он отвечает за синхронизацию времени с использованием протокола NTP. ntpd
можно настроить с помощью файла /etc/ntp.conf
. Например, здесь вы можете настроить серверы для запроса времени.
date
теперь показывает эту недельную дату плюс, я думаю, несколько дополнительных часов с момента работы вчера и сегодня (после некоторого перезапуска вчера и сегодня). (Распбиан, соответствует середине 2015 года).
cat /etc/fake-hwclock.data
и вы увидите, когда в последний раз fake-hwclock
экономили время (очевидно, во время выключения). fake-hwclock
используется на RPi, чтобы подражать реальным часам. Я думаю, что вы загрузили свой RPi без доступа в Интернет или не ntpd
начали обновлять время. Вы можете это подтвердить?
Похоже, что с Raspbian Stretch произошли некоторые изменения. Короче говоря, ntp больше не устанавливается. Бег dpkg -l | grep ntp
ничего не возвращает.
Судя по всему, Stretch отказалась от ntp
приложения в пользу systemd. Проверьте man timesyncd
запись для специфики настроек конфигурации. timesyncd
все еще использует ntp-серверы для обновления времени. Если вы хотите настроить эти серверы вручную, вы можете сделать это в /etc/systemd/timesyncd.conf
файле.
sudo systemctl restart timesyncd
а после этого проверяйте журналы, journalctl -u timesyncd -f
иногда корпоративные брандмауэры блокируют порт. В таких случаях используйте предоставленный корпоративный URL-адрес ntp-сервера.
systemd-timesyncd
systemctl restart systemd-timesyncd
Если ведение журнала или время хранения в автономном режиме является то , что вы ищете, вы можете добавить Real Time Clock фишки, как DS1307 .