RTC óra for RPI [megoldva]

Sziasztok.

RPI-be szeretnék egy beépített aksival rendelkező RTC órát tenni. Mivel gondok vannak az 5V-3V dolgokkal, mindenképpen egya olyan megoldás érdekelne, ahova nem kell i2c átalakítót tenni.

Eddig ezt találtam:
http://www.banggood.com/DS3231-AT24C32-IIC-High-Precision-Real-Time-Clo…
Bár arduinohoz javasolják, lehet hogy RPI-hez is jó.

Épített már órát rpi-be valaki?

Hozzászólások

Én DS1307-et használtam Pi-vel, a tüskesoron elérhető I2C buszon.
Nincs 3.3-5V-os probléma, amennyiben az I2C felhúzó ellenállása 3.3V-ra megy, és nem 5-re.

Az Ebayen kapható modulokon rajt vannak a felhúzó ellenállások 5V-ra, ezt nyilván célszerű leforrasztani előbb. :)

Kernel ismeri, szépen működik - nem kellett vele szenvedni.

Kérdés még az is persze, hogy az adafruit által a 320x240-es TFT-re írt kernel (3.10.34+) megbirkózik-e majd vele, mert furcsamód az adafruitGPS pps-e (pps egy kernelmodul, olyasmi, mint az óra tik-tak jele) már nem megy, pedig a saját termékük.. Szóval ilyen téren nem bízom az adafruitban, hiába készítenek szépeket, néha figyelmen kívül hagynak dolgokat. Vagy persze az is lehet, hogy én vagyok a hüje, soxor kiderül az is. Nem szégyen..

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Még egykérdés.
Szerinted az adafruit tft kijelzőjének kernele ismeri ezt? Vagy működése kerneltől független?
Azért kérdem,mert az adafruit volt olyan drága és a saját gps lapkájának PPS támogatását nem forgatta le modulban sem a tft kijelzőhöz járó distrib kernelében.. (Kernelt meg amai napig képtelen vagyok rpi-re forgatni, ráadásul még csak ne is szégyellem ezen tényt, annyira bosszantó történeteim vannak)

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Szia.

igen ez mukodik rpi-n en pont ilyet vettem, mukodik 3.3v-rol nem kell 5v neki. arra figyelj, hogy ez a valtozat lir2032-es akkut/toltheto elemet (nem tudom melyik is igazabol a lir2032) igenyel. cr2032 egyreszt alacsonyabb feszt ad le, masreszt a toltoelektornika 3-4 heten belul felrobbanthatja az elemet.

Szia!

Így egyekkora idő elteltével már boldog tulajdonsa vagyok egy ilyennek. Főleg a méret miatt döntöttem ennél. ( http://www.banggood.com/DS3231-AT24C32-IIC-High-Precision-Real-Time-Clo… )
Éppen manualt keresek hozzá, meg böngészem,kinél robbant márfel, vagy valami...

Szóval gyárilag belecsomagoltak egy elemet, azt vegyem ki,cseréljem ki, különben felrobban?
Örülnék neki, ha rá lehetne kötni a 3V-ra, mert az 5V-os lábat az adafruit gps lapkája használja.

---------
Megnéztem, az az elem, amivel csomagolták: lir2032.
Szóval ez nem robban?

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Gondom támadt a fent említett RTC órával.
Bedrótoztam a lábait, adtam neki 5 V-ot is.
SCA, SCL, GND bekerült a megfelelő helyre:

SCL → 5. láb (rpi gpio1,scl)
SDA → 3. láb (rpi gpio0,sda)
VCC → 4. láb (rpi 5V)
GND → 6. láb (rpi gnd)

Ezután beállítám a dátumot, időt, végül init 0.
Vártam egy percet, bekapcs, de az idő nem vala jó.

Keresgéltem, hogy mi a gond. végül oda jutottam,hogy nagy valószínűséggel egy kernelmodult is be kellene tölteni, ami meg nincs. I2cdetect nem mond semmit,mert a /sys-ben sincs semmilyen, i2c hardverem sincs.

ezt is próbáltam:
echo ds3032 0x68 > /sys/class/i2c-adapter/i2c-0/new_device
nincs ilyen könyvtár, error..

Ha kernelmodul kellene,akkor inkább lemondok az rtc óráról,mert kernelt nem tudok fordítani működőképesen raspberryre, és ha az adafruit által írt tft-kompatibilis distribben nincs meg a szükséges modul, jobb lemondani róla, mert különben idegösszeomlásom lesz,mint volt 2 hónapig anno a gps-em miatt.

Szóval nem tudom mi a gond, google sem mond semmit

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Szia!

A szükséges kernel modul a rendszerben van, csak be kell tölteni.
Ezen az oldalon le van írva, hogy kell: https://learn.adafruit.com/adafruits-raspberry-pi-lesson-4-gpio-setup/c…
Itt meg a DS1307 RTC beállítása: https://learn.adafruit.com/adding-a-real-time-clock-to-raspberry-pi/ove…
Gondolom, a többit is hasonlóan kell.

MODding | Asztali PC | Személyes weboldalam
'Everybody loves LEDs'

A probléma az, hogy annyira sötétben vagyok, hogy azt sem tudom,kell-e vennem az rtc órához i2c interfészt vagy sem. Ha igen,akkor bizonyára azon keresztül kell összedrótozni az rpi-vel.

DS1307 kernelmodule valóban betöltődik, van, de sajnos nem jó a DS3231 helyett.. (fentebb nem jól írtam, ez a jó név)

ds3231 modul meg nem vala.

---
--- A gond akkor van, ha látszólag minden működik. ---
---

I2C interfészt nem kell külön venni, az van a málnán (master) és az RTCn (slave), csak össze kell őket kötni.
Találtam egy leírást, próbáld meg akkor ez alapján: http://drewkeller.com/blog/adding-hardware-clock-raspberry-pi-ds3231
Ha minden igaz, a DS1307 és a DS3231 kompatibilis egymással.

MODding | Asztali PC | Személyes weboldalam
'Everybody loves LEDs'

Húha, valami történt.
a hwclock a fenti leírás után már nem jelezte ezt:

root@rpi:/# hwclock
hwclock: Cannot access the Hardware Clock via any known method.
hwclock: Use the --debug option to see the details of our search for an access method.
root@rpi:/#

Így jártam el:

root@rpi:# modprobe i2c-bcm2708
root@rpi:# echo ds3231 0x68 | sudo tee /sys/class/i2c-adapter/i2c-1/new_device
ds3231 0x68
root@rpi:#
root@rpi:# hwclock
Sat 01 Jan 2000 18:23:16 CET -0.782486 seconds
root@rpi:# dpkg-reconfigure tzdata

Current default time zone: 'Europe/Budapest'
Local time is now: Fri Dec 26 21:54:28 CET 2014.
Universal Time is now: Fri Dec 26 20:54:28 UTC 2014.

root@rpi:# hwclock -w
root@rpi:#
root@rpi:# mcedit /etc/rc.local
(itt írtam be az rc.local-ba a leírás alapján a szükséges sorokat)

root@rpi:# update-rc.d ntp disable
update-rc.d: using dependency based boot sequencing
insserv: script ntp is not an executable regular file, skipped!
insserv: warning: script 'mathkernel' missing LSB tags and overrides
insserv: There is a loop between service watchdog and mathkernel if stopped
insserv: loop involving service mathkernel at depth 2
insserv: loop involving service watchdog at depth 1
insserv: Stopping mathkernel depends on watchdog and therefore on system facility `$all' which can not be true!
insserv: exiting now without changing boot order!
update-rc.d: error: insserv rejected the script header
root@rpi:# update-rc.d fake-hwclock disable
update-rc.d: using dependency based boot sequencing
insserv: warning: current start runlevel(s) (empty) of script `fake-hwclock' overrides LSB defaults (S).
insserv: warning: current stop runlevel(s) (0 1 6 S) of script `fake-hwclock' overrides LSB defaults (0 1 6).
insserv: warning: script 'mathkernel' missing LSB tags and overrides
root@rpi:#

...de sajnos reboot után mintha semmi sem történt volna.

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Azt hiszem, eredményt mutattam fel.
az /etc/rc.local-ba írt dolgokat bővítettem egy sorral, a
hwclock -s
sor beírása után azt szerettem volna elérni, hogy a hardveres óra átadja az oprendszernek az időt, ami azután a date paranccsal kiolvasható. Nem tette, azaz mintha az rc.local le sem futna...
Beírtam a
sudo hwclock -s
sort a /home/user/.profile fájlba, ezután lefutott.
Bootolás közben látható, hogy az rpi valami 1970-es dátumot ír ki:

1970 Jan 1 01:01:24 Thu
missing btime in /proc/stat

...majd elérkezik a rendes idő átadása az rpi-hez, azután a date már rendes dátumot ír ki.

Szóval sikerült, este forrasztok, gondosan ki kell választani az 5V-os betáp lábát és a GND-t, mert a gps is 5V-ot kér és nem akarom azonos gnd-re kötni a kettőt. Az adafruit tft-je szerencsére végképp nem zavar semmit,
ergo csodálatos a napom.

Köszönök minden segítséget, külön gyengusnak a belinkelt leírást is, amire napok óta nem találtam rá :)

A többi óra is jó lehet, ha más méretben gondolkodom, megnézem azokat is a legközelebbi barkácsolásnál

---
--- A gond akkor van, ha látszólag minden működik. ---
---

javaslom, hogy _nagyon_surgosen_ huzd le a modult az rpi-rol, de legalabbis az 5v-ot. ha a modulnak 5v-ot adsz akkor az i2c buszra is ekkora jelszinteket fog kitenni ami eleg gyorsan az rpi halalahoz vezethet. az rpi, mint tudjuk, 3.3v-os jelszintekkel dolgozik mindenhol es nincs igazan tulfeszvedelme a gpio labaknak.
a modult 3.3v-rol kell megtaplalni es akkor minden rendben lesz. megoldhato az 5v-os taplalas is (en pl i2c-s lcd-t hajtok 5v-rol mert 3.3v keves neki) de ilyenkor kell egy stepper ami atalakitja a jelszinteket 5v <--> 3.3v kozott pl. https://www.sparkfun.com/products/12009

Rendben, elméletileg 3V-ról is megy. Sajnos korrekt leírást sehol sem találni arról, hogy rpi-re hogyan kell ezt rákötni. Gyártói manual sincs sehol, csak a webáruház minimális leírása, az is csak arduinora, ami alapból 5V-ot zabáltat vele.
Folyamatosan még nem használtam az órát, csak pár percig, amíg rá nem jöttem működik-e. A 3V-os rpi-kimenet még szabad, kipróbálom azzal is ma este.

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Azon is gondolkodtam,hogy minden egységet,amit rákötök az rpi-re teljesen független áramforrást kapna, és egy mechanikus kapcsoló, esetleg optocsatoló kapcsolgatná őket ki-be attól függően,hogy kell-e vagy sem. Nyilván így még az adafruit kijelzőjét is ki-be lehetne kapcsolni,de annál nem tudom pontosan melyik láb a tápkábele.

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Most mar sikeresen osszezavarodtam :)
A modulon nem huztam semmit semmire, azt sem tudom, hogyan lehet, ha lehet. Meg nem murdalt meg semmi, nem fustolog, nem forrosodik az aksi sem, nem tudom, mitol lehet baja, egyszoval egyelore orulok

---
--- A gond akkor van, ha látszólag minden működik. ---
---

Egyes modulokon szokott lenni "gyárilag" ún. felhúzó ellenállás, nem tudom, a tieden van-e ilyen.

Kommunikáció során a master, ill. slave eszköz csak "0"-ba képes húzni a vonalat, ez az ellenállás húzza vissza "1"-be (nélküle tehát nem működik a kommunikáció).
Gyakorlatilag az SCL és SDA jelvezetékektől egy ellenállást kötnek az 5V vagy 3.3V-os táp felé, ez nagyságrendileg ~4.7k körül szokott lenni, de eltérhet tőle.

Ha a modulon 5V-ra van kötve, egyszerűen forraszd le, mert nem egészséges...

Akár multiméterrel ki tudod deríteni.

Sikeresen osszeforrasztottam ma a fenti orat, minden mukodik. Gps, rtcClock, fm transmitter.
RTCclock 3V-on lett megtaplalva, adafruit GPS lapkaja 5V-ot kapott.

---
--- A gond akkor van, ha látszólag minden működik. ---
---