Ich muss die Uhr (außer der Zeitzone) auf dem Raspberry Pi nicht einstellen. Woher kommt die Zeit? Wie genau ist es?
Ich muss die Uhr (außer der Zeitzone) auf dem Raspberry Pi nicht einstellen. Woher kommt die Zeit? Wie genau ist es?
Antworten:
Raspbian bezieht die Uhrzeit von einem NTP-Server (einem "Zeitserver").
Ziehen Sie den Stecker Ihres Raspberry Pi vollständig heraus, ziehen Sie das Netzwerkkabel heraus und starten Sie den Raspberry Pi erneut. Sie werden feststellen, dass Datum und Uhrzeit nicht korrekt sind.
Wenn Sie wollen / müssen das Datum und die Uhrzeit nicht zurückgesetzt werden , ohne in das Internet angeschlossen ist, müssen Sie eine Real Time Clock (RTC) - zum Beispiel so etwas wie diese - die die Zeit aktuell halten wird, durch Verwendung einer Batterie eine Uhr laufen lassen. Auf diese Weise behält Ihr Computer auch die Zeit bei, wenn er nicht mit Strom versorgt wird.
UPDATE Nur eine Randnotiz, dass die obige RTC-Uhr nicht die einzige Möglichkeit ist, die Zeit zwischen den Stromausfällen genau zu halten. Sie können auch ein GPS-Modul verwenden und dieses an die GPIO-Pins anschließen.
Genauigkeit Es ist ziemlich genau, obwohl die Zeit Ihrer Uhr um einiges abweicht. Die Korrektur kann bis zu 3 Stunden dauern, da Änderungen vom Server nach und nach auf Ihre lokale Uhr angewendet werden. Die Netzwerkstabilität hat den größten Einfluss auf die Genauigkeit, da ein unvorhersehbares Netzwerk (etwas kabelloseres wie 3G ) es sehr schwierig macht, genau zu sein. Einfach ausgedrückt: Die Genauigkeit ist ziemlich gut, der Zeitunterschied zwischen Ihrem Computer und der tatsächlichen Zeit (vom NTP-Server) beträgt normalerweise weniger als 100 ms .
Morgans Antwort gab mir den Hinweis, den ich brauchte, um das Problem zu lösen.
Gehen Sie zu http://support.ntp.org/bin/view/Servers/NTPPoolServers.
Wählen Sie Ihre Region aus, dann wird Ihr Land und eine Liste der Server angezeigt.
Bearbeiten Sie Ihre Datei /etc/ntp.conf, z
sudo vim /etc/ntp.conf
Ersetzen Sie die Liste der Server durch die Liste, die Sie auf der Webseite gefunden haben. z.B
server 0.dk.pool.ntp.org iburst
server 1.dk.pool.ntp.org iburst
server 2.dk.pool.ntp.org iburst
server 3.dk.pool.ntp.org iburst
Speichern und schließen.
Starten Sie den NTP-Deamon neu.
sudo /etc/init.d/ntp neu starten
Überprüfen Sie, ob das Datum korrekt ist.
Datum
Do 20.06. 13:39:20 MESZ 2013
Auf einem meiner Server wurde das Datum sofort geändert. In der anderen musste ich ein paar Minuten warten.
server 0.uk.pool.ntp.org iburst
ntpq -p
. Ich benutze: "Raspbian GNU / Linux 7 (wheezy)" und "Linux raspberrypi 4.1.7+ # 817 PREEMPT Sa Sep 19 15:25:36 BST 2015 armv6l GNU / Linux"
hwclock
oder fake-hwclock
stört (aber der Teil "/etc/rc.conf" ist veraltet)
ntpq -p
Teil ist von einer Antwort auf Wie wird die Zeit auf dem Raspberry Pi gehalten? .
ntpq -p
machte keinen Unterschied).
Wenn Sie das fake-hwclock
Paket haben , wird auch ein Trick zum Speichern von Zeitstempeln ausgeführt, um zu verhindern, dass die Uhr zurückgesetzt wird. Wenn das Gerät ausgeschaltet ist, wird die Zeit nicht vorverlegt, sodass sie zurückbleibt. Die interne Uhr driftet ebenfalls ein wenig, während sie eingeschaltet ist.
Wenn Sie über eine Internetverbindung (oder ein LAN mit einem Server) verfügen und ntp (ntpd / ntpdate) ausführen, können Sie die Zeit über das Netzwerk abrufen, wie andere Antworten zeigen. Wenn es synchronisiert ist, ist es wirklich ziemlich genau. Onlineserver geben Ihnen auch den Konsens "Weltzeit".
fake-hwclock
. Warum sollte jemand die Uhr einfrieren wollen, wenn die Maschine ausgeschaltet ist? Ich kann mir keinen Anwendungsfall dafür vorstellen. Gibt es?
fake-hwclock
Verwenden Sie für Arch Linux archplusplus.co.uk/post/40202081414/…
Der Raspberry Pi verfügt aus Kostengründen nicht über eine integrierte Echtzeituhr (RTC): Siehe die Frage "Warum gibt es keine Echtzeituhr (RTC)?" in den offiziellen FAQ . Wenn Sie den Raspberry Pi vom Stromnetz trennen, verliert er seine Zeit. Wenn Sie es wieder einschalten, wird die Zeit auf den 1. Januar 1970 (auch bekannt als Unix-Epoche ) initialisiert .
Der Raspberry Pi stellt seine Uhrzeit über das Netzwerk mit NTP ein , einem Protokoll zur Uhrzeitsynchronisation zwischen Computern. Dieses Protokoll wird häufig über das Internet verwendet, um sicherzustellen, dass die Computer dieselbe Zeit haben und sehr zuverlässig sind, da einige Maschinen für die Zeitberechnung mit Atomuhren vorgesehen sind .
ntpd
Ist ein Daemon (eine Software im Hintergrund), die eine Startzeit gestartet hat und für die Synchronisierung der Zeit mithilfe des NTP-Protokolls verantwortlich ist. ntpd
kann mit der Datei konfiguriert werden /etc/ntp.conf
. Hier können Sie beispielsweise die Server so einstellen, dass sie die Uhrzeit abfragen.
date
jetzt das alte Datum plus, glaube ich, einige zusätzliche Stunden von der gestrigen und heutigen Betriebszeit (nach einigen Neustarts gestern und heute) angezeigt. (Raspbian, entspricht Mitte 2015).
cat /etc/fake-hwclock.data
Sie ausführen , wird die zuletzt fake-hwclock
gespeicherte Zeit angezeigt (offensichtlich zum Zeitpunkt des Herunterfahrens). fake-hwclock
wird auf dem RPi verwendet, um eine echte Uhr nachzuahmen. Ich denke du hast dein RPi ohne Internetzugang gebootet oder ohne ntpd
angefangen die Zeit zu aktualisieren. Kannst du das bestätigen?
Anscheinend gab es bei Raspbian Stretch einige Veränderungen. Kurz gesagt, NTP ist nicht mehr installiert. Laufen dpkg -l | grep ntp
bringt nichts.
Anscheinend hat Stretch den ntp
Antrag zugunsten von systemd aufgegeben . Überprüfen Sie den man timesyncd
Eintrag auf Einzelheiten zu den Konfigurationseinstellungen. timesyncd
verwendet noch NTP-Server, um die Zeit zu aktualisieren. Wenn Sie diese Server manuell konfigurieren möchten, können Sie dies in der /etc/systemd/timesyncd.conf
Datei tun .
sudo systemctl restart timesyncd
und überprüfen Sie anschließend die Protokolle, indem journalctl -u timesyncd -f
manchmal Unternehmensfirewalls den Port blockieren. Verwenden Sie in solchen Fällen die angegebene Unternehmens-NTP-Server-URL.
systemd-timesyncd
, so dass der Befehl zum Neustart sein würdesystemctl restart systemd-timesyncd
Wenn Sie nach Protokollierung oder Zeitmessung im Offline- Modus suchen, können Sie einen Echtzeituhr- Chip wie den DS1307 hinzufügen .