Valósidejű óra (RTC)
2017. október 02. írta: eNeS

Valósidejű óra (RTC)

Amikor a Raspberry elindul, és van hálózat, lát NTP szervert, akkor hálózatról frissíti az időt. De mi a helyzet akkor, ha nincs hálózat?
Erre az esetre van a valósidejű óra, mely egy gombelem segítségével akkor is tartja az időt, ha a gép egyébként ki van kapcsolva. Ilyen van a normál asztali számítógépekben is. A mikroszámítógépekből a minél kisebb méret miatt kihagyják ezt az apróságot.
A Raspberry-hez és ESP-hez egyaránt használható DS3231-re esett a választásom, nem utolsó sorban azért, mert rá van forrasztva minden tű a modulra. Na jó, igazság szerint nagyon szép értékeléseket is írtak róla, és több részletes leírást is találtam a Raspberry-vel történő beüzemelésére. :)

ds3231.jpg

Elemet általában nem küldenek hozzá, le kell ballagni a sarki boltba egy CR2032 elemért vagy LIR2032 akkuért a beüzemeléséhez. Azon ritka alkalmakkor, amikor mégis küldenek vele, akkor CR2032 van a csomagban, azt nagyon sürgősen vegyük ki, mielőtt áram alá helyezzük.
A panel hátoldalán jobb fent látható az elemtöltő áramkör két kivezetése, ami általában eleve beforrasztva érkezik, vagyis a modul LIR2032 tölthető akkura van felkészülve, úgyhogy vagy ilyet tegyünk bele, vagy ha sima CR2032-vel akarjuk használni szakítsuk meg a képen látható töltőáramkör összeköttetését, mert a normál (nem tölthető) elem töltése nem jó ötlet.

ds3231_02.jpg

Balra lejjebb látható az I2C felhúzó ellenállás helye, ami a Raspberry-ben már eleve benne van, így innen teljes nyugalommal kiszedhető, bár én nem tapasztaltam akkor sem problémát, ha rajta hagytam.

1. 32K - nem bekötendő
2. SQW  - nem bekötendő
3. SCL  - Raspberry SCL
4. SDA - Raspberry SDA
5. VCC - Raspberry 3.3V (egyébként 3.3-5.5V, de Raspberryn a 3.3V-nál maradjunk)
6. GND - Raspberry GND

Az A0, A1, A2 variálásával az AT24C32 EEPROM I2C címét lehet variálni. (nem az RTC chipét!)

Ha sikerült bekötnünk, elindul a Raspberry az RTC modulon egy piros LED fog világítani, ellenőrzésképpen futtassuk le a következő parancsot:

i2cdetect -y 1

Ekkor láthatjuk, hogy az 57-es és a 68-as címen megjelent egy új eszköz. Az 57-es a belső 32kbyte EEPROM memória címe, amit adatok tárolására használhatunk, maga a chip nem használja, a 68-as pedig maga az RTC modul.

Használatához fel kell venni az alábbi sort a /boot/config.txt-ben: (Raspbian Jessie verziónál)

dtoverlay=i2c-rtc,ds3231

Eltávolítjuk és letiltjuk a fake-hwclock programot:

sudo apt-get -y remove fake-hwclock
sudo update-rc.d -f fake-hwclock remove

Az alábbi paranccsal megnyitjuk az órabeállító szkriptet:

sudo nano /lib/udev/hwclock-set

Kikommentezzük az alábbi három sort kettőskeresztekkel, valahogy így:

#if [ -e /run/systemd/system ] ; then
# exit 0
#fi

CTRL-X kilépés, mentés, újraindítás.

A "date" paranccsal ellenőrizzük az órát, ha nem jó, kézzel kell beállítanunk, vagy meg kell várni míg az NTP szerverről szinkronizálja a Raspberry. Majd az alábbi paranccsal elmentjük az óra memóriájába az aktuális időt:

sudo hwclock -w

Ezt a beállítást csak egyszer kell elvégezni! A továbbiakban a telepített hardveres órát használja a rendszer.

A bejegyzés trackback címe:

https://bitekmindenhol.blog.hu/api/trackback/id/tr4512918541

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.