De onde vem o Raspberry Pi?

44

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?

Scoop
fonte
As novas instalações exigem tempo de várias fontes. Para obter detalhes e o motivo pelo qual você deve alterá-lo para time.nist.gov, consulte estas perguntas e respostas: raspberrypi.stackexchange.com/questions/68811/…
SDsolar

Respostas:

45

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 .

Vincent P
fonte
1
boa resposta. obrigado pelo link sobre o relógio de hardware
Scoop
1
Boa resposta; poderia ser melhorado mencionando a precisão do protocolo NTP.
Alex Chamberlain
@AlexChamberlain Obrigado pelo aviso, eu ia adicioná-lo, mas isso me deixou completamente louco. Eu adicionei agora.
Vincent P
Enquanto meu Pi está conectado à rede, percebo que o tempo passou 30 minutos agora. O ntpd está ativado por padrão ou preciso fazer isso manualmente?
andig
Talvez até, até o Raspberry Pi 3. Comprei um há dois meses e a atualização do horário NTP está ferrada, pelo menos na Raspbian Jessie oficial. Abri três tópicos com esse problema e todos não têm noção. Eu tive que comprar o módulo de hardware para manter o tempo para resolver o problema.
Pygmalion
21

A resposta de Morgan me deu a dica de que eu precisava para resolver o problema.

  1. 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.

  2. 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.

  3. Reinicie o deamon ntp.

    sudo /etc/init.d/ntp restart

  4. 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.

user1682960
fonte
2
Se você estiver no Reino Unido (ou outro país), então você pode simplesmente mudar o código do país de duas letras para .eg terno server 0.uk.pool.ntp.org iburst
Pierz
O passo 4 não funcionou para mim até cerca de 15 minutos. Ou talvez porque eu corri 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"
Peter Mortensen
Talvez hwclockou fake-hwclockestá interferindo (mas a parte "/etc/rc.conf" está fora de data)
Peter Mortensen
A ntpq -pparte é de uma resposta para Como é mantido o tempo no Raspberry Pi? .
Peter Mortensen
E após um desligamento de 5 minutos, ficou 5 minutos atrasado ( ntpq -pnão fez diferença).
Peter Mortensen
14

Se você tiver o fake-hwclockpacote , 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".

XTL
fonte
interessante sobre 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?
quer
2
@Scoop Como a alternativa é esquecer o tempo, ela será redefinida. Isso fará com que qualquer timestamps gravadas parecem ser do futuro etc. "congelamento" do relógio torna-se o tempo continua se movendo para a frente, mesmo se a contagem está fora :)
XTL
1
É claro que ter ntp ou outra maneira de acertar o relógio ainda funcionará e o fake-hwclock é executado apenas na inicialização e no desligamento.
XTL 14/01
1
para fake-hwclockno Arch Linux, use archplusplus.co.uk/post/40202081414/…
levinalex:
2
Este pacote agora parece estar instalado como padrão no Raspbian agora.
Pier15
11

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. ntpdpode ser configurado com o arquivo /etc/ntp.conf. Por exemplo, é aqui que você pode definir os servidores para solicitar o horário.

Morgan Courbet
fonte
Não se lembra da última vez? Eu desliguei um Raspberry Pi há uma semana e dateagora 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).
Peter Mortensen
Execute cat /etc/fake-hwclock.datae você verá a última vez que fake-hwclockeconomizou 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 ntpdcomeçar a atualizar o horário. Você pode confirmar isso?
Morgan Courbet
5

Raspbian Stretch: NTP não instalado por padrão

Parece que houve algumas mudanças no Raspbian Stretch. Em resumo, o ntp não está mais instalado. Correr dpkg -l | grep ntpnão retorna nada.

Aparentemente, o Stretch abandonou o ntpaplicativo em favor do systemd. Verifique a man timesyncdentrada para obter detalhes sobre configurações. timesyncdainda usa servidores ntp para atualizar o horário. Se você deseja configurar esses servidores manualmente, pode fazê-lo no /etc/systemd/timesyncd.confarquivo

b_laoshi
fonte
1
Depois de fazer a edição, reinicie o serviço sudo systemctl restart timesyncde, depois disso, verifique os logs por journalctl -u timesyncd -fvezes que os firewalls corporativos bloqueiam a porta. Nesses casos, use o URL do servidor NTP corporativo fornecido.
typelogic
Eu acredito que o nome correto do daemon é systemd-timesyncd, de modo que o comando para reiniciar seriasystemctl restart systemd-timesyncd
chb
3

Se você deseja registrar ou manter um tempo offline , é possível adicionar um chip de relógio em tempo real , como o DS1307 .

Marius Butuc
fonte
Há soluções bastante razoáveis RTC como este para comprar por exemplo cjemicros.co.uk/micros/individual/newprodpages/...
Pierz