Como usar o relógio em tempo real com o Raspberry Pi

Como usar o relógio em tempo real com o Raspberry Pi
O Raspberry Pi rastreia o tempo usando a Internet, mas quando não há rede, isso pode ser uma situação problemática para usuários que trabalham em alguns projetos baseados no tempo. Para tal situação, existe um protocolo I2C no Raspberry Pi. I2C é um circuito inter-integrado que pode ser usado para conectar o Raspberry Pi a um relógio em tempo real (RTC) para manter a rastreamento correta do tempo, mesmo que não haja Internet.

Neste artigo, você verá o método de usar um relógio em tempo real para acompanhar o tempo no Raspberry Pi.

Como usar um relógio em tempo real (RTC) com o Raspberry Pi

RTC é um pequeno módulo de hardware usado para manter a data e o rastreamento de data e hora. Um módulo RTC consiste em uma interface I2C, devido à qual pode ser conectada ao Raspberry Pi. Geralmente, um módulo RTC consiste em 4 pinos, mas pode haver mais pinos. Os quatro pinos básicos do RTC que são usados ​​para conectar RTC com Raspberry Pi são:

  • Pino SDA
  • PIN SCL
  • GND PIN
  • 5 V ou VCC PIN

Todos esses pinos são rotulados na imagem abaixo, a cor do módulo RTC pode variar, pode ser azul, verde ou vermelho:

O Raspberry Pi também possui um Pins SDA e SDL do Protocolo I2C nos pinos número 3 e 5 para conectá -lo ao módulo RTC. Para conectar o Raspberry Pi ao módulo RTC, usaremos 4 pinos Raspberry Pi, destacados na imagem abaixo:

Siga as etapas abaixo para usar o RTC com Raspberry Pi:

Etapa 1: Configuração de hardware

Para construir o circuito de hardware do Raspberry Pi e RTC, use o diagrama de circuito abaixo;

  • SDA de RTC para o pino 3 de Raspberry Pi
  • SCL de RTC para o pino 5 de Raspberry Pi
  • GND de RTC ao pino 14 (GND) de Raspberry Pi
  • 5V ou VCC para o pino 2 de Raspberry Pi

Etapa 2: Ativar I2C no Raspberry Pi

Você tem que ativar I2c Interface no Raspberry Pi, abrindo a ferramenta de configuração Raspberry Pi usando o seguinte comando:

$ sudo raspi-config

Vou ao Opções de interface e acertar Digitar:

Depois entre no I2c Opção para ativar o protocolo I2C no Raspberry Pi:

Depois disso, pedirá uma permissão para ativar o protocolo I2C, escolha Sim aqui:

Um aviso parecerá informar que o I2c está ativado; clique OK aqui:

Em seguida, clique no Terminar botão para concluir o processo.

Etapa 3: verifique se a conexão do módulo RTC com Raspberry Pi

Depois de ativar o I2C, verifique se o seu módulo de hardware RTC está conectado corretamente com o Raspberry Pi e isso pode ser confirmado executando o comando abaixo escrito:

$ sudo i2cdetect -y 1

Se a saída do comando exibir o ID# 68 Então isso significa que a placa está conectada corretamente:

Agora, editaremos o arquivo de inicialização/configuração para configurar o tempo RSPberry Pi RTC:

$ sudo nano /bota /configuração.TXT

Depois de abrir o arquivo, vá para a parte inferior do arquivo e dependendo do módulo RTC, que você está usando alterar a linha mencionada abaixo e escrevê-lo na parte inferior do arquivo de inicialização/configuração:

Sintaxe

dtoverlay = i2c-rtc,

Os três módulos RTC comumente usados ​​são DS1307, DS3231 e PCF8523 Você pode verificar qual deles está usando e pode alterar o texto de acordo com isso.

Exemplo

Estou usando o DS1307 Módulo, então eu usei este comando abaixo escrito:

dtoverlay = i2c-rtc, ds1307

Em seguida, salve o arquivo usando as chaves Ctrl+x e Y.

Agora reinicie o sistema usando o comando abaixo escrito para que o kernel RTC possa ser carregado:

$ sudo reiniciar

Agora, após uma reinicialização, execute o comando de detecção i2c novamente e você deve ver um Uu (significa que dispositivo ou recurso está ocupado) em vez do número 68. O Uu confirma que o kernel está carregado com sucesso e o módulo RTC está finalmente se comunicando com o Raspberry Pi:

$ sudo i2cdetect -y 1

Desde que o RTC começou a se comunicar com o Raspberry Pi, é hora de remover o antigo relógio falso em Raspberry Pi e, para esse fim, execute o comando abaixo escrito:

$ sudo apt -y remover fake -hwclock

E execute o comando abaixo escrito para remover completamente o relógio falso, mesmo dos scripts de inicialização no Raspberry Pi:

$ sudo update-rc.D -F Fake -Hwclock Remover

Agora é hora de editar o script de hardware do RTC usando o Nano Editor e, para isso, execute o comando mencionado abaixo:

$ sudo nano/lib/udev/hwclock-set

No arquivo, encontre o texto destacado na imagem abaixo:

Comente todas as três linhas adicionando # na frente deles:

Agora, para ler o horário diretamente do módulo RTC, execute o comando abaixo escrito:

$ sudo hwclock -d -r

Em seguida, execute o comando abaixo para descobrir a data do sistema, certifique-se de que, neste ponto, seu Raspberry Pi esteja conectado ao Wi-Fi ou Ethernet para obter a data correta:

$ data

Agora execute o comando abaixo escrito para escrever a data correta (que você acabou de ver acima por Date Command) no módulo RTC:

$ sudo hwclock -w

E agora para verificar se a data foi escrita corretamente no módulo RTC, execute o data comando para encontrar a data do sistema e hwclock -r comando para encontrar o tempo do módulo RTC e ambos devem ser iguais:

$ data
$ sudo hwclock -r

Conclusão

O módulo RTC pode ser conectado com Raspberry Pi usando o protocolo síncrono I2C. A configuração de hardware e software para usar o RTC com Raspberry Pi é discutida em detalhes no artigo. Depois que o RTC estiver configurado corretamente com o Raspberry Pi, mesmo se você não estiver conectado à rede, seu sistema ainda mostrará o tempo preciso devido ao módulo RTC (tempo real do relógio).