3.28. Hodiny reálného času#

Milisekundové hodiny mikrokontroléru – ty za time.ticks_ms() a subsystémem časovačů – počítají uplynulý čas od bootu. Hodiny reálného času (RTC) jsou samostatný hardware, který sleduje skutečný čas – rok, měsíc, den, hodinu, minutu, sekundu – a běží dál napříč resety a aktualizacemi firmwaru. Na kamerách se záložní baterií připojenou k napájení RTC přečká i úplnou ztrátu napájení.

RTC je to, co nasazená kamera používá k:

  • Opatřování záznamů v logu a uložených obrazů časovou značkou se skutečným datem.

  • Časování dlouho běžících úloh, které by se neměly v průběhu týdnů či měsíců rozejít.

3.28.1. Třída machine.RTC#

machine.RTC je singleton – jeden RTC na kameru, žádné id není potřeba:

from machine import RTC

rtc = RTC()

Aktuální datum a čas žijí v datetime(). Volání bez argumentů vrací 8prvkovou n-tici:

>>> rtc.datetime()
(2026, 5, 27, 4, 14, 30, 15, 0)

Pole jsou (year, month, day, weekday, hour, minute, second, subseconds). Hodiny nastavíte zpětným předáním 8prvkové n-tice stejného tvaru:

rtc.datetime((2026, 1, 21, 2, 10, 32, 36, 0))

Kamera od tohoto bodu počítá dál. Při měkkém resetu čas pokračuje nepřerušeně; při úplném vypnutí a zapnutí se RTC vrátí na svůj výchozí čas, pokud jej nenapájí záložní baterie.

3.28.2. Kdy nastavit RTC#

RTC nemá žádný vestavěný způsob, jak při bootu zjistit, kolik je hodin. Nastavují jej tři běžné vzory:

  • Ze síťového zdroje času. Kamery, které se připojí na WiFi, mohou čas získat pomocí ntptime a zapsat jej do RTC při startu.

  • Z hostitele přes USB. Doprovodný skript na notebooku odešle aktuální čas, když je kamera připojena.

  • Z externího čipu RTC se záložní baterií. Vyhrazený IO RTC (často na shieldu s vlastní knoflíkovou baterií) udržuje lepší dlouhodobý čas než vestavěný RTC a lze jej při bootu přečíst a inicializovat tak datetime().

Některé aplikace nepotřebují RTC vůbec nastavovat. Smyčka s pevným pracovním cyklem typu „probuď se každých 60 sekund a proveď měření“ se stará jen o uplynulé intervaly, které time.ticks_ms() a vzory časovaného spánku v Režimy nízké spotřeby a spánku zvládnou, aniž by kdy potřebovaly hodnotu skutečného času z RTC.