Handbuch zur MoodleBox (auch offline)

4. MoodleBox erweitern

4.6. Echtzeituhr (RTC)

Standardmäßig beinhaltet die MoodleBox keine Echtzeituhr. Wenn die MoodleBox mit dem Internet über ein Kabel verbunden ist, holt sich die Systemuhr die aktuelle Zeit von einem Zeitserver. Wenn die MoodleBox nicht mit dem Internet verbunden ist, läuft die Zeit immer genau bei dem Zeitpunkt weiter, bei dem die MoodleBox das letzte Mal ausgeschaltet wurde. Ohne Internetverbindung müssen Sie die Systemzeit im Plugin MoodleBox manuell einstellen, damit die Zeitstempel in Moodle richtig funktionieren.

Echtzeituhr einbauen

Eine Echtzeituhr (RTC = Real Time Clock) für die MoodleBox erhalten Sie als kleine Zusatzplatine zum Aufstecken auf die GPIO-Leiste, z.B. hier https://www.reichelt.de/raspberry-pi-real-time-clock-modul-rtc-ds3231sn-rpi-rtc-clock-p224214.html

Echtzeituhr konfigurieren

Verbinden Sie sich mit der MoodleBox über SSH und geben Sie das standardmäßige Kennwort Moodlebox4$ ein. Falls Sie das Kennwort geändert haben, müssen sie natürlich das neue Kennwort eingeben.

ssh moodlebox@moodlebox.home

Als Nächstes müssen Sie mehrere Systemdateien bearbeiten und ein paar Kleinigkeiten hinzufügen. Der Editor nano ist ein wenig gewöhnungsbedürftig, aber Sie müssen sich eigentlich nur zwei Befehle merken: <ctrl>-o sichert die Datei, <ctrl>-x beendet den Editor.

sudo nano /boot/config.txt

Eine Echtzeituhr (RTC) basiert in der Regel aus einem Chip, der über i2c mit dem Prozessor verbunden ist. In der Konfiguration müssen Sie das Protokoll i2c aktivieren (Kommentarzeichen # entfernen) und die Bezeichnung des auf der Platine verwendeten RTC-Chips hinzufügen. Hier in der Beschreibung sind drei mögliche Bezeichnungen hinzugefügt, aber zwei davon sind deaktiviert (Kommentarzeichen # gesetzt).

# uncomment to enable the optional hardware interfaces
dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on
# uncomment to add an rtc module
#dtoverlay=i2c-rtc,ds1307
dtoverlay=i2c-rtc,ds3231
#dtoverlay=i2c-rtc,pcf8523

Die Bezeichnung des RTC-Chips muss zusätzlich in eine weitere Konfigurationsdatei eingetragen werden.

sudo nano /etc/modules

Fügen Sie in dieser Datei folgende Zeilen hinzu, wobei Sie bei einem anderen RTC-Chip natürlich die richtige Bezeichnung aktivieren müssen.

#rtc-ds1307
rtc-ds3231
#rtc-pcf8523

Damit die Echtzeituhr auch wirklich im System verwendet wird, muss noch eine Anpassung in eine dritten Konfigurationsdatei vorgenommen werden.

sudo nano /lib/udev/hwclock-set

Deaktivieren Sie in dieser Datei drei Zeilen, die bei der MoodleBox ohne Echtzeituhr für das Weiterlaufen der Systemuhr sorgen.

#if [ -e /run/systemd/system ] ; then
#    exit 0
#fi

Starten Sie abschließend die MoodleBox neu.

sudo reboot

Ab sofort sollte die Echtzeituhr in Ihrer MoodleBox funktionieren und auch dann die richtige Systemzeit verwenden, wenn die MoodleBox nicht mit dem Internet verbunden ist und sich die Systemzeit von einem Zeitserver holen konnte.


Beschreibung des Bauteils

https://thepihut.com/products/mini-rtc-module-for-raspberry-pi
https://thepihut.com/blogs/raspberry-pi-tutorials/17209332-adding-a-real-time-clock-to-your-raspberry-pi

Dieses Echtzeituhrmodul wurde für den Raspberry Pi entwickelt. Es wird als Zubehör oben auf die GPIO-Pins aufgesteckt und enthält den RTC-Chip DS3231. Damit sich der Raspberry Pi an die Zeit erinnern kann, auch wenn er eine gewisse Zeit ohne Stromanschluss ist, wird die Spannung mit einem leistungsfähigen Kondensator (GoldCap, SuperCap) gepuffert.

Technische Daten
    • DS3231 RTC
    • Hohe Genauigkeit
    • GPIO-Zubehör zum Aufstecken
    • Support von Raspberry Pi
    • Spannung: 3.3V oder 5V
    • Größe: 14x16x12 mm