Aus Raspberry Pi Geek 09/2024

Den Raspberry Pi 5 zeitgesteuert oder aus der Ferne starten

© Orlando Rosu / 123RF.com

Beizeiten aufgewacht

Bernhard Bablok

Als der RasPi 5 erschien, war seine hohe Performance das primäre Thema. Dabei bringt er auch einige neue versteckte Funktionen mit. Dazu gehört die Möglichkeit, ihn zeitgesteuert und aus der Ferne hoch- und herunterzufahren.

Früher funktionierte der Neustart eines heruntergefahrenen Raspberry Pi nur mit der Holzhammermethode: Stecker kurz ziehen und wieder einstöpseln. Wer es einfacher wollte, verwendete ein Kabel mit eingebautem Taster oder nutzte einen HAT – Letzteres insbesondere, wenn der Neustart zeitgesteuert stattfinden sollte.

Auf dem Raspberry Pi 5 gibt es jetzt für diesen Zweck endlich einen eigenen Taster (Abbildung 1). Der startet den Raspberry Pi nicht nur im ausgeschalteten Zustand, sondern fährt einen aktiven SBC auch sauber herunter, bevor er den Strom abschaltet (auf Desktop-Systemen sogar mit Rückfrage). Das ist aber beileibe nicht die einzige Möglichkeit, die der RasPi 5 bietet. Wir werfen in diesem Artikel deshalb einen Blick auf ein paar nützliche Funktionen rund um das An- und Ausschalten.

Abbildung 1: Über einen integrierten Taster (Bildmitte) lässt sich der RasPi 5 neu starten.

Abbildung 1: Über einen integrierten Taster (Bildmitte) lässt sich der RasPi 5 neu starten.

Vorbereitung

Damit alles richtig funktioniert, sollten Sie eine Einstellung in der Firmware (EEPROM) überprüfen und gegebenenfalls ändern. Der Befehl rpi-eeprom-config zeigt die aktuell gesetzten Konfigurationsvariablen. Wichtig ist hier der Eintrag POWER_OFF_ON_HALT.

Falls der Wert fehlt oder auf 0 steht, dann ändern Sie ihn per sudo rpi-eeprom-config --edit und starten den Rechner neu. Die Einstellung POWER_OFF_ON_HALT=1 sorgt dafür, dass der RasPi 5 nach dem Herunterfahren nur noch 3 bis 4 Milliampere zieht statt ein paar Hundert.

Zeitgesteuertes Schalten

Ein zeitgesteuertes Herunterfahren ist üblicherweise nur bei Applikations- oder Server-Systemen üblich. Hier löst typischerweise irgendein Skript den Shutdown aus. Bei einem Videorecorder etwa auf Basis von TVHeadend können Sie nach jeder Aufnahme ein Skript starten. Beim Autor prüft es, ob in Kürze noch eine weitere Aufnahme ansteht. Falls nicht, fährt es den Rechner herunter. Ähnlich ist es beim heimischen Server: Der geht mittels eines Systemd-Timers pünktlich um 23 Uhr schlafen.

Zeitgesteuertes Hochfahren ist eine andere Baustelle. Bis zum Raspberry Pi 5 klappte das nur mit Zusatz-HATs. Der neueste RasPi aber hat alles integriert und benötigt weder zusätzliche Software noch Hardware. Den Aufwachzeitpunkt schreiben Sie einfach als Nutzer root in die Datei /sys/class/rtc/rtc0/wakealarm. Dabei müssen Sie den Zeitpunkt in Form der Unix-Zeit ablegen, also als Anzahl der Sekunden seit dem 01.01.1970, 0 Uhr UTC.

Das klingt komplizierter, als es ist: Linux bringt das Kommando date mit, das die Rechnerei für Sie übernimmt. Es kann die aktuelle Uhrzeit oder auch jeden beliebigen anderen Zeitpunkt über einen Format-String unterschiedlich ausgeben. Das Format %s steht dabei für die Ausgabe in Sekunden. Zeitpunkte geben Sie entweder absolut oder relativ an. Date versteht dabei auch normale Sprache, wenn auch nur Englisch. Ein paar Beispiele sehen Sie in Abbildung 2. Dabei leitet das Pluszeichen jeweils das gewünschte Ausgabeformat ein.

Abbildung 2: Einige Beispiele f&uuml;r das Rechnen mit dem Kommando <code>date</code>.

Abbildung 2: Einige Beispiele für das Rechnen mit dem Kommando date.

Listing 1 zeigt ein kleines Skript, das den Rechner fünf Minuten nach Aufruf herunterfährt und fünf Minuten danach (also zehn Minuten nach Aufruf) wieder bootet. Sie müssen es mit sudo starten. Dem Shutdown-Kommando können Sie statt eines Zeitraums auch eine absolute Uhrzeit mitgeben.

Listing 1

Start/Stopp per RTC

#!/bin/bash
# nächster Boot in zehn Minuten
date -d "+10 minutes" +'%s' > \
  /sys/class/rtc/rtc0/wakealarm
# Echtzeituhr überprüfen
cat /proc/driver/rtc
# Shutdown in 5 Minuten
shutdown "+5" \
  "In 5 Minuten ist Feierabend!"

Dieses Verfahren macht es zur einfachen Übung, den heimischen Server abends herunter- und morgens dann zeitgesteuert wieder hochzufahren. Was aber, wenn Sie den Server nicht immer zur selben Zeit benötigen? Dann greifen Sie einfach zur Fernsteuerung, die der folgende Abschnitt beschreibt.

Fernschalter

Neben dem Taster für Start und Stopp des RasPi 5 hat die Foundation noch einen zusätzlichen, unbestückten Header auf der Platine verbaut. Er liegt zwischen dem USB-C-Anschluss und der ersten Micro-HDMI-Buchse (Abbildung 3). Die in der Abbildung sichtbaren Pins müssen Sie aber selbst einlöten, was jedoch keine große Herausforderung darstellt.

Abbildung 3: Der unbest&uuml;ckte Header links zwischen den USB-C- und Micro-HDMI-Ports l&auml;sst sich f&uuml;r einen eigenen Taster nutzen. Dazu l&ouml;ten Sie Pins ein.

Abbildung 3: Der unbestückte Header links zwischen den USB-C- und Micro-HDMI-Ports lässt sich für einen eigenen Taster nutzen. Dazu löten Sie Pins ein.

Diesen Anschluss haben die Entwickler wahrscheinlich dafür vorgesehen, den Taster an die Außenseite eines Gehäuses zu legen, falls der Raspberry Pi komplett im Inneren verschwindet. Das funktioniert in der Praxis auch tadellos. Statt eines weiteren Tasters (oder sogar zusätzlich, das geht auch) schließen wir hier aber einen Pico W beziehungsweise einen anderen Mikrocontroller mit WLAN-Chip an. Der winzige Oldie ESP-01S genügt dafür beispielsweise völlig.

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