Mir ist klar, dass Raspberry Pi über keine integrierte Hardware-Echtzeituhr verfügt, sodass sich möglicherweise Probleme mit der genauen Zeitmessung ergeben, auch wenn ein dauerhafter Neustart nicht erforderlich ist .
Dies kann weitgehend durch Ausführen eines NTP-Daemons, der die lokale Zeit kontinuierlich korrigiert, verringert werden. NTP ist jedoch keine Option, wenn der Raspberry Pi nicht mit einem Netzwerk verbunden ist.
Wenn ich also einen Raspberry Pi am Anfang zeitgenau eingeschaltet lasse, wie viel sollte ich dann damit rechnen, dass die gemeldete Zeit von der tatsächlichen Ortszeit abweicht?
Und wie wäre es zwischen Neustarts?
raspbian
timekeeping
system-clock
SDsolar
quelle
quelle
Antworten:
Es gibt wirklich zwei Probleme:
1) Die Genauigkeit des Oszillators selbst - der Variablen wie Einzigartigkeit, Alter, Temperatur usw. aufweist. Eine schnelle Katalogeinsicht legt nahe, dass typische Mikroprozessor-Taktkristalle in der Größenordnung von +/- 10-100 ppm liegen
2) Wenn es irgendetwas gibt, das Zeitmessfehler in Bezug auf den Quarzoszillator verursachen könnte. Das sind Dinge wie verpasste Interrupts oder Übergangsprobleme, wenn der verwendete Takt hinter einem PLL-Multiplikator liegt - oder durch Taktdrosselung beeinflusst wird (wenn er verwendet wird).
Im Übrigen kann NTP, sofern es nicht sehr gut implementiert ist, das genaue, sich selbst betreffende Timing kurzfristig verschlechtern , da es bedeutet, dass die lokale Uhr geändert werden kann, um mit einer externen Behörde konsistent zu sein, anstatt mit sich selbst konsistent zu bleiben.
quelle
Es hängt von dem verwendeten Kristall ab, vielleicht 10 ppm oder so. Man kann sich nicht wirklich darauf verlassen, es sei denn, es ist irgendwo anders angegeben. Möglicherweise können Sie GPS verwenden, wenn Sie nicht mit einem Netzwerk verbunden sind. Andernfalls kann ein RTC-Chip hinzugefügt werden.
Sie brauchen etwas Besseres als nur Software-Zeit, wenn die Möglichkeit besteht, dass das RPi an Leistung verliert oder abstürzt.
Ich hoffe, bald eine RTC an den GPIO anschließen zu können
quelle
Interpretieren Sie die Frage nach einem Himbeer-Pi mit Raspbian.
Das Betriebssystem ist der dominierende Einfluss darauf, wie der Rapberry Pi die Zeit hält.
Antwort: Ohne eine externe Quelle ist die interne Uhr sehr unvorhersehbar, da sie die Zeit alleine hält.
Aktuelle Fallstudien:
Dies ist eine Handlung eines Raspberry Pi 3 B-Datenloggers, der plötzlich für etwa eine Stunde die Stromversorgung verlor:
Sie können deutlich erkennen, dass beim Wiedereinschalten die Datenprotokollierung gestartet und neu gestartet wurde.
Aber die Raspbian Uhr springt in der Zeit zurück.
Dann können Sie sehen, wie es vorwärts zur richtigen Zeit springt, sobald es ein Update von time.nist.gov erhält
Wie stelle ich Raspbian so ein, dass der primäre Zeitserver time.nist.gov verwendet wird?
Hier ist wieder eine neuere Handlung vom selben System.
Da es gestern unterbrochen wurde (siehe Grafik oben), habe ich
sudo init 0
es ordnungsgemäß heruntergefahren, um die SD-Karte mit Win32DiskImager auf einem PC abzubilden .Es dauert eine Weile, wie hier zu sehen ist.
In dieser ist zu sehen, dass Raspbian seine Uhr zunächst genau dort neu gestartet hat, wo sie aufgehört hat. Es sieht so aus, als hätte es innerhalb einer Minute gute Daten aufgezeichnet (springt hoch).
Dann wird angezeigt, was passiert, wenn die Zeitaktualisierung eingeht. Es springt nach rechts vorwärts.
Der Betrag, um den es nach vorne springt (ein paar Stunden), ist die Zeit, die Raspbian verpasst hat, als die SD-Karte abgebildet wurde.
Hier ist eine überraschende Wendung.
Das System ist einfach eingefroren. Sowohl rote als auch grüne Lichter leuchten, ohne zu flackern.
Ankündigung (Verwendung
espeak
) innerhalb von Minuten durch den Ping-basierten Cron-Job des Hauptservers, der die Datenlogger auf ein solches Vorkommen überwacht. Es dauerte also nicht länger als ein paar Minuten.Für ein paar Sekunden Strom gezogen. Neustart - LEDs sehen normal aus.
So hat sich dieser Fehler auf die Datenprotokollierung ausgewirkt:
Die Raspbian-Uhr sprang beim Neustart des Systems um 2 Stunden vorwärts.
Dann setzt das Zeit-Update von time.nist.gov es zurück.
Antwort: Ohne eine externe Quelle ist die interne Uhr nicht vorhersehbar, da die Echtzeit alleine bleibt.
Wie stelle ich Raspbian so ein, dass der primäre Zeitserver time.nist.gov verwendet wird?
quelle