Temperatur / Spannung etc. des Raspberry Pi selbst auslesen
Aus znilwiki
Na klar, auch meinen Raspberry Pi möchte ich mit Zabbix überwachen. Nachfolgend eine Sammlung dazu passender Befehle für das Auslesen verschiedener Betriebsparameter.
Das findet man eigentlich alles hier: http://elinux.org/RPI_vcgencmd_usage
Ich habe die Ausgabe ggf. nur angepasst an meine Bedürfnisse
Betriebstemperatur auslesen
Betriebstemperatur Variante 1 (Bevorzugt)
Um einen numerischen Wert für Zabbix zu erhalten nehmen wir
cat /sys/class/thermal/thermal_zone*/temp
Beispielrückgabe:
51920
Das sind 1/1000 Grad, wenn wir die Zahl also durch 1.000 teilen haben wir die Temperatur in Grad - hier 51,9°C
Betriebstemperatur Variante 2
Wenn wir direkt einen Wert in Grad-Celsius haben wollen:
/opt/vc/bin/vcgencmd measure_temp | tr -d "temp=" | tr -d "'C"
Beispielrückgabe:
51.9
Lassen wir den tr Teil weg:
/opt/vc/bin/vcgencmd measure_temp
so bekommen wir als Rückgabe
temp=51.9'C
Betriebssystem-Version auslesen
Das geht mit
cat /proc/version
Beispielausgabe
Linux version 3.6.11+ (dc4@dc4-arm-01) (gcc version 4.7.2 20120731 (prerelease) (crosstool-NG linaro-1.13.1+bzr2458 - Linaro GCC 2012.08) ) #538 PREEMPT Fri Aug 30 20:42:08 BST 2013
Nur die Linux-Version:
cat /proc/version |cut -d " " -f 3
Beispielausgabe
3.6.11+
Board-Version auslesen
Alle Infos bekommen wir mit
cat /proc/cpuinfo
Beispielausgabe:
Processor : ARMv6-compatible processor rev 7 (v6l) BogoMIPS : 697.95 Features : swp half thumb fastmult vfp edsp java tls CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xb76 CPU revision : 7 Hardware : BCM2708 Revision : 000e Serial : 00000000208012b2
Wenn wir nur die Hardware-Version wollen:
cat /proc/cpuinfo | grep Hardware | tr -d " " | cut -d ":" -f 2
Beispielausgabe:
BCM2708
für die Revision:
cat /proc/cpuinfo | grep Revision | tr -d " " | cut -d ":" -f 2
Beipspielausgabe:
000e
und noch die Seriennummer:
cat /proc/cpuinfo | grep Serial | tr -d " " | cut -d ":" -f 2
Beispielausgabe:
00000000208012b2
CPU Spannung auslesen
Die Spannung bekommen wir mit
/opt/vc/bin/vcgencmd measure_volts
Beispielausgabe
volt=1.20V
Die reine Spannungsangabe bekommen wir z.B. mit
/opt/vc/bin/vcgencmd measure_volts | tr -d "volt=" | tr -d "V"
Beispielausgabe
1.20
CPU Takt auslesen
Den CPU Takt in Hz (!!!) gibt es mit
/opt/vc/bin/vcgencmd measure_clock arm
Beispielausgabe
frequency(45)=700074000
Die reine CPU Hz Zahl:
/opt/vc/bin/vcgencmd measure_clock arm | tr -d "frequency(45)="
Beipspielausgabe
700000000
Ja ich habe auch gestaunt, der gibt mal krumme und mal glatte Werte zurück
Firmwareversion auslesen
Geht mit
vcgencmd version
Beispielausgabe:
Sep 1 2013 23:31:02 Copyright (c) 2012 Broadcom version 4f9d19896166f46a3255801bc1834561bf092732 (clean) (release)
Die nackte Versionsnummer gibt es mit
vcgencmd version | grep version | cut -d " " -f 2
Beispielausgabe
4f9d19896166f46a3255801bc1834561bf092732
Grafikspeicher / CPU-Speicher auslesen
Den CPU Anteil gibt es mit
vcgencmd get_mem arm
Beispielausgabe:
arm=448M
Die nackte Zahl gibt es mit
vcgencmd get_mem arm | tr -d "arm=" | tr -d "M"
Beipspielausgabe:
448
Den Grafikspeicher gibt es mit
vcgencmd get_mem gpu
Beispielausgabe:
gpu=64M
Gefiltert:
vcgencmd get_mem gpu | tr -d "gpu=" | tr -d "M"
Beispielausgabe:
64
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