Aus Raspberry Pi Geek 06/2019

Zeitsteuerung für den Raspberry Pi

© tawhy, 123RF

Süßer Wecker

Bernhard Bablok

Dem RasPi fehlen sowohl eine Echtzeituhr als auch ein BIOS, ein zeitgesteuertes Wecken erfordert also Zusatzkomponenten. Hier springt der Witty Pi Mini in die Bresche, ein µHAT von UUGear.

Das zeitgesteuerte Hoch- und Herunterfahren eines Raspberry Pi ist in vielen Anwendungsszenarien kein Thema: Der RasPi darf aufgrund seines geringen Stromverbrauchs einfach durchlaufen. Aus demselben Grund stört in dieser Konstellation das Fehlen einer Echtzeituhr (englisch: Real Time Clock, RTC) nicht, denn der RasPi synchronisiert seine Systemzeit mit einem Zeitserver aus dem Internet.

Bei Offline-Szenarien sieht die Sache aber schnell anders aus. Wollen Sie etwa an einem Ort ohne Steckdose jede Stunde ein Foto aufnehmen, dann saugt selbst ein Pi Zero im Dauerbetrieb jeden Akku schnell leer. Eine Eigenbaulösung für das Problem haben wir schon vor einiger Zeit vorgestellt [1]. Mit dem Witty Pi Mini [2] von UUGear gibt es jedoch für schmale 17,90 Euro eine entsprechende Hardware-Lösung in Form eines pHAT, die eine ähnliche Funktionalität verspricht (Abbildung 1).

Abbildung 1: Der Witty Pi Mini, montiert auf einem Pi Zero.

Abbildung 1: Der Witty Pi Mini, montiert auf einem Pi Zero.

Architektur

Die Größe der Platine gleicht der eines Pi Zero. Im gelieferten Paket liegen Plastikabstandshalter und Schrauben, ein kleines Handbuch zeigt den Zusammenbau. Der HAT unterstützt auch die ausgewachsenen Raspberry-Pi-Modelle. In diesem Fall empfiehlt das Handbuch aber einen zusätzlichen Header, da die Anschlüsse hier mehr Abstand benötigen. Vor der Montage steht jedoch die Installation der Software, dazu später mehr.

Auf der Platine finden sich der präzise RTC-Chip DS3231SN, zwei LEDs, die den Betriebszustand anzeigen, zwei Schiebeschalter sowie ein Taster. Ein Micro-USB-Anschluss versorgt die Platine und darüber auch den RasPi mit Strom. Eine Pufferbatterie für die Echtzeituhr fehlt, stattdessen gibt es einen Superkondensator, der die Uhr für bis zu 17 Stunden mit Spannung versorgt.

Der RTC-Chip enthält neben der eigentlichen Uhr noch zwei Speicher für wiederkehrende Alarme. Der Witty Pi Mini nutzt diese Alarme, um den RasPi automatisch zu starten beziehungsweise herunterzufahren. Der Taster dient zum Ein- und Ausschalten per Hand. Letzteres funktioniert nur im Zusammenspiel mit der mitgelieferten Software sauber, andernfalls fährt der Raspberry Pi vorher nicht herunter. Ein Schiebeschalter steuert das Verhalten, sobald die Platine Strom bekommt: Im Standardzustand Off passiert nichts, erst der Taster schaltet den RasPi an. In der Stellung On dagegen bekommt der Mini-Rechner auch ohne zusätzlichen Druck auf den Taster sofort Strom.

Der zweite Schiebeschalter sorgt in der On-Stellung dafür, dass die Platine in regelmäßigen Abständen für kurze Zeit hohe Ströme abruft, selbst wenn der RasPi nicht läuft. Das verhindert bei vielen Powerbanks ein komplettes Abschalten – sie sind für das Laden von Smartphones ausgelegt und nicht als Stromversorgung für sparsame Geräte wie den Pi Zero.

Überwachung

Die Platine überwacht den Pin 8 (GPIO14, TXD der seriellen Schnittstelle), der im Normalbetrieb nur sehr kurzzeitig bei Datentransfers auf Low geht. Liegt hier längere Zeit keine Spannung an, geht der Witty Pi Mini von einem Shutdown aus und trennt den RasPi von der Stromversorgung.

Das stellt im Grunde genommen einen Design-Fehler des UUGear-Hats dar: Moderne Varianten des RasPi mit Bluetooth verwenden die Pins 8 (GPIO14, TXD) und 10 (GPIO15, RXD) nicht mehr als serielle Schnittstelle. Das Installationsprogramm des Witty Pi Mini sorgt zwar für das Umkonfigurieren, aber Anwender, die den Bluetooth-UART nutzen, müssen auch ihre Programme anpassen.

Damit der RTC oder Taster das Herunterfahren auslösen kann, überwacht die Witty-Pi-Software zusätzlich noch den Pin 7 (GPIO4). Ein entsprechender Pegelwechsel sorgt dann für einen geordneten Shutdown, die GPIO14-Überwachung trennt am Ende den RasPi vom Strom.

Software-Installation

Der Hersteller produziert nicht nur die Platine, sondern stellt auch die Software für die Konfiguration des Raspberry Pi und den Betrieb der Lösung bereit [3]. Diese gilt es einzurichten, bevor Sie den Witty Pi Mini und den RasPi verbinden. Die entsprechende Installationsroutine holt zwar alle notwendigen Pakete ins System und ändert bei Bedarf auch die Konfiguration, aber die Software landet nicht in den bei Linux üblichen Verzeichnissen. Deshalb empfehlen wir die Installation gemäß dem Schema aus Listing 1.

Listing 1

$ sudo su -
$ cd /usr/local/lib
$ wget http://www.uugear.com/repo/WittyPi2/installWittyPi.sh
$ chmod +x installWittyPi.sh
$ ./installWittyPi.sh
$ exit

Das Skript aus Zeile 3 passt die /boot/config.txt an, um die I2C-Schnittstelle zu aktivieren, und installiert die Pakete wiringpi sowie i2ctools. Anschließend lädt es die Witty-Pi-Tools herunter, ein Archiv mit einer Skriptsammlung für den Betrieb der Hardware. Die Witty-Pi-Tools liegen anschließend im Verzeichnis /usr/local/lib/wittyPi. Optional richten Sie noch Qt5 ein, auf dem das grafische Frontend für den Witty Pi Mini basiert – das ist aber nur auf Desktop-Systemen sinnvoll.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben