3.28. Reaaliaikakello¶
Mikrokontrollerin millisekuntikello – se, joka on time.ticks_ms()-funktion ja ajastinalijärjestelmän takana – laskee kulunutta aikaa käynnistyksestä lähtien. Reaaliaikakello (RTC) on erillinen laitteisto, joka seuraa seinäkellon aikaa – vuosi, kuukausi, päivä, tunti, minuutti, sekunti – ja jatkaa käymistä nollausten ja laiteohjelmistopäivitysten yli. Kameroissa, joissa varmistusakku on kytketty RTC:n virtaan, se selviää myös täydellisestä virrankatkoksesta.
RTC on se, mitä käyttöön otettu kamera käyttää seuraaviin:
Lokimerkintöjen ja tallennettujen kuvien aikaleimaaminen oikealla päivämäärällä.
Pitkään kestävien tehtävien tahdistaminen niin, etteivät ne ajaudu pois viikkojen tai kuukausien aikana.
3.28.1. machine.RTC-luokka¶
machine.RTC on singleton – yksi RTC kameraa kohti, id:tä ei tarvita:
from machine import RTC
rtc = RTC()
Nykyinen päivämäärä ja kellonaika sijaitsevat datetime()-metodissa. Sen kutsuminen ilman argumentteja palauttaa 8-tuplen:
>>> rtc.datetime()
(2026, 5, 27, 4, 14, 30, 15, 0)
Kentät ovat (year, month, day, weekday, hour, minute, second, subseconds). Asettaaksesi kellon välitä takaisin saman muotoinen 8-tuple:
rtc.datetime((2026, 1, 21, 2, 10, 32, 36, 0))
Kamera jatkaa laskemista siitä pisteestä. Pehmeässä nollauksessa aika jatkuu keskeytyksettä; täydellisessä virtasyklissä RTC palautuu oletusaikaansa, ellei varmistusakku pidä sitä virroitettuna.
3.28.2. Milloin RTC asetetaan¶
RTC:llä ei ole sisäänrakennettua tapaa tietää, mitä kello on käynnistyksessä. Kolme yleistä mallia asettaa sen:
Verkon aikalähteestä. Kamerat, jotka käynnistyvät WiFiin, voivat hakea ajan
ntptime-moduulilla ja kirjoittaa sen RTC:hen käynnistyksessä.Isäntäkoneelta USB:n yli. Kannettavalla oleva kumppaniskripti työntää nykyisen ajan, kun kamera kytketään.
Akkuvarmistetusta ulkoisesta RTC-sirusta. Erillinen RTC-piiri (usein laajennuskortilla, omalla nappiparistollaan) pitää parempaa pitkän aikavälin aikaa kuin sirun sisäinen RTC, ja se voidaan lukea käynnistyksessä
datetime()-metodin alustamiseksi.
Jotkin sovellukset eivät koskaan tarvitse RTC:n asettamista lainkaan. Käyttösuhteistettu ”herää 60 sekunnin välein ja ota lukema” -silmukka välittää vain kuluneista väleistä, jotka time.ticks_ms() ja Pienitehoiset tilat ja lepotilat-dokumentin ajastetut lepomallit hoitavat koskaan kysymättä RTC:n seinäkellon arvoa.