CircuitPython: Datum und Uhrzeit lesen und ausgeben

Datum und Uhrzeit sind zwei Werte, die in Computern und Mikrocontrollern eine wichtige Rolle bei der Verarbeitung von Daten spielt.

In der technischen Informatik wird die Uhrzeit von einem computergesteuerten Gerät bzw. vom Betriebssystem vorgehalten. Mit Hilfe einer Echtzeituhr wird die aktuelle Uhrzeit mitgeführt, in dem die Sekunden gezählt werden.

Datum und Uhrzeit lesen und ausgeben

Im Programmcode wird die Echtzeituhr des Mikrocontrollers initialisiert, anschließend gelesen und die Daten formatiert ausgegeben.

# Bibliotheken laden
import rtc, time

# Echtzeituhr im Mikrocontroller initialisieren
r = rtc.RTC()

# Datum und Uhrzeit lesen
rtc_datetime = rtc.RTC().datetime

# Ausgabe
print('      Tuple:', rtc_datetime)
print()
print('       Jahr:', rtc_datetime.tm_year)
print('      Monat:', rtc_datetime.tm_mon)
print('        Tag:', rtc_datetime.tm_mday)
print('     Stunde:', rtc_datetime.tm_hour)
print('     Minute:', rtc_datetime.tm_min)
print('    Sekunde:', rtc_datetime.tm_sec)
print('  Wochentag:', rtc_datetime.tm_wday)
print('Tag im Jahr:', rtc_datetime.tm_yday) # 1-366, -1 wenn unbekannt
print('       Zeit:', rtc_datetime.tm_isdst) # 1 wenn Sommerzeit, 0 wenn Normalzeit, -1 wenn unbekannt
print()
print(' Formatiert:', "{:04}-{:02}-{:02} {:02}:{:02}:{:02}".format(rtc_datetime.tm_year, rtc_datetime.tm_mon, rtc_datetime.tm_mday, rtc_datetime.tm_hour, rtc_datetime.tm_min, rtc_datetime.tm_sec))

Woher weiß ein Mikrocontroller das aktuelle Datum und Uhrzeit?

Der Programmcode wird in der Regel auf einem Mikrocontroller ausgeführt. Beispielhaft auf einem Raspberry Pi Pico mit der Thonny Python IDE. Da stellt sich die Frage, woher der Pico die Daten für Datum und Uhrzeit herbekommen hat. Denn er hat keine Echtzeituhr mit Batterie, die diese Daten mitführen kann. Um die aktuelle Uhrzeit zu bekommen, muss der Echtzeituhr natürlich der Startwert übergeben werden.
In diesem Fall ist es so, dass der Thonny-Editor diese Daten beim Verbinden setzt und somit in dieser Entwicklungsumgebung damit gearbeitet werden kann.

Wenn der Raspberry Pi Pico stand-alone läuft, dann funktioniert das immer noch, aber Datum und Uhrzeit stimmen nicht mehr. Die Sekunden werden bei CircuitPython vom 01.01.2000 00:00:00 ab Systemstart gezählt.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das Elektronik-Set Pico Edition ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Elektronik-Set jetzt bestellen Online-Workshop buchen

Online-Workshop: Programmieren mit dem Raspberry Pi Pico

Programmieren mit dem Raspberry Pi Pico

Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.

Online-Workshop buchen

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

 

Elektronik-Sets für das Hardware-nahe Programmieren