Echtzeituhr-Modul DS3231 sorgt für genaue Zeitangaben

© Galina Peshkova, 123RF

Zeit ist relativ

Wenn's um die genaue Zeit geht, dann gerät der Raspberry Pi schnell ins Schleudern. Die fehlenden Echtzeituhr verpassen Sie dem Mini-PC bei Bedarf kostengünstig und mit wenigen Handgriffen.

Normalerweise weiß der Raspberry Pi, was die Stunde geschlagen hat. Denn wenn er eine Verbindung zum Netzwerk hat, synchronisiert sich die Software-Uhr des Mini-PCs mit einem NTP-Server (siehe Kasten "Network Time Protocol". Hat der Rechner aus irgendeinem Grund diese Option jedoch nicht, kommt er üblicherweise sehr schnell aus dem Rhythmus.

Network Time Protocol

NTP kommt, wie fast alle Abkürzungen in der IT, aus dem Englischen und bedeutet "Network Time Protocol". Es kommt dann zum Einsatz, wenn es darum geht, die Zeit auf Rechnern im Netzwerk synchron zu halten. Solange ein Rechner mit dem Internet verbunden ist, besteht die Möglichkeit, die Zeit über diesen Dienst direkt von einer Atomuhr zu beziehen.

Dieses Signal wandert über mehrere Server bis zum heimischen PC. Die dabei durch die Laufzeit entstehenden Verschiebungen gleicht die Software durch ausgeklügelte Verfahren aus. Normalerweise laufen die Programme, die das Synchronisieren erledigen, im Hintergrund, sodass Sie nichts davon bemerken – bis auf die Tatsache, dass die Uhrzeit auf dem Rechner korrekt ist.

Glücklicherweise gibt es im Handel [1] ein fertiges Uhrenmodul (Abbildung 1), das genau diese Lücke ausfüllt. Seine Pin-Belegung passt exakt auf die GPIO-Schnittstelle des Raspberry Pi (Abbildung 2). Der passende Treiber ist bereits vorhanden. Die zur Installation nötigen Schritte erledigen Sie in ein paar Minuten, also nichts wie ran ans Werk.

Abbildung 1: Die Rückseite des DS3231-Uhrenmoduls, gut zu erkennen die Batterie.
Abbildung 2: Die Echzeituhr DS3231 passt ganz genau auf die GPIO-Schnittstelle eines Raspberry Pi 2.

Hardware

Bevor Sie richtig loslegen, schauen Sie sich noch einmal genau an, was für ein Modul Sie erworben haben. Ein kurzer Blick auf den Schaltplan (Abbildung 3) der Module verrät, dass der kleine gelbe Knopf kein Hochleistungskondensator oder gar ein Akku ist, sondern nur eine einfache CR2032H Knopfzelle. Diese hat normalerweise eine Lebensdauer von über einem Jahr.

Abbildung 3: Der Schaltplan des DS3231 gibt Auskunft über die Komponenten des Moduls.

Sollte die Uhr einmal nicht richtig laufen, ist vermutlich diese Batterie leer. Dieser spezielle Typ ist etwas schwierig im Handel zu bekommen. Die Beschaffung einer CR2032 in einer größeren Bauform ist aber kein Problem [2]. Die größeren Modelle haben außerdem den Charme einer höheren Kapazität und dadurch einer erheblich längeren Lebensdauer.

Software einrichten

Mit raspi-config können wir das Laden der I2C-Treiber einschalten: Dazu wählen Sie (8) Advanced Options | <A7 I2C und aktivieren dann alle Punkte. Nach dem Neustart des Rechners sollten die entsprechenden Treiber geladen sein.

So weit die Theorie. Unglücklicherweise klappt das automatische Laden der Treiber mit der aktuellen Version von Raspbian nicht. Daher ist es ntowendig, dass Sie das Laden der Module selbst in der Datei /etc/modules aktivieren. Zu diesem Zweck tragen Sie die zwei Zeilen aus Listing 1 zusätzlich in diese Datei ein.

Listing 1

 

i2c-bcm2708
i2c_dev

Um zu prüfen, ob alles geklappt hat, installieren Sie anschließend die I2C-Tools. Das erledigen Sie auf der Kommandozeile mit den drei Befehlen aus Listing 2, wobei die ersten beiden zuerst die Paketquellen abfragen und dann das System auf den aktuellen Stand bringen.

Listing 2

 

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install i2c-tools

Bei älteren Installationen ist es unter Umständen möglich, dass ein Eintrag in der Datei /etc/modprobe.d/raspi-blacklist.conf das Laden der zwei Module verhindert. Sollte das der Fall sein, kommentieren Sie die Stellen in dieser Datei einfach aus. In der aktuellen Version von Raspbian gibt es dieses File nicht mehr.

Haben Sie die I2C-Tools installiert und die entsprechenden Einträge in den Dateien vorgenommen, starten Sie den Raspberry Pi neu. Mit dem Befehl können wir nun überprüfen, ob das Uhrenmodul sich am I2C-Bus angemeldet hat.

Listing 3

 

# sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

Diese Ausgabe nutzen Sie nun, um das System entsprechend zu konfigurieren. Der Befehl aus Listing 4 definiert, dass am I2C-Bus unter der Adresse 0x68h ein Gerät, in diesem Fall das DS3231-Modul, angeschlossen ist.

Listing 4

 

echo ds3231 0x68 | sudo tee /sys/class/i2c-adapter/i2c-1/new_device

Der Befehl sudo hwclock zeigt uns jetzt die Zeit des Moduls (Hardware-Uhr) an. Diese ist in der Regel komplett falsch. Das verwundert nicht, da das Modul als solches noch nicht konfiguriert ist. Um die Uhr mit der aktuellen Zeit des Systems, also der der softwarebasierten Uhr, zu synchronisieren, verwenden Sie den Befehl sudo hwclock -w.

Falls die Systemzeit nicht stimmen sollte, stellen Sie diese mit sudo date -s "Sep 27 2014 12:46:00" zuerst einmal ein, bevor Sie wiederum die Hardware-Uhr mit dieser abgleichen.

Damit nun nach dem nächsten Reboot alles wieder richtig funktioniert, sorgen Sie dafür, dass das System den Befehl echo ds3231 0x68 > /sys/class/i2c-adapter/i2c-1/new_device bei jeden Start ausführt. Am einfachsten klappt das, indem Sie dieses Kommando in die Datei /etc/rc.local vor die Zeile exit 0 einfügen. Das System führt die Befehle aus dieser Datei bei jedem Start aus.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 3 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Aktuelle Ausgabe

10/2017
Addon-Boards

Diese Ausgabe als PDF kaufen

Preis € 7,99
(inkl. 19% MwSt.)

Neuigkeiten

  • Neues auf der Heft-DVD

    Nur mit dem optimalen System und der richtigen Software nutzen Sie das volle Potenzial eines Mini-PC. Mit der Heft-DVD erhalten Sie nicht nur die neusten Distributionen für den Raspberry Pi und Konsorten, sondern gleichzeitig auch die passenden Programme zu den Artikeln.

  • Aufgewacht!

    Der Raspberry Pi fährt auf Kommando herunter, doch zum Aufwachen fehlt ihm eine Echtzeituhr. Mit einer RTC und ein paar Schaltungen steuern Sie den Schlaf- und Wachrhythmus des Mini-Rechners.

  • Schneller Wechsel

    Mit dem Messkopf ExpEYES Junior erfassen Sie auf einfache Weise die Flimmerfrequenz von verschiedenen Lichtquellen.

  • Knirps

    Der 3,2 Zoll kleine Monitor von Joy-it, zusammen mit dem RasPi kaum größer als eine Packung Zündhölzer, bietet eine interessante Alternative zu einer reinen Headless-Konfiguration. Er erleichtert das Überwachen des Boot-Vorgangs und das Verfolgen von Ausgaben, die nur ein Paar Zeichen oder Zeilen umfassen.

  • Minimalistisch

    Die Raspberry-Pi-Familie bekommt regelmäßig Zuwachs, doch einige Familienmitglieder fristen ein Schattendasein, wie das Compute Module. Das kompakte Board eignet sich bestens für Embedded-Lösungen.

  • Meisencam

    Mit einem RasPi, einer NoIR-Pi-Cam und etwas Elektronik bauen Sie für unter 100 Euro ein digitales Auge, mit dem Sie behutsam Singvögel in der Natur beim Brüten beobachten.

  • Mit einfachen Mitteln

    YunoHost bietet eine große Anzahl von Diensten auf einer bewährten Debian-Server-Plattform, die Sie selbst hosten können.

  • An einem Tisch

    Gemeinsames Arbeiten auf einer mobilen Plattform im lokalen Netzwerk – dazu brauchen Sie nicht mehr als einen SBC und die Software Etherpad Lite.

  • Netz aufspannen

    Ein WLAN-Access-Point bietet einen zusätzlichen Einstieg ins LAN und erlaubt im Zusammenhang mit dem RasPi vielfältige Einsatzszenarien.

  • Diätkost

    Für ältere Modelle des RasPi erweist sich Raspbian mittlerweile als zu schwergewichtig. Mit dem schlanken DietPi helfen Sie diesen Modellen wieder auf die Sprünge.