RTC modul a Raspberry PI


Pre používanie Raspberry Pi (ďalej len Raspi) v bežnej domácnosti ako meteostanice alebo HTPC často bráni absencia RTC modulu, ktorý sa stará o registráciu a uchovávanie času pre systém.

Mám Raspberry PI B+ ktorý používam na rôzne veci, 90% času ale funguje ako testovací pre hry s Raspbianom a rôznymi čidlami.

raspi_dht11Obr. Raspberry Pi s vyvedeným čidlom DHT-11

Pre Raspi používané ako HTPC na plazme je v originál krabičke a keďže je bez ďaľších čidiel som použil samostatný RTC modul ER-RPA32311R

er-rpa32311rObr. RTC modul ER-RPA32311R nainštalovaný na GPIO.

V tomto testovacom Raspi používam ER-SMI3231DS pripojený na GPIO a na nepájané pole.

raspi_rtcObr. RTC modul ER-SMI3231DS nainštalovaný na GPIO. Pre fotenie som odstránil prepojenie medzi GPIO a nepájaným poľom

Pre takúto úpravu stačí pár drobností, RTC modul, konektory a script.
Takže ako na to?
Pokiaľ si kúpite RTC modul ER-RPA32311R stačí ho zapojiť na GPIO podľa obrázku vyššie. Piny 3V, SDA, SCL, GPIO4 a uzemnenie. V podstate ide o nepárne značené piny vo vnútornej rade.

Pre zapojenie ER-SMI3231DS to bude trochu zložitejšie, potrebujete 4 kábliky rôznej farby. Použiť môžete telefónny kábel, ktorý sa používal na pevné linky alebo na pripojenie modemu osobne som ich nevyhadzoval po konci modemov, audio kábel na pripojenie CD-Rom alebo starý konektor na speaker v počítači.
Ja som použil nejaké zvyšky vodičov z bastlenia.
Taktiež budete potrebovať konektory a dutinky. No a krimpovacie kliešte.
Keď bude káblik hotový, treba prepojiť RTC modul s GPIO.
A to nasledovne:
RTC --> GPIO       
SCL --> PIN 5 (SCL1)
SDA --> PIN 3 (SDA1)
VCC --> PIN 1 (3V)
GND --> PIN 9 (GND)

gpio-pinoutsObr. Rozloženie GPIO pinov na Raspberry PI rôznych verzií (ZDROJ: Raspi.tv)

Tak to by malo byť to jednoduchšie a teraz spojazdnenie a nastavenie RTC v operačnom systéme, ktoré je rovnaké pre oba RTC moduly.
Nastavenie bude v RASPBIANe.

Prvým krokom je aktivovať I2C interface v raspi config

Príkaz v termináli:
raspi-config

raspi_configObr. menu konfigurácie.

Kde v položke č.8 Advanced Options povolíte I2C (pokiaľ už povolenú máte, tento krok vynechajte)

Nasleduje update systému

Príkaz v termináli:
sudo apt-get update
sudo apt-get -y upgrade
sudo reboot

Po reštarte ešte doinštalujeme python pre I2C tooly

Príkaz v termináli:
sudo apt-get update
sudo apt-get install -y python-smbus i2c-tools

Vypnite Raspi

Príkaz v termináli:
sudo halt

Odpojte napájací zdroj a po cca 10-15sekundách opäť pripojte.

Po štarte bude nasledovať editácia a zavedenie modulov, ale pred tým si overte, funkčnosť a beh I2C modulov:

Príkaz v termináli:
lsmod | grep i2c_

Ak je všetko v poriadku, overte alebo zmodifikujte súbor modules:

Príkaz v termináli:
sudo nano /etc/modules

Skontrolujte, či sa tam nachádza rtc-ds3231. Ak nie pripíšte ho tam.

i2c-bcm2835
i2c-dev
rtc-ds3231

(uložiť CTRL+X, potvrdiť Y a Enter uzavrieť)

po reštarte skontrolujte či je rtc zavedené

Príkaz v termináli:
sudo i2cdetect -y 1

ds3231_detectObr. Hlásenie detekcie RTC modulu. 68 je hexadecimálna adresa RTC modulu.

Takže detekovaný modul máme a teraz nastáva čas pre nastavenie.

Príkaz v termináli:
sudo nano /etc/rc.local

V rc.local na koniec pred exit 0 pridajte nasledovné dva riadky:
echo ds3231 0x68 > /sys/class/i2c-adapter/i2c-1/new_device
hwclock -s
(uložiť CTRL+X, potvrdiť Y a Enter uzavrieť)

Následne Raspi opäť reštartujte.

Po reštarte overte či zmena prebehla:

Príkaz v termináli:
sudo i2cdetect -y 1

ds3231_rc_local_edObr. zmena v detekcií po úprave rc.local. hodnota 68 sa zmení na UU.

Teraz je čas na pevnú zmenu časovej zóny a času.

Príkaz v termináli:
raspi-config

V menu vyberte číslo 4 – Internationalisation Options a Change Timezone.
Tu si nastavte lokáciu a čas podľa toho kde ste a aký máte čas.

po reštarte si overte správnosť údajov a či sú načítavané s RTC modulu.

Príkaz v termináli:
date

dateObr. výpis z príkazu date

Ak to súhlasí, práca je hotová. ak nie, upravte čas a dátum.

Príkaz v termináli:
sudo date -s “11 SEP 2016 13:20:00”
sudo hwclock -w

Vypnite raspi, odpojte napájanie, sieť a po asi 10-15 sekúndách opäť spustite.

Po naštartovaní bez siete overte, že naozaj čas načítava z RTC modulu.

Príkaz v termináli:
hwclock -r

Výstup by mal byť správny s časom na inom zariadení.

Zhrnutie vecí, ktoré budete potrebovať:
1x Raspberry Pi s nainštalovaným RASPBIANom
1x ER-SMI3231DS – RTC & EEPROM Modul 2.96€ alebo ER-RPA3231R za 3,48 €
8x pin KONPC-SPK-PI 0.04€ /ks (3.2€)
2x konektor KONPC-SPK-4 http://www.gme.sk/konektor-konpc-spk-4 0.08€/ks (0.16€)
(Ak nie je SPK4, môžete použiť 8x konektor (dutinka) KONPC-SPK-1 0.04€ /ks (3.2€) alebo alternatívu v podobe Audio CD kabliku )
1x kábel štvoržilový cca 10-15 cm (alebo starý kábel na modem na modem)

podľa použitých vecí sa suma na to použitá bude pohybovať od 3.1€ do cca 10€

Reklamy
This entry was posted in HW, HW - gadgets, návod, Raspberry Pi, vychytávky and tagged , . Bookmark the permalink.

Pridaj komentár

Zadajte svoje údaje, alebo kliknite na ikonu pre prihlásenie:

WordPress.com Logo

Na komentovanie používate váš WordPress.com účet. Odhlásiť sa / Zmeniť )

Twitter picture

Na komentovanie používate váš Twitter účet. Odhlásiť sa / Zmeniť )

Facebook photo

Na komentovanie používate váš Facebook účet. Odhlásiť sa / Zmeniť )

Google+ photo

Na komentovanie používate váš Google+ účet. Odhlásiť sa / Zmeniť )

Connecting to %s