The RTC is used to keep track of the date and time.
from machine import RTC
rtc = RTC()
rtc.init((2014, 5, 1, 4, 13, 0, 0, 0))
print(rtc.now())
Create an RTC object. See init for parameters of initialisation.
# id of the RTC may be set if multiple are connected. Defaults to id = 0.
rtc = RTC(id=0)
Initialise the RTC. The arguments are:
datetime when passed it sets the current time. It is a tuple of the form: (year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]). Without argument, it will not reset the previously set time.source selects the oscillator that drives the RTC. The options are
RTC.INTERNAL_RC: Internal RC resonatorRTC.XTAL_32KHZ: External 32KHz crystalFor example:
# for 2nd of February 2017 at 10:30am (TZ 0)
rtc.init((2017, 2, 28, 10, 30, 0, 0, 0))
tzinfois ignored by this method. Usetime.timezoneto achieve similar results.
Inits the RTC and sets up up automatic fetch and update the time using NTP (SNTP).
server is the URL of the NTP server. Can be set to None to disable the periodic updates.update_period is the number of seconds between updates. Shortest period is 15 seconds.backup_server is the URL of the backup NTP server. Can be set to None to disable the periodic updates.Can be used like:
rtc.ntp_sync("pool.ntp.org") # this is an example. You can select a more specific server according to your geographical location
Get get the current datetime tuple as (year, month, day, hour, minute, second, usecond, None)
Returns True if the last ntp_sync has been completed, False otherwise.
Reads RTC memory contents or write data in passed Buffer in to RTC memory. The buffer has space to store 2048 bytes.
Example:
rtc = RTC()
rtc.memory(b'10101010') # writes data in RTC memory
rtc.memory()
Output:
b'10101010'
RTC.INTERNAL_RC, RTC.XTAL_32KHZ