I denne artikkelen vil du se metoden for å bruke en sanntidsklokke for å holde oversikt over tid på Raspberry Pi.
Hvordan bruke en sanntidsklokke (RTC) med Raspberry Pi
RTC er en liten maskinvaremodul som brukes til å holde nøyaktig dato og tidssporing. En RTC -modul består av et I2C -grensesnitt som den kan kobles til Raspberry Pi. Vanligvis består en RTC -modul av 4 pinner, men det kan være flere pinner. De fire grunnleggende pinnene til RTC som brukes til å koble RTC med Raspberry Pi er:
Alle disse pinnene er merket på bildet nedenfor, fargen på RTC -modulen kan variere den kan være blå, grønn eller rød:
Raspberry Pi har også en I2C -protokollpinner SDA og SDL ved pinne nummer 3 og 5 for å koble den til RTC -modulen. For å koble Raspberry Pi med RTC -modulen vil vi bruke 4 Raspberry Pi -pinner som er uthevet på bildet nedenfor:
Følg trinnene under gitt for å bruke RTC med Raspberry Pi:
Trinn 1: Maskinvarekonfigurasjon
For å bygge maskinvarekretsen til Raspberry Pi og RTC, bruk kretskjemaet nedenfor;
Trinn 2: Aktiver I2C på Raspberry Pi
Du må aktivere I2C Grensesnitt på Raspberry Pi ved å åpne Raspberry PI -konfigurasjonsverktøyet ved å bruke følgende kommando:
$ Sudo Raspi-Config
Gå til Grensesnittalternativer og slå Tast inn:
Deretter går du videre inn i I2C Alternativ for å aktivere I2C -protokoll på Raspberry Pi:
Hvoretter det vil be deg om tillatelse til å aktivere I2C -protokollen, velg Ja her:
En ledetekst ser ut til å informere om at I2C Er på; Klikk Ok her:
Klikk deretter på Bli ferdig knapp for å fullføre prosessen.
Trinn 3: Forsikre deg om at RTC -modulforbindelse til Raspberry Pi
Etter å ha aktivert I2C, må du sørge for at RTC-maskinvaremodulen din er riktig koblet til Raspberry Pi, og som kan bekreftes ved å kjøre den underskrevne kommandoen:
$ sudo i2cdetect -y 1
Hvis kommandoen har vist ID# 68 Da betyr det at styret er koblet riktig:
Nå redigerer vi Boot/Config -filen for å konfigurere Raspberry Pi RTC -tiden:
$ sudo nano /boot /config.tekst
Etter å ha åpnet filen, gå til bunnen av filen, og avhengig av RTC-modulen som du bruker, endrer du den nedenfor-nevnte linjen og skriver den nederst i Boot/Config-filen:
Syntaks
dtoverlay = I2c-rtc,
De tre ofte brukte RTC -modulene er DS1307, DS3231 og PCF8523 Du kan sjekke hvilken du bruker og kan endre teksten i henhold til den.
Eksempel
Jeg bruker DS1307 Modul Så jeg har brukt denne underskrevne kommandoen:
DTOverlay = I2C-RTC, DS1307
Lagre deretter filen ved å bruke tastene Ctrl+x og Y.
Start nå systemet på nytt ved å bruke den nedenfor-skrevne kommandoen slik at RTC-kjernen kan lastes:
$ sudo omstart
Nå etter en omstart, kjør I2C Detect -kommandoen igjen, og du bør se en Uu (betyr enhet eller ressurs er opptatt) i stedet for nummer 68. De Uu bekrefter at kjernen er lastet med suksess og RTC -modulen kommuniserer endelig med Raspberry Pi:
$ sudo i2cdetect -y 1
Siden RTC begynte å kommunisere med Raspberry Pi, så er det på tide å fjerne den gamle falske klokken i Raspberry Pi og for det formålet kjøre den underskrevne kommandoen:
$ sudo apt -y fjern falske hwclock
Og kjør den nedenfor-skrevne kommandoen for å fjerne falske klokker fullstendig selv fra oppstartsskriptene i Raspberry Pi:
$ sudo update-rc.D -f Fake -HwClock Fjern
Nå er det på tide å redigere RTC-maskinvareskriptet ved hjelp av Nano Editor, og for det kjøres den nedenfor-nevnte kommandoen:
$ sudo nano/lib/udev/hwclock-sett
I filen finn teksten som er uthevet på bildet nedenfor:
Kommenter alle de tre linjene ved å legge til # foran dem:
Nå for å lese tiden direkte fra RTC-modulen, kjør den underskrevne kommandoen:
$ sudo hwclock -d -r
Kjør deretter kommandoen nedenfor for å finne ut systemets dato, sørg for på dette tidspunktet bringebærpi-en er koblet til Wi-Fi eller Ethernet for å få riktig dato:
$ Dato
Kjør nå den nedenfor-skrevne kommandoen for å skrive riktig dato (som du nettopp har sett ovenfor etter dato-kommando) på RTC-modul:
$ sudo hwclock -w
Og nå for å bekrefte at datoen er skrevet riktig til RTC -modulen, kjører du Dato kommando for å finne systemets dato og hwclock -r Kommando for å finne RTC -modultid og begge skal være den samme:
$ Dato
$ sudo hwclock -r
Konklusjon
RTC -modulen kan kobles til Raspberry Pi ved bruk av I2C synkron protokoll. Maskinvare- og programvarekonfigurasjonen for å bruke RTC med Raspberry Pi er diskutert i detalj i artikkelen. Når RTC er riktig konfigurert med Raspberry Pi, selv om du ikke er koblet til nettverket, vil systemet ditt fremdeles vise nøyaktig tid på grunn av RTC (ekte klokketid) -modul.