Aktionen

Temperatur / Spannung etc. des Banana Pi selbst auslesen

Aus znilwiki

Nachdem ich nun auch einen Banana Pi besitze möchte ich diesen natürlich auch mit Zabbix überwachen.
Ich nutze den Banana Pi mit Raspian - damit ich mich nicht groß umgewöhnen musste.
Leider funktionieren die Aufrufe die ich auf dem Raspberry Pi genutzt haben größtenteils nicht auf einem Banana Pi mit Raspian. Und Dinge mit mit Bananian laufen würden funktionieren nicht mit dem Raspian Image. So hat der Banana Pi mit Bananian z.B. die Befehle soctemp und pmutemp eingebaut die in der Raspian Version fehlen.
Aber ich habe Alternativen gefunden.



Betriebstemperatur auslesen

Betriebstemperatur CPU

Um einen numerischen Wert für Zabbix zu erhalten nehmen wir

cat /sys/devices/platform/sunxi-i2c.0/i2c-0/0-0034/temp1_input

Beispielrückgabe:

50600

Das sind 1/1000 Grad, wenn wir die Zahl also durch 1.000 teilen haben wir die Temperatur in Grad - hier 50,6°C



Betriebssystem-Version auslesen

Das geht mit

cat /proc/version

Beispielausgabe

Linux version 3.4.103 (bananapi@lemaker) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #1 SMP PREEMPT Thu Dec 18 13:07:12 CST 2014

Nur die Linux-Version:

cat /proc/version |cut -d " " -f 3

Beispielausgabe

3.4.103




Board-Version auslesen

Alle Infos bekommen wir mit

cat /proc/cpuinfo

Beispielausgabe:

Processor       : ARMv7 Processor rev 4 (v7l)
processor       : 0
BogoMIPS        : 1431.55

processor       : 1
BogoMIPS        : 1436.46

Features        : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 4

Hardware        : sun7i
Revision        : 0000
Serial          : 04029614525448488048578316516601

Wenn wir nur die Hardware-Version wollen:

cat /proc/cpuinfo | grep Hardware | tr -d " " | cut -d ":" -f 2

Beispielausgabe:

sun7i

für die Revision:

cat /proc/cpuinfo | grep Revision | tr -d " " | cut -d ":" -f 2

Beipspielausgabe:

0000

und noch die Seriennummer:

cat /proc/cpuinfo | grep Serial | tr -d " " | cut -d ":" -f 2

Beispielausgabe:

04029614525448488048578316516601




Betriebsspannung auslesen

Die Spannung die vom Netzteil anliegt bekommen wir mit

cat /sys/devices/platform/sunxi-i2c.0/i2c-0/0-0034/axp20-supplyer.28/power_supply/ac/voltage_now

Beispielausgabe

5025000

Dem Wert müssen wir noch durch 1.000.000 Teilen, dann sind es

5,025 Volt



Important.png
Hinweis: Wenn Ihr den Banana Pi "inline" über den USB-Port mit Strom versorgt so ersetzt /ac/ durch /usb/. Gleiches gilt für die Strom-Messung

Stromverbrauch

Wie viel Strom der Banana Pi gerade zieht finden wir so heraus:

cat /sys/devices/platform/sunxi-i2c.0/i2c-0/0-0034/axp20-supplyer.28/power_supply/ac/current_now

Ausgabe:

429000

wenn wir diesen Wert durch 1.000 teilen bekommen wir den Wert in mA:

429 mA bzw. 0,429 A

An meinem Banana Pi hängt eine 1TB USB Festplatte, deshalb ist der Stromverbrauch bei mir höher

Wenn wir das mit der Spannung multiplizieren bekommen wir die Leistung/ Stromverbrauch:

5,025 Volt * 0,429 Ampere = 2,16 Watt

Wenn wir das ganze Mal 8760 Stunden nehmen (so viele haben 365 Tage) haben wir den - geschätzten - Jahresverbrauch:

18,922 kWh

Bei 26 Cent pro kWh (Stadtwerke Achim ab 01.01.2015) sind das

4,92 Euro pro Jahr

Nicht schlecht Herr Specht!
In der Praxis würde ich noch 10 bis 20% draufschlagen - immer noch gut!



CPU Takt auslesen

Den CPU Takt in KHz (!!!) gibt es mit (pro CPU Kern)

cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
cat /sys/devices/system/cpu/cpu1/cpufreq/cpuinfo_cur_freq

Beispielausgabe

720000

Ja ich habe auch gestaunt, ich dachte der läuft mit 1 GHZ ...
Also mal ein wenig CPU-last gemacht und noch einmal probiert:

912000

Der CPU-Takt kann sich je nach Last verändert. Das sehen wir auch an dieser Ausgabe:

 cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

ergibt:

ondemand

Was "nach Bedarf" bedeutet - die CPU taktet je nach Anforderung rauf oder runter - macht euer Mobiltelefon auch nicht anders.



Speicherplatz

Das geht wie unter Linux üblich mit df, hier gleich die einzelnen Werte.

Gesamter Speicherplatz SD-Karte in KByte:

df -P | grep rootfs | tr -s " " " " | cut -d " " -f 2

Beispielausgabe:

13867952


Belegter Speicherplatz SD-Karte in KByte:

df -P | grep rootfs | tr -s " " " " | cut -d " " -f 3

Beispielausgabe:

1873080


Belegter Speicherplatz SD-Karte in Prozent %:

df -P | grep rootfs | tr -s " " " " | cut -d " " -f 5

Beispielausgabe:

15%


Freier / Verfügbarer Speicherplatz SD-Karte in KByte:

df -P | grep rootfs | tr -s " " " " | cut -d " " -f 4

Beispielausgabe:

11290412