Raspberry Pi väderstation (5 / 6 steg)
Steg 5: kod
Importera tid
importera RPi.GPIO som GPIO
importera Adafruit_DHT som dht
importera smtplib
importera os
GPIO.setmode (GPIO. STYRELSEN)
GPIO.setup (18, GPIO. I)
GPIO.setup (13, GPIO. I)
GPIO.setup (15, GPIO. I)
GPIO.setup (16, GPIO. I)
timeset_HH = input (' ange den timme du vill via e-post på: ") #Enter tid att mailas på i 24-timmars tid
timeset_MM = input (' ange den minut som du vill ska mailas på: ")
e-post = smtplib. SMTP('smtp.gmail.com',587) #Set upp och logga in på e-post
Mail.EHLO()
Mail.starttls()
Mail.Login ('din email', 'ditt lösenord')
h, t = dht.read_retry (dht. DHT11, 4)
humid_temp = "Temp = {0:0.1f} * C Humidity={1:0.1f}%'.format(t, h) #Read sensorn
medan True: #This slinga väntar tills den inställda tiden skicka och e-post
nu = time.localtime()
om now.tm_hour == int(timeset_HH) och now.tm_min == int(timeset_MM):
Break
annat:
passera
timeout = 60 - now.tm_sec
om (GPIO.input(16)): #Read sensor och sedan e avläsningar
Mail.sendmail ('din email', 'din epost', "2 in regn" + humid_temp)
Elif (GPIO.input(18)):
Mail.sendmail ('din email', 'din epost', "1,5 i regn" + humid_temp)
Elif (GPIO.input(13)):
Mail.sendmail ('din email', 'din epost', "1 i ofrain" + humid_temp)
Elif (GPIO.input(15)):
Mail.sendmail ('din email', 'din epost','. 5 in regn "+ humid_temp)
annat:
Mail.sendmail ('din email', 'din epost','0 i ofrain "+ humid_temp)
Mail.Close()
GPIO.cleanup()