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.
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:
vcgencmd commands
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:
vcgencmd measure_temp
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:
#!/bin/bash tm=`/opt/vc/bin/vcgencmd measure_temp` tc=`echo $tm| cut -d '=' -f2 | sed 's/..$//'` tf=$(echo "scale=2;((9/5) * $tc) + 32" |bc) echo temp = $tc\°C \($tf\°F\)
Der Aufruf und die Ausgabe des Skripts schaut dann beispielsweise so aus:
sh .get_temperature.sh temp = 49.8°C (121.64°F)
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:
vcgencmd measure_clock arm frequency(45)=700074000
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:
vcgencmd measure_volts core volt=1.20V
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.
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 😉
>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/
Super! Danke für den Link.
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
funktioniert „sudo apt-get install bc“ nicht?
Danke, schon geht es.
Auf die Idee mit dem „einfach installieren“ bin ich nicht gekommen. Bitte entschuldige die Frage 😉
Super genial funktionierte auf anhieb.