Immer weitermachen!

Unterbrechungsfreie Stromversorgungen für den Raspberry Pi

Test & Kaufberatung | Kurztest

Viele Raspberry Pis laufen rund um die Uhr. Damit sie das auch zuverlässig tun, überwachen und puffern kleine Aufsteckplatinen die Stromversorgung. Als Energiespeicher dient mal ein Akku, mal ein Batteriepack – oder eine Auto-Batterie.

Wenn dem Raspi plötzlich der Strom ausgeht, nimmt er das übel. Meistens läuft eine Linux-Distribution drauf, die gern sauber heruntergefahren werden möchte. Im besten Fall meckert sie beim nächsten Start nur, dass das Dateisystem Fehler aufweisen könnte. Doch wenns blöd läuft, startet der Raspi gar nicht wieder. Und schon wars das mit dem automatischen Blumengießen während des Urlaubs …

Eine unterbrechungsfreie Stromversorgung (USV) minimiert das Risiko, indem sie die reguläre Versorgungsspannung überwacht und bei Bedarf für sie einspringt. Außerdem muss sie dem Raspi-Betriebssystem Bescheid sagen, damit es in Ruhe herunterfahren kann. Auch der Admin sollte erfahren, dass da etwas im Argen liegt oder lag. Ein ausführliches Protokoll ist also Pflicht, eine konfigurierbare Alarmfunktion willkommen. Bonuspunkte gibt es, wenn die USV statt mit Batterien mit Akkus arbeitet, die sie selbst wieder auflädt.

Vier Platinen, die zumindest die wichtigsten Funktionen einer USV bereitstellen, sind in Deutschland im Fach- und Versandhandel gut zu bekommen: PiUSV und PiUSV+ von CW2, StromPI von Joy-it und UPS PIco von PiModules. Alle vier sind zum Aufstecken auf die Pfostenleiste des Raspi gedacht. Sie können ihn über diese Leiste sowohl überwachen, also auch versorgen und gleichzeitig mit dem Raspi-Betriebssystem Nachrichten austauschen.

Bescheid!

Dazu installiert man eine vom Hersteller gelieferte Software, die im Hintergrund läuft. Mit Raspbian, dem Standard-Linux des Raspi, sollte diese Software mindestens funktionieren. Besser ist es natürlich, wenn der Hersteller den Quelltext mitliefert. Einen echten Linux-Daemon gibts nur zu den beiden PiUSVs. Bei StromPI und UPS PIco müssen simple Python-Skripte reichen und der Benutzer muss selbst dafür sorgen, dass die Skripte nach dem Booten automatisch gestartet werden.

PiUSV

Da die PiUSV sich nur auf die alten Raspi-Modelle A und B stecken lässt, wird sie nicht mehr produziert und in vielen Online-Shops für unter 20 Euro abverkauft. Sie erledigt ihren primären Job als USV prima. Vor dem Aufstecken sollte man 6 AA-Batterien in den mitgelieferten Batteriepack verfrachten und den Pack an den beiden Klemmen auf der Unterseite der Platine anschließen. Nun kann man die PiUSV auf den Raspi setzen und erst dann steckt man das Micro-USB-Kabel, mit dem man den Raspi normalerweise versorgt, in die Buchse auf der PiUSV. Die Software liegt als Quelltext und als Debian-Paket vor, das man unter Raspbian einfach installiert – der piusvd startet dann auch automatisch.

Das Logfile ist ausführlich und man kann eigene Skripte mit den einzelnen Ereignissen wie „Primärspannung weg“ und „Batterie bald leer“ verknüpfen. Letzteres ist wichtig, denn mit der Batterieladung geht der ineffiziente Spannungsregler auf der Platine nicht gerade sparsam um: Auch wenn die Primärspannung steht, zieht die Platine fast 4 Milliampere aus dem Batteriepack, der demzufolge bald leer ist, obwohl er nichts zu tun hatte. Ab knapp unter 8 Volt steht im Logfile „BAT LOW“; unter 7,5 Volt gibt es keine Notversorgung mehr. Für Langzeitanwendungen scheidet die PiUSV also aus. Wer die Absicherung nur gelegentlich für ein paar Stunden braucht, findet hier die günstigste Lösung.

PiUSV+

Die PiUSV+ für die neueren Raspi-Modelle mit der langen Pfostenleiste ist ein komplettes Neudesign, das mit Lithium-Ionen-Akkus mit 3,7 Volt Nennspannung statt mit Batterien arbeitet. Der Akku muss einen Entladestrom von 3 Ampere liefern können. Falls es nötig ist, wird der Akku mit 100 mA geladen. Die Primärspannung darf auch über den üblichen 5 Volt aus dem Micro-USB-Kabel liegen: Ein zusätzlicher Eingang kommt mit 5 bis 25 Volt klar. Ein Jumper bestimmt die Funktion des kleinen Tasters zwischen den Anschlüssen: Ist der Jumper gesteckt, fährt der Raspi erst bei Druck auf den Taster hoch. Ohne Jumper startet der Raspi, sobald die Primärversorgung steht, und ein Druck auf den Taster fährt den Raspi herunter. Das Logfile verrät dem Admin alles, was er wissen will, inklusive Akku-Spannung und aktueller Stromaufnahme des Raspi. Seit der Version 0.9 der mitgelieferten Software schaltet sich die Platine auch ab, wenn man den Raspi von Hand herunterfährt. Die Klemmen für die Anschlussleitungen treffen nicht meinen Geschmack, aber das Gesamtpaket stimmt. Hersteller CW2 bietet für 5 Euro auch einen Adapter an, mit dem man die PiUSV+ auf alte Raspis stecken kann.

StromPI

Die USV-Funktion ist beim StromPI ein Abfallprodukt. Die Design-Ziele dieser Platine waren vielmehr die Möglichkeit, den Raspi mit mehr als 5 Volt zu betreiben und ihm außerdem USB-Ports zu spendieren, die bis zu 2 Ampere liefern. Dazu hat die Platine ein Paar Klemmen, die man mit 6 bis 36 Volt speisen darf – ausdrücklich auch aus dem KFZ-Bordnetz. Die USV funktioniert mit Akkus und Batterien, die mehr als 6 Volt Spannung liefern, absolut unauffällig. Das ist in diesem Fall aber nicht nur positiv gemeint. Zwei LEDs auf der Platine signalisieren zwar, welche Spannungsquelle gerade benutzt wird. Die Software, die der Hersteller zum Download anbietet, ist jedoch sehr rudimentär: Zunächst verbindet man einen Pin auf der StromPI-Platine mit einem beliebigen GPIO-Pin des Raspi. Dann trägt man die Nummer des Pins in die Python-Skripte ein. Startet man nun poweralarm.py oder powershutdown.py, verschicken diese beim Umschalten auf Notstrom eine Mail beziehungsweise fahren den Raspi herunter – das wars. Die Platine schaltet sich nicht ab, wenn man den Raspi von Hand herunterfährt. Es gibt keinen Daemon, der beim Booten automatisch startet, und ein Logfile ist auch nicht vorgesehen. Ebenso wenig erfährt der Admin, wenn der Akku bald leer ist. Wer StromPI als USV nutzen will, sollte also darauf eingestellt sein, sich die Überwachungssoftware selbst zu schreiben. Die Spannung, die der Akku noch liefert, wird man auch dann nicht erfahren. Immerhin kann man nur bei StromPI einen beliebigen GPIO-Port benutzen und man hat überhaupt die Möglichkeit, den Status der Stromversorgung selbst abzufragen – das geht bei den PiUSVs nur über den Umweg des Logfiles. Als reine USV-Lösung drängt sich StromPI dennoch nicht auf. Aber nur hier gibt es eine USB-A-Buchse, die 5 Volt bereitstellt. Man kann mit StrompPI also beliebige 5-Volt-Verbraucher vor Spannungseinbrüchen schützen und mit mehr Leistung versorgen, als normale USB-Netzteile liefern.

UPS PIco

Diese kleine Platine kann laut Datenblatt alles außer Kaffee kochen. Sie dient als USV, wobei sie wie die PiUSV 3,7-Volt-Li-Ion-Akkus nutzt, die hier mit gut 200 mA geladen werden. Ein Exemplar mit 300 mAh Kapazität gehört zum Lieferumfang – das reicht für den geordneten Rückzug. Einen 3000-mAh-Brocken für einige Stunden Notversorgung kann man für 18 Euro bestellen. Auf der Unterseite der Platine kann man einen 10 Euro teuren Lüfter anschließen, der direkt auf das Broadcom-SoC des Raspi pustet und via GPIO gesteuert wird – für Übertakter sicher eine interessante Möglichkeit. Diverse LEDs zeigen an, in welchem Zustand sich die Platine gerade wähnt. Eine (emulierte) Echtzeituhr stellt sie dem Raspi ebenso zur Verfügung. Und dann sind da noch ein Piezo-Pieper, je zwei frei programmierbare Taster und LEDs, ein Temperatursensor, Lötpunkte für einen auf GPIO-Pin 18 abzufragenden Infrarot-Empfänger und weitere Lötpunkte für zwei 10-Bit-A/D-Wandler, einen 1-Wire-Port und einen 3,3-Volt-Ausgang. Noch ein nettes Extra: Im Akkubetrieb kann UPS PIco den Raspi zeitgesteuert ein- und ausschalten, falls er zum Beispiel nur einmal pro Stunde irgendwelche Sensoren abfragen soll. Ebenso ungewöhnlich: Die Primärversorgung verbleibt am Raspi, statt an die USV-Platine gestöpselt zu werden. Als einziger Testkandidat kann man der UPS PIco auch Firmware-Updates verpassen.

Wenn man dann genauer hinsieht, stellt man fest, dass leider noch nicht alle Gimmicks fertig sind. Sehr viel ist zu Fuß auf der Kommandozeile oder über die serielle Schnittstelle zu erledigen. Fertige Software gibt es nur zum Firmware-Upload, dazu ein paar Zeilen beispielhaften Python-Code. Wer sich richtig reinkniet, bekommt ein sehr vielseitiges Werkzeug in die Hand. Eine fertige USV-Lösung ist UPS PIco aber nicht.

Fazit

Die alte PiUSV sollte man wegen ihres großzügigen Batterieverbrauchs nur für kurze Einsätze ins Auge fassen – oder Akkus benutzen und regelmäßig austauschen, wenn es mal wieder heißt „BAT LOW“. An der neuen PiUSV+ gibt es dagegen wenig auszusetzen. Sie erledigt ihren Job gut, lädt große wie kleine Akkus und bringt ziemlich ausgereifte Software mit. Nur an sie kann man sowohl einen Pufferakku als auch eine alternative Primärversorgung anschließen. StromPI ist als reine USV keine Traumbesetzung, weil sie zwar Akkus benutzen, aber nicht aufladen kann. Am Heimserver mit externen Festplatten könnte jedoch die zusätzliche Leistung an den USB-Buchsen des Raspi wertvoll sein. Der Exot UPS PIco lässt schließlich mit den vielen Extras und der Update-Fähigkeit Bastlerherzen höher schlagen. Wenn man weder eine Spannungsversorgung über 5 Volt noch mehr Leistung an den USB-Ports braucht und außerdem bereit ist, für eine gute USV-Funktionalität selbst zu programmieren, bekommt man hier am meisten fürs Geld – bloß kein Plug-and-Play. (it@ct.de)

Artikel kostenlos herunterladen

Kommentare

Anzeige