Sie können die CPU-Temperatur von Raspberry Pi mit vcgencmd Measure_temp
abrufen.
Ich habe 60 Mal pro Sekunde zur Überwachung gemessen und schließlich den Durchschnitt angezeigt.
Die verwendete Sprache ist Python 3.7.
Wenn Sie Python in Raspeye eingeben, wird Python2 standardmäßig ausgegeben, ist jedoch nicht mit 3.7 kompatibel. Achten Sie daher darauf, den Fehler nicht zu übersehen.
e? Ich bin der einzige, der das tut. Ja.
Wenn Sie mit sudo chmod a + x temp.py
die Ausführungsberechtigung erteilen und auf. / Temp.py
setzen, funktioniert dies.
temp.py
#!/usr/bin/python3.7
import subprocess
import time
import sys
import re
num = 60
ave = 0
print(subprocess.run('lsb_release -a', shell=True, encoding='utf-8', stdout=subprocess.PIPE).stdout)
try:
while num > 0:
temp = subprocess.run('vcgencmd measure_temp', shell=True, encoding='utf-8', stdout=subprocess.PIPE).stdout.split('=')
freq = subprocess.run('vcgencmd measure_clock arm', shell=True, encoding='utf-8', stdout=subprocess.PIPE).stdout.split('=')
volt = subprocess.run('vcgencmd measure_volts', shell=True, encoding='utf-8', stdout=subprocess.PIPE).stdout.split('=')
temp = temp[1].replace('\n', '')
freq = int(freq[1].replace('\n', '')) / 1000000000
volt = volt[1].replace('\n', '')
print('Temp: ' + temp + ', Freq: ' + f'{freq:.2f}' + 'GHz, Volt: ' + str(volt) + ' (' + str(num) + ')')
ave += int(re.sub('\\D', '', temp))
num -= 1
time.sleep(1)
print('Average: ' + f'{ave / 600:.1f}' + "'C (60s)")
except KeyboardInterrupt:
sec = 60 - num
print(' Aborted.\nAverage: ' + f'{ave / sec / 10:.1f}' + "'C (" + str(sec) + 's)')
sys.exit()
Bitte verzeihen Sie mir die Überschrift, dass es sich während der Sommerferien um ein kostenloses Studium handelt. Als Anfänger habe ich verschiedene Dinge recherchiert und geschrieben.
~~ Ich brauche es nicht wirklich, aber ~~ Zuerst werden die Linux-Versionsinformationen angezeigt.
Sie können das Ausführungsergebnis Ihres bevorzugten Befehls anzeigen, indem Sie lsb_release -a
in print
vor der Schleife neu schreiben.
Ich bin völlig selbstzufrieden.
Subprocess
Ich fand, dass "Unterprozess" gut für die Ausführung von Befehlen aus Python ist.
Ich bin mir nicht sicher warum, aber ich habe "Unterprozess" verwendet, weil ich ihn um ein langes Objekt wickeln wollte.
Da die Temperatur alleine langweilig ist (was), habe ich auch die Taktfrequenz und die Betriebsspannung angezeigt.
Es ist ziemlich interessant, dies als Extra zu sehen.
In meiner Umgebung verwende ich nicht bis zu 1,5 GHz.
KeyboardInterrupt
Ich kann mit Strg + C
aus der Schleife herauskommen, aber ich bekomme eine Fehlermeldung.
Da es nicht gut für die psychische Gesundheit ist, schließe ich die Schleifenverarbeitung mit "try" ein und fange "Strg + C" mit "außer Keyboard Interrupt".
Auf diese Weise wird kein Fehler ausgegeben, und Sie können die Verarbeitung beim Beenden schreiben.
60
der Variablen num
ändern./ {hogehoge}
ein und geben Sie ln -s / {hogehoge} /temp.py / usr / bin / temp
ein und geben Sie einfach temp
in ein beliebiges Verzeichnis ein, um dieses Programm auszuführen. Du kannst es schaffen.
――Ich denke, es gibt viele unansehnliche Punkte, weil es der erste Beitrag einer Hobby-Grammatik war, aber bitte verzeihen Sie mir.Recommended Posts