In questo articolo, vedrai il metodo di utilizzo di un orologio in tempo reale per tenere traccia del tempo su Raspberry Pi.
Come usare un orologio in tempo reale (RTC) con il Raspberry Pi
RTC è un piccolo modulo hardware che viene utilizzato per mantenere il monitoraggio preciso della data e dell'ora. Un modulo RTC è costituito da un'interfaccia I2C a causa della quale può essere collegato a Raspberry Pi. Di solito, un modulo RTC è composto da 4 pin ma potrebbero esserci più pin. I quattro pin di base di RTC che vengono utilizzati per collegare RTC con Raspberry Pi sono:
Tutti questi pin sono etichettati nell'immagine qui sotto, il colore del modulo RTC può variare che potrebbe essere blu, verde o rosso:
Il Raspberry Pi ha anche una pins protocollo I2C SDA e SDL al pin numero 3 e 5 per collegarlo al modulo RTC. Per collegare il Raspberry Pi con il modulo RTC utilizzeremo 4 pin di lampone PI che sono evidenziati nell'immagine qui sotto:
Segui i passaggi di seguito per utilizzare RTC con Raspberry Pi:
Passaggio 1: configurazione hardware
Per costruire il circuito hardware di Raspberry Pi e RTC, utilizzare lo schema del circuito inferiore;
Passaggio 2: abilita I2C su Raspberry Pi
Devi abilitare I2c Interfaccia su Raspberry Pi aprendo lo strumento di configurazione Raspberry Pi usando il seguente comando:
$ sudo raspi-config
Vai al Opzioni di interfaccia e colpito accedere:
Quindi inserire ulteriormente il I2c Opzione per abilitare il protocollo I2C su Raspberry Pi:
Dopo di che ti chiederà il permesso di abilitare il protocollo I2C, scegli SÌ Qui:
Un prompt sembrerà informare che il I2c è abilitato; clic OK Qui:
Quindi fare clic su Fine pulsante per completare il processo.
Passaggio 3: assicurarsi il modulo RTC Connessione a Raspberry Pi
Dopo aver abilitato I2C, assicurati che il tuo modulo hardware RTC sia collegato correttamente con Raspberry Pi e che può essere confermato eseguendo il comando di seguito:
$ sudo i2cdetect -y 1
Se l'output del comando ha visualizzato il ID# 68 quindi significa che la scheda è collegata correttamente:
Ora modificheremo il file di avvio/configurazione per configurare il tempo Raspberry Pi RTC:
$ sudo nano /boot /config.TXT
Dopo aver aperto il file, vai in fondo al file e a seconda del modulo RTC che si sta usando altera la riga di seguito e scriverlo nella parte inferiore del file di avvio/configurazione:
Sintassi
dtoverlay = i2c-rtc,
I tre moduli RTC comunemente usati sono DS1307, DS3231 E PCF8523 Puoi controllare quale stai usando e puoi modificare il testo in base a quello.
Esempio
Sto usando il DS1307 Modulo Quindi ho usato questo comando sotto scrittura:
dtoverlay = i2c-rtc, ds1307
Quindi salva il file utilizzando i tasti Ctrl+X E Y.
Ora riavvia il sistema utilizzando il comando sotto scrittura in modo che il kernel RTC possa essere caricato:
$ sudo riavvia
Ora dopo un riavvio, esegui di nuovo il comando I2C Detect e dovresti vedere un Uu (significa che il dispositivo o la risorsa è occupato) anziché il numero 68. IL Uu conferma che il kernel viene caricato correttamente e il modulo RTC sta finalmente comunicando con Raspberry Pi:
$ sudo i2cdetect -y 1
Da quando l'RTC ha iniziato a comunicare con Raspberry Pi, quindi è tempo di rimuovere il vecchio orologio falso in Raspberry Pi e a tale scopo eseguire il comando sotto scrittura:
$ sudo apt -y rimuovi falso hwclock
Ed eseguire il comando sotto scrittura per rimuovere completamente l'orologio falso anche dagli script di avvio in Raspberry Pi:
$ sudo update-rc.D -f Rimuovi falso -hwclock
Ora è il momento di modificare lo script hardware RTC utilizzando Nano Editor e per questo eseguire il comando di seguito:
$ sudo nano/lib/udev/hwclock set
Nel file Trova il testo che è evidenziato nell'immagine qui sotto:
Commenta tutte e tre le righe aggiungendo # di fronte a loro:
Ora per leggere il tempo direttamente dal modulo RTC, eseguire il comando di seguito:
$ sudo hwclock -d -r
Quindi eseguire il comando seguente per scoprire la data del sistema Assicurati a questo punto il tuo Raspberry Pi sia collegato a Wi-Fi o Ethernet per ottenere la data corretta:
$ data
Ora esegui il comando di seguito per scrivere la data corretta (che hai appena visto sopra per data comando) sul modulo RTC:
$ sudo hwclock -w
E ora per verificare che la data sia stata scritta correttamente al modulo RTC, eseguire il data comanda di trovare la data del sistema e Hwclock -r comanda per trovare il tempo del modulo RTC ed entrambi dovrebbero essere gli stessi:
$ data
$ sudo hwclock -r
Conclusione
Il modulo RTC può essere collegato con Raspberry Pi usando il protocollo sincrono I2C. La configurazione hardware e software per utilizzare RTC con Raspberry Pi è discussa in dettaglio nell'articolo. Una volta che RTC è configurato correttamente con Raspberry Pi, anche se non sei connesso alla rete, il sistema mostrerà comunque il tempo accurato a causa del modulo RTC (tempo reale).