Raspberry Pi per RTC-Timer an- und ausschalten

© Anastasia Alforova, 123RF

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.

Eine der Ausstattungslücken des Raspberry Pi betrifft das Fehlen einer Echtzeituhr. Eine solche Real-Time-Clock (RTC) lässt sich aber problemlos nachrüsten, etwa in Form des weit verbreiteten RTC-Moduls DS3231 [1]. Es kostet nur wenige Euro und funktioniert bestens mit dem RasPi; zahlreiche Tutorials im Internet beschreiben den Einsatz des Uhrenchips.

Einen wichtigen Aspekt der RTC verschweigen die Tutorials aber: Der Chip vermag zwei unabhängige Alarme auszulösen. Da liegt die Idee nahe, dass die Uhr den RasPi wieder anschalten kann, vorausgesetzt, er programmiert den Aufwachzeitpunkt in der RTC vor dem Shutdown selbst. Von der Idee bis zur Umsetzung mussten wir dann allerdings noch ein paar Hürden überwinden.

Ein typischer Anwendungsfall der Schaltung wäre etwa ein Server, der sich spät am Abend selbst herunterfährt und morgens wieder automatisch bootet. Während sich dieses Beispiel noch mit einer zeitgesteuerten Steckdose realisieren ließe, kommt ein Videorecorder auf RasPi-Basis [2] damit nicht hin, da Abschalten und Neustart nicht zu festen Zeiten stattfinden.

Der Ablauf

Abbildung 1 zeigt von links nach rechts den generellen Ablauf. Ein Taster (S1) schaltet den Strom für den RasPi ein, der Rechner bootet. Am Ende des Shutdowns setzt der RasPi den Pegel eines Pins auf High (A1 im Schaubild). Das führt zum Abschalten des Stroms, der Pegel des Pins fällt dadurch sofort wieder auf null (A2).

Abbildung 1: Das Ablaufschema der Stromschaltung.

Zum Zeitpunkt B1 löst der in der RTC hinterlegte Alarm aus. Der DS3231-Chip zieht dazu den per Pullup auf High gelegten Pin INT auf Low. Dieser Pegel bleibt vorerst so, bis der Alarm gelöscht wird. Ein Low auf der Interrupt-Leitung schaltet den Strom für den RasPi wieder ein; der fährt hoch und löscht im Rahmen des Boot-Prozesses den Alarm (B2). Daneben lässt sich der Raspberry Pi auch ohne aktivierten RTC-Alarm herunterfahren. Danach muss man ihn allerdings über den Taster S1 starten.

Die Hardware

Im Internet gibt es verschiedene Ausführungen des DS3231-Chips auf kleinen Platinen für wenig Geld. Hier gilt es, genau hinzusehen: Minimalistische Varianten führen nur VCC, GND, SDA und SCL heraus. Das genügt zwar für den Betrieb als RTC, doch lassen sich aus den internen Alarmregistern solcher Platinen ausgelöste Alarme nicht abgreifen.

Dafür bedarf es mindestens noch eines weiteren Pins, üblicherweise INT/SQW genannt. INT steht dabei für Interrupt und SQW für Square Wave. Bei Bedarf lässt sich beim Eintreten eines Alarms über diesen Ausgang statt eines Interrupts (Pegelwechsel von High auf Low) auch ein Rechtecksignal ausgeben. Im aktuellen Projekt kommt der Chronodot [3] zum Einsatz, dessen Design vollständig offenliegt.

Die Herausforderungen seitens der Elektronik liegen darin, dass die Schaltung auf drei Signale reagieren muss, teilweise auf Pegel (Taster S1) und teilweise ausschließlich auf steigende Flanken (RTC/INT). Diese Anforderungen erfüllt ein diskretes Flipflop (D-FF oder kurz FF) vom Typ 74HCT74 (5V-Typ). Die logischen Verknüpfungen der beiden Eingangspegel von RTC/INT und dem RasPi-GPX erfolgen über ein logisches Oder.

Der Einschaltvorgang initiiert das FF und schaltet den RasPi über S2 ein. Die Invertierungen erledigt ein 74HCT04 (sechs Inverter). Optimal ist diese Konfiguration noch nicht, die Verfügbarkeit aus der Bastelkiste war ausschlaggebend. Wer also das diskrete Oder nicht mag, nimmt einen IC 74HCT02 mit vier NOR-Gattern, einem Gatter für das NOR und zwei Gattern für die Inverter; dabei bleibt ein Gatter ungenutzt. Damit würde man sogar mit nur einem IC für die erste Baugruppe auskommen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 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

12/2018
Coole Projekte

Diese Ausgabe als PDF kaufen

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

Stellenmarkt

Neuigkeiten

  • Bytes und Beats

    In Sonic Pi können Sie mit wenigen Codezeilen Klänge manipulieren, Beats zusammenstellen und ganze Songs komponieren.

  • Klein, aber fein

  • Trick or treat

    Das traditionelle RPG-Gruselkabinett glänzt dieses Jahr mit einer innovativen Umsetzung mittels Pneumatik und Elektropneumatik sowie ST-Programmierung.

  • Unter Kontrolle

    Traditionell stellen wir alljährlich ein selbst gebautes Halloween-Gespenst vor. Die pneumatischen und elektronischen Grundlagen erklärt dieser Artikel.

  • Go Pi Go!

    Der Bausatz GoPiGo3 liefert Bauteile und Software für ein kleines Roboterauto. Zusammen mit einem RasPi als Gehirn programmieren Sie den Roboter per Mausklick.

  • Handlicher Helfer

    Während die Folien der Präsentation durchlaufen, liefert ein kleiner Dokumentenserver auf Basis des GL-AR300M-ext zusätzliche Informationen aus.

  • Wiederverwertet

    Mithilfe eines einfachen Python-Programms recyceln Sie ein ausgedientes Smartphone als drahtlos angebundenes RasPi-Display.

  • Herzenssache

    Steigt beim Krimi der Herzschlag bedrohlich an? Mit einem Pulsmesser in Eigenbau ermitteln Sie einfach und kostengünstig, ob der Herzschlag noch in verträglichen Bereichen liegt.

  • Fernbedient

    Mit der Fernbedienung den RasPi steuern. In der Theorie möglich, in der Praxis oft beschwerlich. Die Libcec liefert praktische Tools zur Fehlersuche.

  • Musikwürfel

    Mit Musikcube machen Sie Ihre eigene Sammlung fit fürs Streamen. Der terminalbasierte Audioplayer lässt sich Fernsteuern und bietet eine App für Android-Smartphones.