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í
ntptimea 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.