В настоящее время я работаю с Raspberry Pi и использую DHT11 для считывания значений температуры и влажности каждую секунду. Я должен отправить уведомление пользователю по электронной почте. Вот мои коды, которые показывают данные датчика каждую секунду и отправляют электронную почту. Мне нужно только соединить эти два кода, что является условием: Отправлять почту, когда температура выше 35 C.
&&& Dht_11 temperature sensor code &&&
import RPi.GPIO as GPIO
import dht11
import time
import datetime
# initialize GPIO
GPIO.setwarnings(True)
GPIO.setmode(GPIO.BCM)
# read data using pin 14
instance = dht11.DHT11(pin=14)
try:
while True:
result = instance.read()
if result.is_valid():
print("Last valid input: " + str(datetime.datetime.now()))
print("Temperature: %-3.1f C" % result.temperature)
print("Humidity: %-3.1f %%" % result.humidity)
time.sleep(6)
except KeyboardInterrupt:
print("Cleanup")
GPIO.cleanup()
&&& sending email code &&&
import smtplib
smtpUser = 'youremail@gmail.com'
smtpPass = 'emailpasswd'
toAdd = 'adress@domain.com'
fromAdd = smtpUser
subject = 'RPI'
header = 'To: ' + toAdd + '\n' + 'From: ' + fromAdd + '\n' + 'Subject: ' + subject
body = 'your message'
print header + '\n' + body
s = smtplib.SMTP('smtp.gmail.com',587)
s.ehlo()
s.starttls()
s.ehlo()
s.login(smtpUser, smtpPass)
s.sendmail(fromAdd, toAdd, header + '\n' + body)
s.quit()