Datum und Uhrzeit einstellen

Im RevPi Flat ist der Real Time Clock (RTC) Baustein NXP PCF2129T verbaut und über den I2C‑Bus angebunden. Wenn Du Datum und Uhrzeit am RevPi Flat einstellen willst, kannst Du zwei Tools verwenden, die wir im Image des RevPi Flat mitliefern. Wir zeigen Dir im Folgenden, wie Du mit diesen auf die RTC zugreifen kannst.

Vorab solltest Du folgendes über die Stromversorgung der RTC wissen:
Falls die Spannungsversorgung ausfällt oder ausgeschaltet wird, versorgt ein “Supercap”-Kondensator den RTC‑Baustein mit Strom, um Uhrzeit und Datum zu erhalten. Das funktioniert ähnlich wie bei einer Batterie und entlädt sich auch in derselben Weise, allerdings wesentlich schneller als bei einer Batterie. Deshalb können Uhrzeit und Datum ohne externe Spannungsversorgung des RevPi Flat für etwa 24 Stunden erhalten werden. Mehr zu diesem Thema findest Du hier.

Zugang über „timedatectl“

Mit „timedatectl“ kannst Du sowohl die Systemuhr und ihre Einstellungen abfragen und ändern als auch Dienste zur Zeitsynchronisation aktivieren oder deaktivieren. Wir raten eher zu “timedatectl” als zu “hwclock”, weil es an “systemd‑timesyncd” anknüpft, das standardmäßig in Raspbian und damit im KUNBUS Image für den RevPi Flat aktiviert ist.

So kannst Du verschiedene Einstellungen vornehmen:

Aktuelle Zeit und aktuelles Datum auf Deinem System aufrufen, das RTC‑Zeit beinhaltet:

sudo timedatectl status

Datum und Uhrzeit für RTC einstellen, wobei das Format für Zeit in HH:MM:SS (Stunde, Minuten und Sekunden) angegeben werden sollte:

sudo timedatectl set-time 15:58:30

Datum und Uhrzeit im Format YYYY-MM-DD HH:MM:SS einstellen:

sudo timedatectl set-time "2020-08-20 16:33:56"

Aktuelle Zeit der Hardware‑Uhr (RTC) überprüfen:

sudo timedatectl | grep "RTC time"

Hardware‑Uhr auf eine lokale Zeitzone einstellen:

sudo timedatectl set-local-rtc 1

Hardware‑Uhr auf UTC einstellen:

sudo timedatectl set-local-rtc 0

Zugang über „hwclock“

Mit „hwclock“ kannst Du die Hardware‑Uhr (RTC) auf dem RevPi Flat abfragen und einstellen. Du kannst die aktuelle Zeit anzeigen, die Hardware-Uhr auf eine bestimmte Zeit oder die Systemzeit setzen und die Systemzeit von der Hardware‑Uhr einstellen.

So kannst Du verschiedene Einstellungen vornehmen:

Aktuelles Datum und aktuelle Ortszeit von der Hardware‑Uhr anzeigen:

sudo hwclock

Die Hardware‑Uhr von der aktuellen Systemzeit einstellen:

sudo hwclock - w

RTC auf die mit –date angegebene Zeit setzen:

sudo hwclock --set --date "dd mmm yyyy HH:MM"

Beispiel: Hardware‑Uhr auf ein bestimmtes Datum und eine bestimmte Uhrzeit setzen:

sudo hwclock --set --date "1 Aug 2020 21:17" --utc

Datum und Uhrzeit synchronisieren
Hardware‑Uhr und aktuelle Systemzeit wechselseitig synchronisieren:

sudo hwclock --systohc

Hardware‑Uhr mit der Systemzeit synchronisieren:

sudo hwclock --systohc --localtime

Fehlersuche
Du bist nicht sicher, ob die RTC beim Starten des Geräts funktioniert?
Überprüfe mit folgendem Befehl, ob die RTC‑Geräte vom Linux‑Kernel erfolgreich erkannt und initialisiert wurden:

dmesg | grep rtc

[ 1.550198] rtc-pcf2127-i2c 1-0051: rtc core: registered rtc-pcf2127-i2c as rtc0

[ 2.848319] rtc-pcf2127-i2c 1-0051: setting system clock to 2020-08-24 12:14:24 UTC (1598271264)