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))
tzinfo
is ignored by this method. Usetime.timezone
to 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