Aktionen

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



1 Betriebstemperatur auslesen

1.1 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



1.2 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




2 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+




3 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




4 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




5 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


6 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




7 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




8 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