Einmal angelegt, aggregiert die RRD Daten auf der Zeitachse: Das Projekt hält beispielsweise Sekundendaten für eine Stunde vor, was 3600 Datenslots entspricht. Für zusammengefasste Minutenwerte reserviert die RRD Slots für einen ganzen Tag (also 24 mal 60 Werte), Stundenwerte speichert die Datenbank einen Monat lang, Tageswerte für zwölf Monate. Die Gesamtgröße der Datenbankdatei liegt also beim Erstellen fest und ändert sich nicht mehr. Der Informationsverlust durch die Aggregation stellt kein Problem dar: Je weiter man in die Vergangenheit blickt, umso weniger interessieren Details.
Einen Fallstrick gibt es im RasPi-Umfeld allerdings bei den mit den RRD-Tools erstellten Datenbanken: Sie sind architekturabhängig und lassen sich entsprechend nur auf 32-Bit-Plattformen wie dem RasPi öffnen, nicht jedoch auf 64-Bit-Plattformen. Aus diesem Grund erledigt die Messsoftware auf dem RasPi sowohl das Aufzeichnen als auch das Auswerten.
Erste Messung
Im Prinzip gibt es drei Möglichkeiten, eine Messung anzustoßen: über die Kommandozeile, per Taster oder per Webinterface. Die beiden letzten Methoden greifen intern auch auf das Kommandozeilenprogramm vameter.py zu, weshalb wir kurz einen Blick darauf werfen.
Listing 3 zeigt einige Möglichkeiten des Programms. Wie üblich erhalten Sie eine Kurzhilfe mit dem Parameter -h (Zeile 1). Die zweite Zeile startet eine Aufzeichnung und speichert die gewonnenen Daten in der Datei meinpi.rrd. Sie beenden die Aufzeichnung mittels [Strg]+[C]. Die dritte Zeile wertet die Daten aus und erstellt mit der Option -g IUP drei Grafiken für den Stromverbrauch, die Spannung und die aufgenommene Leistung.
Listing 3
$ vameter.py -h $ vameter.py meinpi.rrd $ vameter.py -g IUP meinpi.rrd $ vameter.py -p meinpi.rrd $ vameter.py -S meinpi.rrd
Die Zeilen 2 und 3 des Listings muss man nicht hintereinander ausführen; es genügt Zeile 3 mit der zusätzlichen Option -r (bei der zweiten Zeile optional). Die vierte Zeile gibt die gespeicherten Daten in Textform aus, die letzte liefert eine Zusammenfassung der Ergebnisse.
Die Messung auf der Kommandozeile zu starten und zu stoppen gestaltet sich nicht sehr anwenderfreundlich, denn dafür müssen Sie sich jedes Mal per SSH auf dem Rechner anmelden. Einfacher geht es per Taster oder Webinterface.
Alternativen
Für die einfache Bedienung des Messmoduls verwenden wir einen Taster. Ein kleines Programm überwacht dabei den Pin GPIO23 und startet dann das oben beschriebene Messprogramm. Da die Details dazu den Umfang des Artikels sprengen würden, sei hier auf das Github-Projekt des Autors verwiesen, das sich softwareseitig um die Details kümmert.
Die per Taster gestarteten Messungen generieren einen Dateinamen aus dem Zeitstempel und legen die Daten im Verzeichnis /var/lib/vameter/data/ ab. Hier kommt dann das Webinterface für die Visualisierung und das Herunterladen der Werte ins Spiel.
Das Installationsprogramm richtet auf dem Mess-Pi einen kleinen Webserver ein, der auf Port 8026 lauscht. Rufen Sie die Homepage über einen beliebigen Webbrowser auf, sehen Sie die vorhandenen Messungen im erwähnten Verzeichnis (Abbildung 10). Die zweigeteilte Darstellung zeigt oben eine Liste der Messungen inklusive ein paar wichtiger Kennzahlen, unten verschiedene Reiter für Stromverbrauch, Spannung und Leistungsaufnahme.
Über den Startknopf im Webinterface stoßen Sie eine Messung an oder beenden sie wieder. Das gelingt sogar im Remote-Betrieb. Die Daten landen dabei wieder im selben Verzeichnis wie die per Taster gestarteten Messungen. Als weitere Möglichkeiten stehen das Löschen von Messungen (ohne Rückfrage) und das Herunterladen der Daten zur Auswahl. Wie oben beschrieben fallen die Rohdaten architekturabhängig aus, weswegen der Schalter Download eine XML-Datei erzeugt. Die müssen Sie dann lokal mit dem Befehl aus Listing 4 wieder ins RRD-Format umwandeln.
Listing 4
$ rrdtool restore meinpi.xml > meinpi.rrd
Fazit
Das RasPi-basierte Messmodul misst und visualisiert den Stromverbrauch über die Zeit und beantwortet so ein paar interessante Fragen – etwa wie lange es dauert, bis das System nach dem Boot zur Ruhe kommt, oder wie es auf Netzwerktransfers oder andere Belastungen reagiert. Besonders nützlich ist das beim Vergleich von verschiedenen Mini-Rechnern und beim Optimieren von Systemen für spezielle Einsatzzwecke (etwa einen Batteriebetrieb).






