Raspberry Pi

14) Hodiny reálného času (RTC) - PCF8563

RasPi nemá zabudované vnitřní hodiny, které by fungovaly i po vypnutí napájení.
Když je k dispozici připojení k internetu, RasPi si může při spuštění automaticky seřídit čas.
Když ale při zapnutí není internet dostupný, nastaví si RasPi hodiny na čas posledního vypnutí.
Další problém nastává, když RasPi provádí nějaké náročné operace. V té chvíli se může stát, že se hodiny na chvíli zastaví.

Tento problém je možné vyřešit pomocí přídavného modulu, který obsahuje přesný oscilátor, záložní baterku a obvod, který si pomocí toho oscilátoru udržuje informaci o skutečném čase (a to i v případě, že je napájení Raspíčka vypnuté).

Modul hodin reálného času jsem koupil u Číňanů:
http://www.goodluckbuy.com/pcf8563-rtc-board-pcf8563-i2c-interface-3-3v-battery.html

Obchod proběhl bez problémů a zboží bylo dodáno asi za 3 týdny od objednávky.

 

Připojení modulu k RasPi se provádí pomocí 4 vodičů:

  


Nejdříve je potřeba povolit ovladače sběrnice I2C a SPI (SPI se kvůli hodinám povolovat nemusí, ale když už jsem povoloval I2C, tak jsem povolil i to SPI):

sudo nano /etc/modprobe.d/raspi-blacklist.conf

V editoru, který se tímto příkazem otevře, se musí zakomentovat dvě řádky (připsat před ně "dvojkřížek"  # ), jak je vidět na následujícím obrázku (nejnovější verze systému Raspbian už mohou mít nějakou řádku zakomentovanou):

  ... a změny uložit (Ctrl+X, Y, Enter)

  

Pak nastavit modul I2C, aby se spouštěl automaticky po startu RasPi:

V editoru otevřít soubor /etc/modules

sudo nano /etc/modules

A do něj na konec dopsat řádku: 
   i2c-dev


Pak zavřít a uložit (Ctrl+X, Y, Enter)

 

Nakonec restartovat:

sudo reboot

 

Když Raspi opět naběhne, tak stáhnout soubor s názvem "rtc8563.py" z mých stránek:

wget http://www.astromik.org/raspi/rtc8563.py

 

Program je připravený pro novější variantu RasPi (512MB RAM). Pokud používáte starší verzi s 256MB RAM, musíte v tom staženém souboru přepnout číslování I2C sběrnice. Úprava spočívá v pouhém zakomentování jedné ze dvou řádek na začátku programu:

 

Pro správnou funkci je třeba doinstalovat podporu pro I2C komunikaci pro Python ("smbus").
Provede se to v terminálu příkazem:

sudo apt-get install python-smbus -y

 

Když je všechno hotovo, spustí se Pythoní program s jedním ze 3 parametrů:

Parametr -i pouze zobrazí čas v systému a čas v RTC obvodu

sudo python /home/pi/rtc8563.py -i

 

  

Parametr -pi2rtc nastaví čas v RTC obvodu podle času v RasPi 

sudo python /home/pi/rtc8563.py -pi2rtc

 

  

Parametr -rtc2pi nastaví čas v RasPi podle času v RTC obvodu 

sudo python /home/pi/rtc8563.py -rtc2pi

 

 

Pokud se program spustí bez parametru, zobrazí se malá  nápověda:

 

 

 

 

 


úvodní strana webu AstroMiK.org

poslední úprava stránky 22.2.2014