Wie lange läuft mein Raspberry Pi oder mein SBC mit Akku?
Das ist natürlich eine unglaublich blöde Frage. Das hängt von so vielen Faktoren ab. Es kommt natürlich auf das Raspberry Pi an. Das A+ braucht wesentlich weniger Strom als ein RasPi 3. Andere SBC (Single Board Computer) benötigen wieder andere Mengen an Saft. Sicherlich spielt auch das eingesetzte Betriebssystem eine Rolle. Sehr entscheidend ist logischerweise, wie stark der Akku ist und wahrscheinlich auch wie alt. Dann kommt es noch darauf an, was das Raspberry Pi oder der SBC erledigen soll. Dümpelt das Gerät im Leerlauf vor sich hin, dann ist der Stromverbrauch geringer als bei voller Last.
Der Pragmatische Ansatz
Warum ich das überhaupt wissen will? Das ist eigentlich auch eine dämliche Frage, denn es gibt viele Einsatzzwecke. Ich persönlich will eine Wildkamera oder eine Fotofalle (WildCam) basteln und damit einen Wüstenfuchs vor die Linse bekommen. Deswegen setze ich mein Szenario erst komplett auf und werde dann den Stromverbrauch messen. Mein Akku ist mit 5000 mAh angegeben, ich verwende ein Raspberry Pi A+ und ein NoIR-Kameramodul.
Nun könnte ich den Taschenrechner auspacken und in bester Sheldon-Cooper-Manier an einem Whiteboard total komplexe Rechnungen mit theoretischen Werten aufstellen. Die Alternative ist ein sehr pragmatischer Ansatz.
Was ich mache ist folgendes. Ich lasse das Raspberry Pi hochfahren und dann startet ein Script automatisch. Das Programm legt im Abstand von fünf Sekunden zwei Dateien an. Die Dateinamen sind Zeitstempel.
Dann lasse ich abwechselnd alle fünf Sekunden in die beiden Dateien ebenfalls die aktuelle Zeit schreiben. Doppel mache ich das deswegen, sollte beim Schreiben in eine Datei der Akku nachgeben, dann kann die Datei kaputt gehen. Ich habe also ein Backup und muss wirklich nicht auf die Millisekunde wissen, wie lange das Pi läuft.
Das Script für den indirekten Test mit dem Akku
Hinweis: Ich habe das auf einem aktuellen und voll aktualisierten Raspbian (basierend auf Debian GNU/Linux 8 Jessie) durchgeführt. Mit anderen Linux-Distributionen funktioniert das sicherlich auch und sehr ähnlich. Ich wollte nur darauf hingewiesen haben.
Klar wäre es möglich, das Script komplexer zu machen und die Zeitstempel voneinander abzuziehen. Dann bekäme ich als Ergebnis gleich Sekunden und was weiß ich noch alles. Brauche ich nicht – ich gehe wieder pragmatisch an die Sache heran. Nachfolgend findest Du ein Beispiel, was ich damit meine. Die Datei wurde um 12 Uhr 16 Minuten und 5 Sekunden angelegt (oben) und der Inhalt sagt 12 Uhr 38 Minuten und 31 Sekunden. So viel rechnen kann ich im Kopf dann auch noch.
Mein sehr einfaches Bash-Script sieht so aus:
#!/bin/bash
FILE_DIR="/home/pi"
TIMESTAMP=$(date +%Y-%m-%d:%H-%M-%S)
/bin/sleep 5
TIMESTAMP2=$(date +%Y-%m-%d:%H-%M-%S)
i=0
while true; do
if [ $i = 0 ]; then
/bin/echo $(date +%Y-%m-%d:%H-%M-%S) > $FILE_DIR/$TIMESTAMP
i=1
/bin/sleep 5
fi
if [ $i = 1 ]; then
/bin/echo $(date +%Y-%m-%d:%H-%M-%S) > $FILE_DIR/$TIMESTAMP2
i=0
/bin/sleep 5
fi
done
In schön sieht das Script so aus:
Hinweis: Mit uptime
würde es natürlich auch funktionieren. Da bekäme ich Tage, Stunden und Minuten gleich ausgerechnet. Kommt unterm Strich auf das Gleiche raus.
Damit es automatisch startet, schreibe ich es in eine Datei (meine heißt count-time.sh) und mache diese ausführbar: chmod +x count-time.sh
Die Zeitstempel als Dateinamen zu nehmen hat noch einen weiteren Vorteil. Sollte es zu einem Schluckauf kommen und das Pi würde sich neu starten, bekomme ich das ebenfalls mit.
Nun muss die Datei nur noch bei Start des Raspberry Pi automatisch gestartet werden. Dafür hilft die Daten /etc/rc.local. Vor dem exit 0 musst Du die Zeile einfügen: /pfad/zu/count-time.sh &
oder in meinem Fall /home/pi/count-time.sh &
Ein Benchmark für den Stromverbrauch mit Aussagekraft
Das war es schon. Nun kannst Du das Raspberry Pi an einen Akku hängen und einfach so lange laufen lassen, bis der Akku nachgibt. Dann untersuchst Du einfach die Dateien.
Nun weiß ich zwar nicht genau, wie viel Strom das Raspberry Pi oder der SBC verbraucht. Das ist aber auch nicht der Punkt. Mich interessiert viel mehr, wie lange mein Pi mit seiner bestimmten Aufgabe mit dem jeweiligen Akku auskommen kann. Das weiß ich nun und kann entsprechend planen. Anders gesagt habe ich einen Benchmark, mit dem ich auch etwas anfangen kann und nicht nur einen theoretischen Wert.
Den Test beobachten
Wer zum Testen sehen möchte, ob sich da tatsächlich etwas tut, der überwacht einfach mittels tail -f
die Datei – zumindest eine gewisse Zeit – das wird schnell langweilig 🙂
Wie lange hält denn Dein Akku nun?
Ich kann es ehrlich gesagt noch nicht genau sagen. Das System ist noch nicht so fertig, wie ich es möchte und der Akku lädt gerade. Aber dieser Schritt ist ein wichtiger Teil der Wildkamera. Unterm Strich hoffe ich, dass der Akku die ganze Nacht lang hält und sich dann tagsüber mittels Solar wieder aufladen lässt. Dazu aber später mehr.
Im Moment läuft das A+ und läuft und läuft … etwas über 30 Stunden …
Nette Pi-Konstellation
Suchst Du ein VPN für den Raspberry Pi? NordVPN* bietet einen Client, der mit Raspberry Pi OS (32-Bit / 64-Bit) und Ubuntu für Raspberry Pi (64-Bit) funktioniert.