Não preciso acertar o relógio (além do fuso horário) no Raspberry Pi. De onde ele está indo? Sobre quão preciso é isso?
Não preciso acertar o relógio (além do fuso horário) no Raspberry Pi. De onde ele está indo? Sobre quão preciso é isso?
Respostas:
Raspbian obtém o horário de um servidor NTP (um "servidor de horário").
Desconecte o Raspberry Pi completamente, retire o cabo de rede e inicie o Raspberry Pi novamente. Você verá que a data e a hora estão incorretas.
Se você quiser / precisar a data e hora para não ser reposto sem ser conectado à internet, você precisará de um relógio de tempo real (RTC) - por exemplo, algo como este - que vai manter o atual tempo, usando uma bateria para executar um relógio. É assim também que o computador mantém o tempo em que não está sendo alimentado.
ATUALIZAÇÃO Apenas uma observação lateral de que o relógio RTC acima não é a única maneira de manter o tempo preciso entre as perdas de energia. Você também pode usar um módulo GPS e conectá-lo aos pinos do GPIO.
Precisão É bastante preciso, embora se o tempo do seu relógio estiver um pouco demorado. Pode levar até 3 horas para se corrigir, pois as alterações do servidor são aplicadas gradualmente ao relógio local. A estabilidade da rede tem o maior impacto na precisão, pois uma rede imprevisível (algo mais sem fio, como 3G ) tornará muito difícil a precisão. Simplificando: A precisão é muito boa, a diferença de horário entre o computador e o horário real (do servidor NTP) é normalmente inferior a 100ms .
A resposta de Morgan me deu a dica de que eu precisava para resolver o problema.
Vá para http://support.ntp.org/bin/view/Servers/NTPPoolServers
Selecione sua região, seu país e uma lista de servidores serão exibidos.
Edite seu arquivo /etc/ntp.conf, por exemplo
sudo vim /etc/ntp.conf
Substitua a lista de servidores pela que você encontrou na página da web. por exemplo
servidor 0.dk.pool.ntp.org
servidor iburst 1.dk.pool.ntp.org
servidor iburst 2.dk.pool.ntp.org
servidor iburst 3.dk.pool.ntp.org iburst
Salvar e sair.
Reinicie o deamon ntp.
sudo /etc/init.d/ntp restart
verifique se a data está correta.
date
Qui Jun 20 13:39:20 CEST 2013
Em um dos meus servidores, a data foi alterada imediatamente. No outro, tive que esperar alguns minutos.
server 0.uk.pool.ntp.org iburst
ntpq -p
. Eu estou usando: "Raspbian GNU / Linux 7 (wheezy)" e "Linux Raspberry Pi 4.1.7+ # 817 PREEMPT Sat 19 de setembro 15:25:36 BST 2015 armv6l GNU / Linux"
hwclock
ou fake-hwclock
está interferindo (mas a parte "/etc/rc.conf" está fora de data)
ntpq -p
parte é de uma resposta para Como é mantido o tempo no Raspberry Pi? .
ntpq -p
não fez diferença).
Se você tiver o fake-hwclock
pacote , ele também fará um truque de economia de carimbo de data e hora para impedir que o relógio seja redefinido. Isso não adiantará o tempo enquanto o dispositivo estiver desligado, ficando para trás. O relógio interno também irá flutuar um pouco enquanto estiver ligado.
Se você tiver uma conexão com a Internet (ou LAN com um servidor) e executar o ntp (ntpd / ntpdate), poderá obter um tempo na rede, como outras respostas apontam. Quando sincronizado, é realmente bastante preciso. Servidores on-line também fornecerão o consenso de "horário mundial".
fake-hwclock
. Por que alguém iria querer congelar o relógio quando a máquina está desligada? Não consigo pensar em um caso de uso para isso. Existe?
fake-hwclock
no Arch Linux, use archplusplus.co.uk/post/40202081414/…
O Raspberry Pi não possui um relógio em tempo real (RTC) integrado para melhor relação custo-benefício: consulte a pergunta "Por que não há relógio em tempo real (RTC)?" no FAQ oficial . Isso significa que, quando você desconecta o Raspberry Pi, ele perde seu tempo. Quando você o liga, o tempo é inicializado em 1 de janeiro de 1970 (também conhecido como época do Unix ).
O Raspberry Pi define seu tempo na rede com o NTP , um protocolo para sincronização de relógio entre computadores. Esse protocolo é amplamente usado na Internet para garantir que os computadores tenham o mesmo tempo e seja altamente confiável, pois algumas máquinas são dedicadas ao cálculo do tempo com relógios atômicos .
ntpd
é um daemon (um software em segundo plano) iniciado um tempo de inicialização e é responsável pela sincronização do tempo usando o protocolo NTP. ntpd
pode ser configurado com o arquivo /etc/ntp.conf
. Por exemplo, é aqui que você pode definir os servidores para solicitar o horário.
date
agora mostra essa data de uma semana mais, eu acho, algumas horas extras a partir do tempo de atividade ontem e hoje (depois de algumas reinicializações ontem e hoje). (Raspbian, correspondente a meados de 2015).
cat /etc/fake-hwclock.data
e você verá a última vez que fake-hwclock
economizou o tempo (obviamente, no momento do desligamento). fake-hwclock
é usado no RPi para imitar um relógio real. Acho que você inicializou seu RPi sem acesso à Internet ou sem ntpd
começar a atualizar o horário. Você pode confirmar isso?
Parece que houve algumas mudanças no Raspbian Stretch. Em resumo, o ntp não está mais instalado. Correr dpkg -l | grep ntp
não retorna nada.
Aparentemente, o Stretch abandonou o ntp
aplicativo em favor do systemd. Verifique a man timesyncd
entrada para obter detalhes sobre configurações. timesyncd
ainda usa servidores ntp para atualizar o horário. Se você deseja configurar esses servidores manualmente, pode fazê-lo no /etc/systemd/timesyncd.conf
arquivo
sudo systemctl restart timesyncd
e, depois disso, verifique os logs por journalctl -u timesyncd -f
vezes que os firewalls corporativos bloqueiam a porta. Nesses casos, use o URL do servidor NTP corporativo fornecido.
systemd-timesyncd
, de modo que o comando para reiniciar seriasystemctl restart systemd-timesyncd
Se você deseja registrar ou manter um tempo offline , é possível adicionar um chip de relógio em tempo real , como o DS1307 .