Mit etwas Trickserei in der config.txt geht es aber doch. Das folgende Beispiel bezieht sich dabei auf das weitverbreitete RTC-Modul DS3231. Der RasPi kommuniziert üblicherweise per I2C mit der RTC. Als ersten Schritt verlegen Sie deshalb die RTC von der Hardware-Schnittstelle auf beliebige andere Pins (Zeile 2 aus Listing 4). Das funktioniert deshalb, weil der RasPi auch Software-I2C beherrscht und die RTC keine gehobenen Ansprüche an den Bus stellt.
Die RTC verkabeln Sie jetzt wie üblich mit 3,3 Volt, Masse und den gewählten Pins für SDA und SCL. Zusätzlich schließen Sie den mit INT/SQW bezeichneten Pin der RTC an GPIO3 an. Allerdings gibt es auch minimalistische RTC-Breakouts, die diesen Pin gar nicht nach außen führen; sie eignen sich entsprechend nicht für diesen Zweck. Nach einem Neustart lässt sich für die RTC ein Alarm setzen (Abbildung 5).

Abbildung 5: Mittels eines externen RTC-Moduls lässt sich im RasPi auch ein zeitgesteuerter Alarm setzen.
Hierzu schreiben Sie den Zeitpunkt im Format “Sekunden seit 01.01.1970” in die Datei /sys/class/rtc/rtc0/wakealarm. Dabei hilft das Kommando date +%s. Den Zeitpunkt geben Sie über die Option -d an. Date rechnet auch; in Abbildung 5 sehen Sie den Ausdruck now + 5 minutes. Es funktioniert aber auch + 3 hours oder tomorrow 08:00.
Nach dem Setzen des Alarmzeitpunkts fahren Sie den RasPi herunter, trennen ihn aber nicht vom Strom. Zum definierten Zeitpunkt fährt der Kleinstrechner dann selbstständig hoch. Da er nach dem Herunterfahren seine Peripherie nicht vom Strom trennt, fällt, abhängig von den Komponenten, die Stromersparnis kaum ins Gewicht.
Fazit
Die vorgestellten Beispiele zeigen, dass sich das ein oder andere Problem mit einer Konfigurationszeile in der config.txt einfacher lösen lässt als mit der Installation von Zusatz-Software. Letzterer fehlt insbesondere der direkte Zugriff auf die Hardware über die Kernel-Treiber, die hinter den Overlays stecken.
Auch wer an die Anschaffung von Zusatz-Hardware denkt, sollte vorher einen Blick auf die verfügbaren Overlays werfen. Gibt es solche, spricht das in aller Regel dafür, dass nicht nur der Hersteller die Hardware unterstützt, sondern auch die Community – das macht sie in aller Regel zukunftssicherer. (tle)
Der Autor
Bernhard Bablok arbeitet bei der Allianz Technology SE als SAP-HR-Entwickler. Wenn er nicht Musik hört oder mit dem Rad respektive zu Fuß unterwegs ist, beschäftigt er sich mit Themen rund um Linux, Programmierung und SBCs. Sie erreichen ihn unter mailto:[email protected].
Glossar
- Raspbian
-
Mit der Einführung des RasPi 4 mit 8 GByte RAM hat die Foundation das offizielle Betriebssystem für den RasPi in Raspberry Pi OS umgetauft. Wir verwenden in diesem Artikel trotzdem den handlicheren – und geläufigeren – alten Namen Raspbian.
- SoC
-
System on Chip. Ein SoC integriert alle oder einen Großteil der Funktionen eines programmierbaren elektronischen Systems auf einem integrierten Schaltkreis.
- RTC
-
Real Time Clock. Echtzeituhr auf Basis eines Schwingquarzes. Idealerweise schreibt eine (batteriegepufferte) RTC die Zeit auch bei ausgeschaltetem Gerät fort.
Infos
- BCM2835-Schnittstellen: https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2835/BCM2835-ARM-Peripherals.pdf
- Dokumentation der
config.txt: https://www.raspberrypi.org/documentation/configuration/config-txt/README.md - Dokumentation der GPIO-Initialisierung: https://www.raspberrypi.org/documentation/configuration/pin-configuration.md
- GPIOs konfigurieren: https://www.raspberrypi.org/documentation/configuration/config-txt/gpio.md





