Zuerst müssen wir i2c auf dem Raspberry aktivieren. Das machen wir mit folgenden Befehl.
pi@raspberry:~$ sudo raspi-config
Verkabelung überprüfen
Nun installieren wir python-smbus und i2c-tools und checken ob das RTC Modul korrekt angeschlossen ist.
pi@raspberry:~$ sudo apt-get install python-smbus i2c-tools
pi@raspberry:~$ sudo i2cdetect -y 1
Sobald die Kernel-Treiber geladen sind, überspringt i2cdetect 0x68 und zeigt UU an, d.h. es funktioniert!
Nun, da wir das Modul angeschlossen und mit i2cdetect verifiziert haben, können wir das Modul einrichten.
RTC-Zeit einstellen
Wir können die RTC Unterstützung hinzufügen, indem wir zur Raspberry Konfiguration /boot/config.txt
ein device tree overlay hinzufügen.
pi@raspberry:~$ sudo vi /boot/config.txt
....
dtoverlay=i2c-rtc,ds3231
Nun speichern wir die Konfiguration und starten den Raspberry neu.
pi@raspberry:~$ sudo reboot
Nun melden wir uns wieder an und prüfen mit i2cdetect ob das RTC Modul geladen wurde. Das sehen wir am UU, stat dem 0x68.
pi@raspberry:~$ sudo i2cdetect -y 1
fake-hwclock deaktivieren
Nun deaktivieren wir die softwarebasierte Uhr fake-hwclock, welche der echten hwclock stören würde.
pi@raspberry:~$ sudo apt-get -y remove fake-hwclock
pi@raspberry:~$ sudo update-rc.d -f fake-hwclock remove
Jetzt, wo die fake-hw Uhr deaktiviert ist, bearbeiten wir noch das Startskript der hwclock Uhr.
pi@raspberry:~$ sudo vi /lib/udev/hwclock-set
....
#if [ -e /run/systemd/system ] ; then
# exit 0
#fi
Zeit zwischen Raspberry zur RTC syncronisieren
Wenn wir das RTC-Modul zum ersten Mal einstecken, wird es die falsche Zeit haben, denn es muss erst einmal gesetzt werden. Mit folgenden Befehl können wir die Uhrzeit direkt aus der RTC auslesen.
pi@raspberry:~$ sudo hwclock -D -r
Nun werden wir die Zeit über Internet aktualisieren und werden die Hardware Uhr mit der aktuellen Zeit neu setzen.
pi@raspberry:~$ sudo hwclock -w
Mit der Option -r können wir uns die Zeit aus dem RTC Modul anzeigen lassen.
pi@raspberry:~$ sudo hwclock -r
Das war alles! Beim nächsten Booten wird die Uhrzeit automatisch vom RTC-Modul synchronisiert.