Durch Chipknappheit und gestörte Lieferketten ist der Raspberry Pi derzeit kaum zu bekommen oder unverschämt teuer. Unter Umständen kann es sinnvoller und günstiger zu sein, für dein Projekt einen echten Mini-PC wie den HP ProDesk 600* zu kaufen und dort ein Linux-Betriebssystem wie Ubuntu oder Debian zu installieren.
Bei dauerhafter Belastung konnten der Raspberry Pi schon immer ziemlich hohe Temperaturen erreichen. Dies tritt besonders in einem geschlossenen Gehäuse auf und hat sich mit dem Raspberry Pi 4 nochmal verstärkt. Dieser ist deutlich Leistungsstärker als seine Vorgänger, gibt aber auch deutlich mehr Wärme ab.
Damit die Hardware keine Schäden nimmt, drosselt der Raspberry Pi ab 70°C die Taktfrequenz. Steigt die Temperatur weiter, drosselt sich der Pi immer mehr. Um die volle Leistung zu erhalten, sollte man also dafür sorgen, dass die Temperatur des SoC nie 70°C erreicht.
CPU-Temperatur des Raspberry Pi auslesen
Raspbian bringt von Haus aus bereits ein Tool mit, mit welchem man die CPU-Temperatur des Raspberry Pi messen kann. Dieses Tool nennt sich „vcgencmd“ und kann neben der Temperatur noch viele weitere Daten des Systems auslesen. Eine vollständige Übersicht findet man unter https://github.com/nezticle/RaspberryPi-BuildRoot/wiki/VideoCore-Tools unter der Überschrift “vcgencmd Commands “.
Um sich die aktuelle CPU-Temperatur des Raspberry Pi anzeigen zu lassen, gibt man untenstehenden Befehl in das Terminal ein.Damit kann man die Raspberry Pi Temperatur auslesen.
vcgencmd measure_temp
Temperatur des Raspberry Pi regelmäßig auslesen und anzeigen
Oft läuft der Pi dauerhaft und verrichtet irgendwo seinen Dienst, z.B. als NAS. Dann möchte man vielleicht wissen, wie sich die Temperatur im Laufe des Tages und bei unterschiedlicher Benutzung entwickelt. Hierzu lohnt es sich, die Temperatur des Raspberry Pi über einen längeren Zeitraum zu messen und aufzuzeichnen.
Hierzu sind folgende zwei Befehle sinnvoll.
while endless=0; do echo `date +%T` Uhr: `vcgencmd measure_temp`; sleep 60; done
Es handelt sich hierbei um eine Schleife, die so lange ausgeführt wird, bis die (nicht existente) Bedingung endless=0 erfüllt ist. Da das nie der Fall sein wird, wird der Befehl so lange wiederholt, bis er manuell beendet wird.
Dieser Befehl liest die Temperatur einmal pro Minute aus und zeigt den Wert im Terminal an. Der Abstand zwischen den Messungen wird durch sleep 60 definiert, wobei 60 die Anzahl an Sekunden ist, die bis zur nächsten Messung gewartet wird. Dieser Wert kann beliebig angepasst werden.
Mit der Tastenkombination Strg+c kann man die Ausführung beenden. Alternativ kann man auch einfach das Terminalfenster schließen.
Temperatur des Raspberry Pi regelmäßig auslesen und in einer Textdatei speichern
Um den Temperaturverlauf über einen längeren Zeitraum aufzuzeichnen, kann man die Temperatur auch in eine Textdatei schreiben lassen, anstatt sie im Terminalfenster anzeigen zu lassen. Dies geschieht mit folgendem Befehl.
while endless=0; do echo `date +%T` Uhr: `vcgencmd measure_temp`; sleep 5; done >> ~/temperatur.txt
Damit wird im Benutzerordner die Datei temperatur.txt erstellt, in welche die Temperaturmessungen gespeichert werden. Das Terminalfenster zeigt zwar nichts an, darf aber nicht geschlossen werden. Sonst wird die Messung abgebrochen.
Auch hier kann man die Messung wieder mit der Tastenkombination Strg+c beenden, oder man schließt das Fenster.
Anzeige
20.000 mAh, USB-C und USB-A, Hohe Ladeleistung ermöglicht Laden von Notebooks
USB-C & USB-A, 65W Ladeleistung lädt Laptops & Handys, Power Delivery & Quick Charge
Moin,
Ich glaube im zweiten Abschnitt ist dir ein „strg+x“ anstatt eines „strg+c“ reingerutscht.
Hast mir trotzdem schnell geholfen.
Danke!
Gruß,
Malte
Richtig, Dankeschön. Ist korrigiert.
Das schreit ja geradezu nach einem cronjob bei minütlicher execution.
Muss man für Teil 2 & 3 noch irgendwas anderes installiert haben? Das einmalige Auslesen hat bei mir funktioniert, da bekomme ich eine Temperatur angezeigt. Aber sobald ich die Schleife ausführe wird immer nur „date +%T Uhr: vcgencmd measure_temp“ angezeigt…
Ah nevermind, ich habe einen Apostroph anstatt eines Akzentes eingefügt. Danke für die Anleitung!
auch Abbruch mit ctrl+c, aber hübscher auf cli
while true; do C=`vcgencmd measure_temp|sed „s/^.*=\(.*\)’C/\1/“`; echo -ne „\b\b\b\b$C“; sleep 2; done