Himbeer -PI -Temperaturmonitor

Himbeer -PI -Temperaturmonitor
Raspberry Pi ist ein leistungsstarker Single Board -Computer (SBC). Es kann verwendet werden, um viele anspruchsvolle Aufgaben zu erledigen. Dies erhöht jedoch die Temperatur des Prozessors von Himbeer -PI -Geräten. Welches ist nicht gut. Die Leistung des Raspberry Pi SBC leiden unter der Temperatur. Dies ist auch als thermisches Droseln bekannt.

Wenn die Temperatur des Prozessors Ihres Himbeer -PI über 80 Grad Celsius liegt, sehen Sie ein Thermometer -Symbol in der oberen rechten Ecke des Bildschirms. Offiziell empfiehlt die Raspberry Pi Foundation, dass die Temperatur Ihres Raspberry PI -Geräts unter 85 Grad Celsius sein sollte, damit es richtig funktioniert. Das ist die maximale Grenze. Aber es würde mit 82 Grad Celsius drosseln.

In diesem Artikel werde ich Ihnen zeigen, wie Sie die Temperatur Ihres Raspberry Pi überwachen können. Ich werde das Raspbian -Betriebssystem auf meinem Raspberry Pi 3 Model B -Gerät verwenden. Es sollte jedoch auf jedem Himbeer -Pi -SBC mit installiertem Raspbian -Betriebssystem funktionieren.

Messung der Temperatur von Raspberry PI SBC:

Sie können die Kerntemperatur Ihres Raspberry PI -Geräts mit dem folgenden Befehl messen:

$ vcgencmd mess_temp

Die Stromkerntemperatur beträgt 48.3 Grad Celsius, wie Sie im markierten Abschnitt des Screenshot unten sehen können.

Wie Sie sehen können, zeigt der Befehl jedes Mal, wenn ich ausführe.

Analyse der Temperaturdaten:

Die Temperaturdaten, die wir von der erhalten vcgencmd Befehl ist eine Zeichenfolge. Sie können keine Berechnung darauf ausführen. Wir können problemlos den regulären Ausdruck verwenden, um nur die Temperaturdaten zu extrahieren und jede Art von Berechnung durchzuführen.

Wenn Sie die Temperaturdaten in einem Bash -Shell -Skript verwenden möchten, können Sie die Temperaturdaten mit extrahieren Egrep Befehl wie folgt:

$ vcgencmd mess_temp | eGrep -o '[0-9]*\.[0-9]*'

Wie Sie sehen können, werden nur die Temperaturdaten gedruckt. Es gibt nichts vorher oder danach.

Sie können es in Ihrem Shell -Skript verwenden (sagen wir, sagen wir print_temp.Sch) folgendermaßen:

$ nano print_temp.Sch

Hier in Zeile 3 setze ich das ein Temperatur Variable zu den analysierten Temperaturdaten, die ich aus dem bekomme vcgencmd Und Grep Befehl.

In Zeile 5 habe ich benutzt Echo Um den Inhalt der zu drucken Temperatur Variable auf dem Bildschirm.

Zeile 1 wird verwendet, um Linux zu sagen, dass das Skript ausgeführt werden sollte /Bin/Bash standardmäßig.

Machen Sie nun das Skript mit dem folgenden Befehl ausführbar:

$ chmod +x print_temp.Sch

Führen Sie nun das Skript wie folgt aus:

$ ./print_temp.Sch

Wie Sie sehen können, wird die gewünschte Ausgabe auf dem Bildschirm gedruckt.

Schreiben eines Raspberry PI -Temperaturüberwachungsskripts:

Jetzt können wir die Temperaturdaten analysieren, die wir von der erhalten vcgencmd Befehl können wir leicht ein Temperaturüberwachungsskript für Raspberry Pi schreiben. Das Temperaturüberwachungsskript druckt die aktuelle Zeitstempel- und Kerntemperatur jede Sekunde auf dem Bildschirm auf schön formatierte Weise.

Erstellen Sie zunächst ein neues Skript Tempmon.Sch mit dem folgenden Befehl:

$ touch tempmon.Sch

Bearbeiten Sie nun die Tempmon.Sch Skript mit dem folgenden Befehl:

$ nano tempmon.Sch

Geben Sie nun die folgenden Codes -Zeilen ein und speichern Sie die Datei mit + X und dann drücken Sie y gefolgt von .

Hier in Zeile 4, printf wird verwendet, um die Strings Timestempel und Temp (DEGC) als Spalte feste Breite zu drucken.

In Zeile 5 habe ich benutzt printf Noch einmal eine gestrichelte Linie drucken, um die Ausgabe lesbarer und ansprechender zu gestalten.

In Zeile 7-13 habe ich eine unendliche Schleife durchgeführt, um die Temperaturdaten jede Sekunde zu drucken.

In Zeile 9 habe ich die analysierten Temperaturdaten auf dem gespeichert Temperatur Variable.

In Zeile 10 habe ich die Zeitstempeldaten gespeichert, die ich von der bekommen habe Datum Befehl auf der Zeitstempel Variable.

In Zeile 11 habe ich das Datum und die Uhrzeit im Zeitstempelformat und die Temperaturdaten im Spaltenformat fester Breite gedruckt.

In Zeile 12 habe ich den Befehl Sleep 1 verwendet, um die Ausführung des Skripts für eine Sekunde zu halten. Danach wird die Schleife fortgesetzt.

Machen Sie jetzt das Skript Tempmon.Sch Ausführbare Datei mit dem folgenden Befehl:

$ chmod +x tempmon.Sch

Schließlich führen Sie das Skript aus Tempmon.Sch mit dem folgenden Befehl:

$ ./tempmon.Sch

Wie Sie sehen können, funktioniert das Skript des Temperaturmonitors perfekt. Es druckt jede Sekunde die Temperaturdaten.

Wie Sie sehen können, stieg die Temperatur bei der Erhöhung der Systemlast leicht an.

Wenn Sie das Skript zur Temperaturüberwachung stoppen möchten, drücken Sie + C. Die Temperaturüberwachung läuft nicht mehr, wie Sie im folgenden Screenshot sehen können.

Nachdem das Skript zur Temperaturüberwachung funktioniert, kopieren wir es darauf /usr/Bin Verzeichnis. Auf diese Weise können Sie es wie alle anderen Linux -Befehle ausführen.

Das Skript kopieren Tempmon.Sch zum /usr/Bin Verzeichnis, führen Sie den folgenden Befehl aus:

$ sudo cp tempmon.sh/usr/bin/tempmon

Wie Sie sehen können, kann ich das Skript zur Temperaturüberwachung ausführen, so wie ich Standard -Linux -Befehle ausführe.

Modifizierung Tempmon zum Drucktemperaturdaten in Fahrenheit:

Sie können die Temperaturdaten leicht von Celsius in Fahrenheit umwandeln.

Die weithin bekannte Formel zur Berechnung der Temperaturen in Fahrenheit von Celsius ist,

F = (9/5)* c + 32
Oder
F = 1.8 * C + 32

Das Problem ist jedoch, dass Bash Shell keine notwendigen Funktionen zur Durchführung von schwimmenden Punktberechnungen hat. Sie müssen sich also auf einige andere Programme verlassen, z. B BC.

BC ist standardmäßig nicht auf Raspbian installiert. Sie können es jedoch einfach mit dem folgenden Befehl installieren:

$ sudo apt installieren bc

BC sollte installiert werden.

Jetzt müssen Sie das Skript zur Temperaturüberwachung ändern und die erforderlichen Berechnungen durchführen, um die Temperatur von Celsius mit Fahrenheit umzuwandeln BC.

Bearbeiten die Tempmon.Sch Skript mit dem folgenden Befehl:

$ nano tempmon.Sch

Nehmen Sie nun die Modifikationen vor, die im Screenshot unten markiert sind.

Hier, in Zeile 4, habe ich gedruckt Temperatur (f) anstatt Temperatur (Degc).

In Zeile 9 habe ich die Variable aus geändert Temperatur Zu tempc.

In Zeile 10 fügte ich das Ergebnis des Celsius zur Fahrenheit -Umwandlung in eine Variable hinzu tempf.

Schließlich habe ich den Wert von gedruckt tempf Variable statt von Temperatur in Zeile 12.

Führen Sie nun das Skript wie folgt aus:

$ ./tempmon

Wie Sie sehen können, wird die Temperatur in Fahrenheit -Einheit gedruckt.

So überwachen Sie die Temperatur im Himbeer -Pi. Danke, dass du diesen Artikel gelesen hast.