Auch heute gibt es von mir wieder ein kleines Python-Script, das auch auf meinem Raspberry Pi zum Einsatz kommt. Diesesmal geht es um die Temperaturüberwachung des Raspberry Pi. Da er bei mir (wie im vorigen Artikel erwähnt) ab sofort als kleiner Homeserver zum Einsatz kommt und somit 24/7 läuft, habe ich mir ein kleines Python-Script gebastelt, dass die aktuelle Temperatur der CPU ausliest und mich ab einem gewissen Schwellenwert (hier: 60 Grad Celsius) per Mail über die aktuelle Temperatur informiert. Das Script lasse ich wieder über cron stündlich ablaufen.
Hier das Script:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import os import smtplib import time from email.mime.text import MIMEText day = repr(time.localtime()[2]) + "."+repr(time.localtime()[1])+"."+repr(time.localtime()[0]) zeit = repr(time.localtime()[3]) + ":" + repr(time.localtime()[4]) + ":"+ repr(time.localtime()[5]) def getCPUtemperature(): res = os.popen('vcgencmd measure_temp').readline() return(res.replace("temp=","").replace("'C\n","")) temp_float = float(getCPUtemperature()) if (temp_float > 60): server = smtplib.SMTP('smtp.web.de', 587) server.login("sender", "sender_pw") value = "Die aktuelle Temperatur des Raspberry Pi liegt bei "+ getCPUtemperature()+" Grad Celsius.\n Zeit: "+zeit+ " am " + day msg = MIMEText(value) msg['Subject'] = "[Warnung] Temperatur "+ getCPUtemperature()+" Grad!" msg['From'] = "RPi Temperature" server.quit() |
Vielleicht kann es ja der ein oder andere auch für seinen Raspberry Pi gebrauchen. Für Anregungen / Verbesserungsvorschläge etc. bin ich immer offen. Da ich erst ein Python-Einsteiger bin, gibt es sicher die eine oder andere Unschönheit oder sogar auch Fehler. Sobald ihr was findet, meldet euch bitte bei mir. Habe das Script bei mir zwar schon getestet und es läuft, wie es soll, aber ich kann dennoch die eine oder andere Sache übersehen haben.
Hi, gute Idee das mit dem Skript. Ich hab derzeit ein Shell Script, das mich in periodischen Abständen per Mail über den Zustand informiert (nicht nur Temperatur).
Wie hast du das Script ausgeführt? Wird das beim Systemstart gestartet und läuft dann immer im Hintergrund? Wie oft überprüfst du die Temperatur?
Hi Werner,
das Skript lasse ich wie im Artikel beschrieben alle Stunde starten und durchlaufen. Das habe ich mit einem Cronjob eingerichtet. Also läuft mein Skript auch (nur) in periodischen Abständen (also nicht im Hintergrund) durch und nicht permanent. Aber ich denke dass bei einem klein gewählten Intervall kein Problem damit besteht ;)
Hast du dein Skript öffentlich zugänglich? Das würde mich nämlich sehr interessieren, v.a. da ich in Shell-Skripten noch nicht so fit bin, dass ich es selbst schreiben könnte.
Funktioniert problemlos. Danke!