Ich arbeite seit einiger Zeit an einem Projekt und stehe nun kurz vorm Abschluss. Nur muss für mich die letzte Hürde natürlich die schwierigste sein. ich erkläre kurz das Projekt: Ich habe an einer Plantine 3 Temperatursensoren angelötet, und diese mit Kabel an einem Raspberry Pi verbunden, ich konnte also mit dem coolen mini-PC Temperaturen im Terminal auslesen. Da die Temperatursensoren manchmal ein bisschen spinnen und einen temperaturwert (immer) von -1,25°C ausgeben, habe ich noch eine While schleife geschrieben, die die Temperatur neu ausliest, falls der Wert -1,25 erscheint. Da ich die Temperatursensoren in einen Server Raum stellen möchte, musste ich eine Lösung finden, wie man die Temperaturen von anderen PCs aus empfängt. Also schloss ich den Pi ans Netzwerk an und schrieb jedem Temperatursensor seine Variable, damit ich alle 3 Temperatursensoren in einem ebenfalls vom Python script erstellten HTML Dokument printen kann. Mit Cronjobs hab ich eingestellt, dass der Script jede Minute ausgeführt wird. Die Vorletzten Schritte waren die einfachsten. Ich musste mir nur noch einen WebServer installieren und als kleinen Zusatz noch Webmin. Nun kann man von allen PCs im Netzwerk die Temperaturen sehen und sie werden jede Minute automatisch aktualisiert. Nun mein Problem: Wie schreibe ich eine Schleife, die sobald eine Temperatur über 40 oder 30 Grad steigt, eine Email an jemanden schickt? Danke für Antworten
edit: Ich habe auf webmin natürlich einen Mail server und über Internet verfüge ich auch
edit2: Ich habe mich entschieden es ohne Mail server zu machen.
Code: Alles auswählen
#!/usr/bin/python
import smtplib
import time
absender = 'xxxxxxxxxxx@yahoo.de'
adressat = 'xxxxxxxxxxxxxx@googlemail.com'
betreff = xxxxxxxxxxxxxxxxxxxxx'
inhalt = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
zeit = time.ctime(time.time())
### String bauen
text = 'From: '+absender+'\n'
text += 'To: '+adressat+'\n'
text += 'Date: '+zeit+'\n'
text += 'Subject: '+betreff+'\n'
text = text + inhalt
print text
### Email senden
### SMTP server
server = smtplib.SMTP('smtp.xxxxxxxxxx.xxx')
### Authentifizierung
server.login('username','secret')
### Abschicken
server.sendmail(absender,adressat,text)
server.quit()