Raspberry Pi Betriebstemperatur ermitteln

Der Raspberry Pi bietet über seine Firmware einige Kommandos an die sehr nützlich sind um den Zustand der Hardware Komponenten des mini Computers zu erfahren. Eine dieser Kommandos ist dafür da um die aktuelle Temperatur an der Messstelle am Board auszulesen. Das hört sich kompliziert an, ist aber sehr einfach!

Raspberry Pi Betriebstemperatur ermitteln

Der Raspberry Pi hat eingebaute Sensoren um die Betriebstemperatur zu ermitteln. Das ist nichts ungewöhnliches, jedes Motherboard hat für gewöhnlich einen solchen Temperatursensor um die Temperatur der CPU zu überwachen. Bei einer drohenden Überhitzung muss diese zurück getaktet oder gleich ausgeschaltet werden um physische Schäden zu verhindern. Die Raspberry Pi Betriebstemperatur ist einfach zu ermitteln.

Raspberry Pi Betriebstemperatur

vcgencmd

Das Programm vcgencmd liefert und bei angabe der richtigen Parameter interessante Informationen über das System. Eine Übersicht über den gesamten Funktionsumfang erhält man durch:

Dieser Parameter liefert eine Liste mit allen möglichen Parametern. Einige davon sind sehr hilfreich.

Temperatur auslesen

Die aktuelle Raspberry Pi Betriebstemperatur am Board kann man mit dem Parameter measure_temp ausgelesen werden:

Das liefert die aktuelle Temperatur in Grad Celsius. Die Ausgabe dafür ist etwas dürftig. Außerdem will ich die Temperatur auch in Fahrenheit angeben, also verwende ich zur Ausgabe der Temperatur folgendes Skript:

Der Aufruf und die Ausgabe des Skripts schaut dann beispielsweise so aus:

Taktfrequenz abfragen

Mit dem Parameter measure_clock und den Namen der Komponente kann die aktuelle Taktfrequenz abgefragt werden. Es gibt dabei zahlreiche Möglichkeiten eine gesamte Liste kann man Vcgencmd Informationen finden. Die Angabe der Komponente arm liefert zum Beispiel die gesamte Taktfrequenz der CPU:

Bei mir liefert das Kommando den Standardwert von 700 Millionen Hertz oder umgerechnet die 700 MHz des Prozessors.

Spannung abfragen

Zuletzt stelle ich noch den measure_volts Parameter vor. Auch hier muss man zusätzlich noch den Namen der abzufragenden Komponente angeben. Hier gibt es 4 Möglichkeiten. Das sind core (Standard), sdram_c, sdram_i, sdram_p:

Somit können wir zur Laufzeit Informationen abfragen. Die Idee wäre nun, diese Informationen über ein Skript regelmäßig abzufragen und die Werte in einer Datenbank mitzuspeichern.

(Visited 3.362 times, 1 visits today)

Das könnte auch interessant sein...

9 Antworten

  1. spiral023 sagt:

    Hi!

    Danke für deine Tipps. Habe erst seit 2 Tagen einen Raspberry und bin noch viel am probieren. Habe mittels Raspcontrol die Temperatur am Web-Interface, bei mir zeigts aktuell 62° C an.
    Was würdest du sagen bis zu welcher Temperatur der Raspi problem- & gefahrlos läuft?

    Lg, spiral023

    • Hallo!
      Im Prinzip sollte sich der Raspberry Pi ausschalten, sobald du über 85° C kommst. Das wurde mit einer neueren Firmware eingeführt (Herbst 2012?). Es gilt: je höher die Temperatur, desto größer die Wahrscheinlichkeit eines technischen Defekts. Da der Pi keinen aktiven Kühler besitzt dauert auch das Abkühlen lang…Du könntest ja mal versuchen deinen Pi unter Volllast zu setzen und dann die Temperatur ohne und mit Gehäuse messen (falls du eines hast). Habs noch nicht getestet, sollte aber einen Unterschied machen. Bin mir sicher mit Gehäuse ist die Gefahr eines Wärmestaus größer und der Pi hat eine höhere Temperatur.
      lg

    • danke übrigens für die Info zu Raspcontrol. Das kannte ich noch nicht 😉

  2. chrisp sagt:

    >Somit können wir zur Laufzeit Informationen abfragen. Die Idee wäre nun, diese Informationen >über ein Skript regelmäßig abzufragen und die Werte in einer Datenbank mitzuspeichern.

    Ich benutze munin für diesen Zweck klappt sehr gut.
    http://munin-monitoring.org/

  3. Norbert sagt:

    Hallo,
    ich habe eine Frage zu dem „bc“.
    Mein Paspberry Pi B+ gibt dazu folgendes aus:

    pi@raspberrypi ~ $ sh .get_t*
    .get_temperature.sh: 4: .get_temperature.sh: bc: not found
    temp = 42.2°C (°F)

    … wie kann ich den bc im i nutzen? Was habe ich vegessen?

    btw. ich habe noch folgende Lösungen per awk gefunden:
    awk ‚{printf(„%.1f\n“,$1/1e3)}‘ /sys/class/thermal/thermal_zone0/temp

    awk ‚{printf(„%.1f °F\n“,$1*1.8/1e3)}‘ /sys/class/thermal/thermal_zone0/temp

    danke für einen Tipp

  4. Norbert sagt:

    Danke, schon geht es.
    Auf die Idee mit dem „einfach installieren“ bin ich nicht gekommen. Bitte entschuldige die Frage 😉

  5. Peter sagt:

    Super genial funktionierte auf anhieb.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.