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
/ac/
durch /usb/
. Gleiches gilt für die Strom-MessungStromverbrauch
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