Non devo impostare l'orologio (oltre al fuso orario) sul Raspberry Pi. Da dove arriva il tempo? Quanto è preciso?
Non devo impostare l'orologio (oltre al fuso orario) sul Raspberry Pi. Da dove arriva il tempo? Quanto è preciso?
Risposte:
Raspbian ottiene l'ora da un server NTP (un "time server").
Scollegare completamente Raspberry Pi, estrarre il cavo di rete e riavviare Raspberry Pi. Vedrai che la data e l'ora non sono corrette.
Se si desidera / bisogno la data e l'ora di non essere ripristinato senza essere collegato a Internet, avrete bisogno di un orologio in tempo reale (RTC) - per esempio, qualcosa di simile a questa - che manterrà l'attuale tempo, utilizzando una batteria per eseguire un orologio. Questo è anche il modo in cui il tuo computer mantiene l'ora quando non viene alimentato.
AGGIORNAMENTO Solo una nota a margine che il precedente orologio RTC non è l'unico modo per mantenere il tempo preciso tra le perdite di potenza. È inoltre possibile utilizzare un modulo GPS e collegarlo ai pin GPIO.
Precisione È abbastanza preciso, anche se l'ora dell'orologio è un po 'spenta. Potrebbero essere necessarie fino a 3 ore per correggersi, poiché le modifiche dal server vengono applicate gradualmente all'orologio locale. La stabilità della rete ha il maggiore impatto sull'accuratezza, poiché una rete imprevedibile (qualcosa di più wireless, come il 3G ) renderà molto difficile essere precisi. Per dirla semplicemente: la precisione è piuttosto buona, la differenza di tempo tra il tuo computer e l'ora effettiva (dal server NTP) è normalmente inferiore a 100ms .
La risposta di Morgan mi ha dato il suggerimento di cui avevo bisogno per risolvere il problema.
Vai su http://support.ntp.org/bin/view/Servers/NTPPoolServers
Seleziona la tua regione, verranno visualizzati il tuo paese e un elenco di server.
Modifica il tuo file /etc/ntp.conf ad es
sudo vim /etc/ntp.conf
Sostituisci l'elenco dei server con quello che hai trovato nella pagina web. per esempio
server 0.dk.pool.ntp.org
server iburst 1.dk.pool.ntp.org
server iburst 2.dk.pool.ntp.org
server iburst 3.dk.pool.ntp.org iburst
Salva ed esci.
Riavvia il deamon ntp.
sudo /etc/init.d/ntp restart
controlla che la data sia corretta.
data
Gio 20 giu 13:39:20 CEST 2013
In uno dei miei server la data è stata cambiata immediatamente. Nell'altro ho dovuto aspettare un paio di minuti.
server 0.uk.pool.ntp.org iburst
ntpq -p
. Sto usando: "Raspbian GNU / Linux 7 (wheezy)" e "Linux raspberrypi 4.1.7+ # 817 PREEMPT sab 19 set 15:25:36 BST 2015 armv6l GNU / Linux"
hwclock
o fake-hwclock
sta interferendo (ma la parte "/etc/rc.conf" non è aggiornata)
ntpq -p
parte è da una risposta a Come viene mantenuto il tempo sul Raspberry Pi? .
ntpq -p
non faceva differenza).
Se hai il fake-hwclock
pacchetto , eseguirà anche un trucco di risparmio di data e ora per impedire il ripristino dell'orologio. Ciò non farà avanzare il tempo mentre il dispositivo è spento, quindi resterà indietro. Anche l'orologio interno si sposterà leggermente quando è acceso.
Se disponi di una connessione Internet (o lan con un server) ed esegui ntp (ntpd / ntpdate), puoi ottenere il tempo sulla rete, come indicano altre risposte. Quando sincronizzato, è davvero abbastanza preciso. I server online ti daranno anche il consenso "ora mondiale".
fake-hwclock
. Perché qualcuno dovrebbe voler congelare l'orologio quando la macchina è spenta? Non riesco a pensare a un caso d'uso per quello. È lì?
fake-hwclock
Arch Linux, utilizzare archplusplus.co.uk/post/40202081414/…
Il Raspberry Pi non ha un orologio in tempo reale (RTC) integrato per il rapporto costo-efficacia: vedi la domanda "Perché non esiste un orologio in tempo reale (RTC)?" nelle FAQ ufficiali . Significa che quando si scollega il Raspberry Pi, perde tempo. Quando lo riaccendi, il tempo viene inizializzato al 1 ° gennaio 1970 (aka epoca Unix ).
Il Raspberry Pi imposta il suo tempo sulla rete con NTP , un protocollo per la sincronizzazione dell'orologio tra computer. Questo protocollo è ampiamente utilizzato su Internet per garantire che i computer abbiano lo stesso orario ed è altamente affidabile poiché alcune macchine sono dedicate al calcolo del tempo con orologi atomici .
ntpd
è un demone (un software in background) lanciato all'avvio, ed è responsabile della sincronizzazione dell'ora usando il protocollo NTP. ntpd
può essere configurato con il file /etc/ntp.conf
. Ad esempio, è qui che è possibile impostare i server per richiedere l'ora.
date
ora mostra quell'appuntamento di una settimana più, penso, qualche ora in più dal tempo di attività ieri e oggi (dopo alcuni riavvii ieri e oggi). (Raspbian, corrispondente a metà 2015).
cat /etc/fake-hwclock.data
e vedrai l'ultima volta che hai fake-hwclock
risparmiato il tempo (ovviamente, al momento dello spegnimento). fake-hwclock
viene utilizzato sull'RPi per imitare un orologio reale. Penso che tu abbia avviato il tuo RPi senza accesso a Internet o senza aver ntpd
iniziato ad aggiornare l'ora. Puoi confermarlo?
Sembrerebbe che ci sia stato un po 'di cambiamento con Raspbian Stretch. In breve, ntp non è più installato. La corsa dpkg -l | grep ntp
non restituisce nulla.
Apparentemente, Stretch ha abbandonato l' ntp
applicazione a favore di systemd. Controlla la man timesyncd
voce per i dettagli sulle impostazioni di configurazione. timesyncd
usa ancora server ntp per aggiornare l'ora. Se si desidera configurare questi server manualmente, è possibile farlo nel /etc/systemd/timesyncd.conf
file.
sudo systemctl restart timesyncd
e successivamente controllare i log da parte journalctl -u timesyncd -f
dei firewall aziendali a volte blocca la porta. In tali casi, utilizzare l'URL del server ntp aziendale fornito.
systemd-timesyncd
, in modo che il comando da riavviare siasystemctl restart systemd-timesyncd
Se stai registrando o mantenendo il tempo quando offline è quello che stai cercando, potresti voler aggiungere un chip Real Time Clock , come il DS1307 .