morris1974
Posts: 25
Joined: Wed Jun 10, 2015 8:13 am

invio mail se interrotto il circuito

Tue Mar 08, 2016 4:47 pm

Buondi nevoso a tutti, ho fatto questo script per poter inviare una mail quando un interruttore viene rilasciato

Code: Select all

#!/usr/bin/env python
 
import RPi.GPIO as GPIO
import time, smtplib
 
GPIO.setmode(GPIO.BCM)
GPIO.setup(25, GPIO.IN)
GPIO.input(25)
 
smtpserver = ''
fromaddr = 'fromaddr'
toaddr = 'toaddr'
msg = 'prova' 
#Aggiungo i dati per l'invio
username = 'username' #inserire proprio indirizzo
password = 'pwd' #inserire propria password
 
inviata = False
while True:
    time.sleep(1)
    if not GPIO.input(25):
        if not inviata:
            server = smtplib.SMTP(smtpserver)
            server.starttls()
            server.login(username, password)
            server.sendmail(fromaddr, toaddr, msg)
            server.quit()
        inviata = True
    else:
        inviata = False
solo che ogni volta che ci provo a farlo girare invia la mail quando l'interruttore è premuto e non viceversa (insomma come dire che quando la porta di casa è chiusa tutto ok ma se qualcuno apre la porta di casa in mia assenza mi viene inviata una mail perché l'interruttore è stato rilasciato) in questo momento è l'esatto contrario.
Qualche anima pia può aiutarmi a correggere questo errore?
ringrazio tutti anticipatamente

Return to “Italiano”