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. :)
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.
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:
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.