Frage:
Benötige ich eine RTC, wenn mein Raspberry Pi ständig mit dem Internet verbunden ist?
ON5MF Jurgen
2018-02-21 01:48:38 UTC
view on stackexchange narkive permalink

Wie genau wäre die Zeit auf meinem Raspberry Pi 3, wenn er ständig mit dem Internet verbunden wäre, jedoch ohne RTC?

Ich habe jetzt keine genaue Antwort, aber es ist viel besser als eine Sekunde. Wie genau brauchen Sie?
Eine Genauigkeit von etwa 1 Sekunde wäre gut genug.
Die RTC wird nicht zur Zeitmessung verwendet, wenn das System hochgefahren ist. Es ist eine Uhr beim Booten und eine Uhr beim Herunterfahren. Wenn das System hochgefahren ist, werden HPET- oder andere CPU-Timer verwendet, die viel präziser sind.
Fünf antworten:
crasic
2018-02-21 02:56:01 UTC
view on stackexchange narkive permalink

Da das NTP -Protokoll versucht, die Netzwerklatenz und andere Verzögerungen zu messen und zu kompensieren, ist es selbst bei Verwendung öffentlicher Zeitserver sehr genau.

RTC wird verwendet, um die Systemzeit aufrechtzuerhalten, wenn die Stromversorgung unterbrochen wird, und ist nicht unbedingt genau, nachdem Ihr Himbeer-PI gestartet und die Zeit von NTP zählt weiterhin die Zeit ohne RTC , auch wenn das Netzwerk nicht verbunden ist.

Wenn Sie NTP verwenden und nicht kontinuierlich mit dem Netzwerk synchronisieren, wird die Systemzeit mit einem Timer verwaltet, der auf der CPU-Uhr basiert.


Bei Ausführung mit einem lokalen Netzwerkzeitserver kann NTP eine Genauigkeit von <1ms erreichen.

Bei Überführung Das öffentliche Internet, das dynamische und möglicherweise asymmetrische Routing von Paketen tragen zu einer schlechteren Schätzung der Netzwerkverzögerungen bei. Sie können jedoch eine Genauigkeit von deutlich unter 1s erwarten, wobei die meisten Dokumentationen über das öffentliche Internet eine Genauigkeit von 100 ms beanspruchen.

Wenn Sie eine bessere Synchronisierung benötigen, Ohne bessere Genauigkeit können Sie in Betracht ziehen, einen lokalen NTP-Server zu betreiben, um mehrere Himbeer-Pi relativ zueinander mit einer Synchronisation von weniger als 1 ms zu synchronisieren (gut zum Ausrichten von Sensordaten).

Wenn Sie sowohl Genauigkeit als auch Synchronisation benötigen, können Sie einen Stratum 1-NTP-Server mit GPS als Zeitquelle ausführen.

Bei einer guten Internetverbindung liegt der Fehler normalerweise im einstelligen Millisekundenbereich. Diese Spezifikationen stammen aus der Zeit, als Computer und Netzwerkverbindungen etwas langsamer waren.
goldilocks
2018-02-21 02:53:48 UTC
view on stackexchange narkive permalink

Laut Wikipedia soll das Network Time Protocol, das standardmäßig auf Raspbian und Millionen anderer vernetzter Geräte und Computer verwendet wird:

alle teilnehmenden Computer synchronisieren Innerhalb weniger Millisekunden

Tatsächlich wird NTP auf Systemen (Servern, PCs usw.) verwendet, die über eine RTC verfügen, um die Drift-Computeruhren zu korrigieren. Das heißt, wenn Sie eine RTC hinzufügen, wird diese genau gehalten, indem genau dieselben Netzwerkmechanismen verwendet werden, die zum Einstellen der "Software" -Uhr des Betriebssystems bereits verwendet werden (was realistisch gesehen an die Prozessorfrequenz gebunden ist, dh, dass sich dort Kristall befindet irgendwo, wo die Zeit effektiv bleibt, während das System eingeschaltet ist).

R.. GitHub STOP HELPING ICE
2018-02-21 06:13:17 UTC
view on stackexchange narkive permalink

Das Vorhandensein oder Fehlen von RTC hat nichts mit der Genauigkeit der Zeitmessung zu tun. Es geht lediglich darum, die aktuelle Zeit (eine schlechte Annäherung an die aktuelle Zeit) beim Ausschalten des Geräts beizubehalten, damit die Systemzeit korrekt ist, bevor Sie das Netzwerkgerät und ntpd aufrufen.

Beachten Sie, dass if Wenn Sie eine sichere Remote-Clock-Quelle anstelle von einfachem NTP verwenden möchten, müssen Sie eine ungefähre Vorstellung von der aktuellen Zeit (genau innerhalb einer Monatsskala) haben, um Zertifikate validieren zu können. Dies ist wahrscheinlich der moderne Hauptzweck einer RTC auf Geräten mit Internetverbindung.

Tribmos
2018-02-22 04:00:54 UTC
view on stackexchange narkive permalink

Nach Experimenten mit C ++ auf meinem RPI3 (Stretch) mit der Funktion sys / time.h gettimeofday (**) und der wiringPi-API, die dann anhand eines Bereichs gemessen werden, können optimierte Anwendungen eine Auflösung von weniger als einer Millisekunde und eine Genauigkeit beim Timing erzielen.

Wenn Sie jetzt andere Sprachen im RPI verwenden, können Sie diese Geschwindigkeiten möglicherweise nicht erhalten.

Chris H
2018-02-21 03:55:14 UTC
view on stackexchange narkive permalink

Mit einem öffentlichen NTP-Server auf der anderen Seite eines komplexen und ausgelasteten Netzwerks erreichen wir auf mehreren Geräten eine Genauigkeit von mehr als einer Sekunde. Wir benötigen außerdem nur eine Genauigkeit in der Größenordnung von 1s (die die Systemuhr beim Einschalten tagelang beibehalten kann).

Lesen Sie die ntpd-Manpage, jedoch nach der Konfiguration eines Servers Stellen Sie sicher, dass ntpd -g beim Booten ausgeführt wird. Mit dem -g kehren Sie zur Echtzeit zurück, wenn die Uhr weit entfernt ist, z. B. nach einem Stromausfall.

`chrony` bietet eine viel bessere Leistung als` ntpd` auf Systemen, deren Verbindung jederzeit ein- und ausgehen kann.
@hobbs das ist interessant. Besser auf welche Weise? Meine sind aufgrund eines [Problems mit der Kennwortspeicherung] (https://unix.stackexchange.com/q/242811/47326) verkabelt und die Verbindung ist zuverlässig. Tatsächlich verlieren sie eher Strom als das Netzwerk, aber manchmal kommt es zu Verlangsamungen.
https://chrony.tuxfamily.org/comparison.html#Performance
Zusätzlich zum "unzuverlässigen Netzwerk" -Betrieb kann chrony eine größere Korrektur der Systemtaktfrequenz vornehmen. Wenn die Differenz zwischen der nominalen Taktfrequenz und der beobachteten Taktfrequenz mehr als ± 500 ppm beträgt, wird sie von ntpd nicht korrigiert. Grundsätzlich funktioniert chrony in einer virtuellen Maschine besser als ntpd.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...