Je me rends compte que puisque Raspberry Pi n'a pas d'horloge matérielle en temps réel intégrée, certains problèmes de chronométrage précis peuvent se présenter, même lorsque la persistance entre les redémarrages n'est pas une exigence .
Cela peut être largement atténué en exécutant un démon NTP qui corrigera continuellement l'heure locale, mais NTP n'est pas une option si le Raspberry Pi n'est pas connecté à un réseau.
Donc, si je laisse un Raspberry Pi allumé avec une heure précise au début, combien dois-je m'attendre à ce que l'heure signalée dérive de l'heure locale réelle?
Et qu'en est-il entre les redémarrages?
raspbian
timekeeping
system-clock
SDsolar
la source
la source
Réponses:
Il y a vraiment deux problèmes:
1) La précision de l'oscillateur lui-même - qui a des variables telles que l'unicité, l'âge, la température, etc.
2) S'il y a quelque chose qui pourrait provoquer des erreurs de chronométrage par rapport à l'oscillateur à cristal. Ce serait des choses comme des interruptions manquées ou des problèmes de transition si l'horloge utilisée est après un multiplicateur PLL - ou affectée par la limitation de l'horloge (si elle est utilisée).
Soit dit en passant, à moins que NTP très bien mis en œuvre peut effectivement faire le calendrier auto-relatif précis pire à court terme, car cela signifie que l'horloge locale peut être modifiée pour être conforme à une autorité extérieure, plutôt que de rester cohérent avec lui - même.
la source
Cela dépendra du cristal utilisé, peut-être 10 ppm environ. Vous ne pouvez pas vraiment compter dessus à moins qu'il ne soit spécifié quelque part. Vous pourrez peut-être utiliser le GPS s'il n'est pas connecté à un réseau. Sinon, une puce RTC peut être ajoutée.
Vous aurez besoin de quelque chose de mieux que du temps logiciel s'il y a une chance que le RPi puisse perdre de la puissance ou planter.
J'espère connecter un RTC au GPIO très bientôt
la source
Interpréter la question à poser sur un Raspberry Pi exécutant Raspbian.
L'OS est l'influence dominante dans la façon dont le Rapberry Pi garde le temps.
Réponse: Sans source externe, l'horloge interne est très imprévisible pour ce qui est de garder le temps seul.
Études de cas récentes:
Voici une intrigue provenant d'un enregistreur de données Raspberry Pi 3 B qui a soudainement perdu l'alimentation secteur pendant environ une heure:
Vous pouvez clairement voir qu'à la remise sous tension, il a démarré et redémarré l'enregistrement des données.
Mais l'horloge Raspbian remonte dans le temps.
Ensuite, vous pouvez le voir passer à l'heure correcte dès qu'il reçoit une mise à jour de time.nist.gov
Comment configurer Raspbian pour utiliser le serveur de temps principal time.nist.gov?
Voici à nouveau une intrigue plus récente du même système.
Puisqu'il s'est interrompu hier (voir l'intrigue ci-dessus), j'ai l'habitude
sudo init 0
de l'éteindre correctement, afin d'imager la carte SD avec Win32DiskImager sur un PC.Cela prend un certain temps, comme on peut le voir ici.
Dans celui-ci, vous pouvez voir que Raspbian a initialement redémarré son horloge là où elle s'était arrêtée. Il semble qu'il ait enregistré de bonnes données (saute) en une minute.
Il montre ensuite ce qui se passe lorsqu'il reçoit la mise à jour de l'heure. Il saute vers la droite.
Le montant qu'il avance (quelques heures) est le temps qui a été manqué par Raspbian lors de l'imagerie de la carte SD.
Voici une tournure surprenante.
Le système a simplement gelé. Les lumières rouges et vertes sont allumées, pas de scintillement.
Annoncé (en utilisant
espeak
) en quelques minutes par le travail cron basé sur le ping du serveur principal qui surveille les enregistreurs de données pour une telle occurrence. Donc ça ne s'est pas arrêté plus de quelques minutes.Puissance tirée pendant quelques secondes. Redémarré - les LED semblent normales.
Voici comment ce problème a affecté l'enregistrement des données:
L'horloge Raspbian a bondi de 2 heures lorsque le système a été redémarré.
Ensuite, la mise à jour de l'heure de time.nist.gov la remet en place.
Réponse: Sans source externe, l'horloge interne est imprévisible pour ce qui est de garder le temps réel seul.
Comment configurer Raspbian pour utiliser le serveur de temps principal time.nist.gov?
la source