Realtime Clock (RTC DS3231) am Raspberry Pi betreiben

Eine Echtzeituhr (Realtime Clock – RTC) misst die physikalische Uhrzeit mittels eines Quarzes, der den Takt der Uhr vorgibt. Ein entsprechender Chip (DS3231) berechnet daraus die aktuelle Uhrzeit. Der Rechner zu Hause oder ein Server, der ständig mit dem Internet verbunden ist, synchronisieren die Uhrzeit i.d.R. via ntp. Steht jedoch kein Netzwerk zur Verfügung so muss man zu einer RTC greifen, wenn man die aktuelle Uhrzeit benötigt.

 

 

Was wird benötigt?

Das Modul hat bereits aufgelötete Steckbrücken, so dass es einfach nur auf die GPIO-Schnittstelle des Raspberry gesteckt werden kann. Sehr praktisch, da keinerlei Lötarbeiten notwendig werden. Aber dafür gibt es einen kleinen Haken: Der kleine gelbe Knopf ist kein Hochleistungskondensator oder gar ein Akku, sondern nur eine einfache CR2032H Knopfzelle. Diese hat eine maximale Lebensdauer von rund einem Jahr. Spätestens wenn die Uhr nachgeht sollte man sich über Ersatz Gedanken machen. Leider ist dieser Typ nur schwer im Handel zu bekommen, aber mit die CR2032 in einer größeren Bauform gibt es für wenige Cents im Handel. Diese haben dann auch eine höhere Kapazität und dadurch eine erheblich längere Lebensdauer.
Alternative: Realtime Clock (RTC DS1307)

Software installieren und konfigurieren

Nachdem das DS3231 Modul auf den Raspberry gesteckt wurde, sollte dieser als erstes aktualisiert

und der I2C-Treiber über

aktiviert werden. Hier unter „Advanced Options“ den Punkt „I2C“ aufrufen und alle Punkte aktivieren. Danach muss der Raspberry neu gestartet werden, was auch gemacht werden sollte, damit die entsprechenden Treiber auch zur Verfügung stehen.

Ist der Raspberry wieder da, kann das Paket i2c-tools installiert werden

Ältere Distributionen haben noch eine aktive Blacklist für SPI und I2C. Diese sollte bereinigt werden indem die folgenden Zeilen auskommentiert werden:

Als nächstes wird festgelegt, welche Module beim Starten automatisch geladen werden sollen:

Testing

Manuelles Laden der Module

Mittels des Befehls

kann geprüft werden, ob die RTC am I2C-Bus angezeigt wird.

Die RTC wurde als unter der Adresse 0x68h gefunden.

Wir binden die Uhr in das System ein

und sollten durch Eingabe von

folgende Ausgabe bekommen:

Rebootsicher machen

Damit auch nach dem nächsten Systemstart die Uhr wieder eingebunden wird, muss in der Datei

folgendes vor „exit 0“ hinzugefügt werden:

1 Kommentar

  1. Stefan Hauser

    Schöne Anleitung.
    Was muss ich denn machen, wenn ich herausfinden will ob eine gültige Zeit eines ntp-Servers vorliegt, oder ob der Raspi längere Zeit stromlos war und die Netzwerkverbindung ausgefallen ist?

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.