27/08/2019, 22:42
Bene, sono felice di annunciare che il progetto è concluso e funzionante.
il codice è il seguente:
già che c'ero ho integrato il controllo dell'inserimento dell'allarme di casa, al momento dell'inserimento dell'allarme mi spegne le luci di casa.
alla fine ho mantenuto i contatori, veloci e pratici. aggiungere un controllo di pressione ora è molto semplice.
Sto pensando a come realizzare il sistema di allarme di casa; alla fine la logica è semplice, se il contatto INSERIMENTO è chiuso ed uno dei sensori viene aperto/chiuso (in base alla logica di funzionamento) allora avvertimi e fai suonare la sirena...
il codice è il seguente:
Codice:
#!/bin/usr/python
# /etc/init.d/notifica.py
###BEGIN INIT INFO
# Provides: notifica.py
# Required-Start:$remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description:Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
from gpiozero import Button
import smtplib
import requests
fm = Button(16)
irr = Button(21)
all = Button(20)
fromaddr = 'mittente@gmail.com'
toaddr = 'destinatario@gmail.com'
msg = 'subject:monitoraggio avviato'
msg1 = 'subject:irrigazione on'
msg2 = 'subject:irrigazione off'
msg3 = 'subject:corrente ripristinata'
msg4 = 'subject:mancanza corrente'
username = 'user'
password = 'password'
contirr = 0
contfm = 0
contall = 0
def inviamail(a):
server = smtplib.SMTP ('smtp.gmail.com:587')
server.starttls()
server.login(username, password)
server.sendmail(fromaddr, toaddr, a)
server.quit()
print (a)
inviamail(msg)
while True:
if (fm.is_pressed):
if (contfm==0):
inviamail(msg3)
contfm=contfm+1
elif (contfm==1):
inviamail(msg4)
contfm=contfm-1
if (irr.is_pressed):
if (contirr==0):
inviamail(msg1)
contirr=contirr+1
elif (contirr==1):
inviamail(msg2)
contirr=contirr-1
if (all.is_pressed):
if (contall==0):
requests.get('http://192.168.88.10/cm?cmnd=Power%20off')
requests.get('http://192.168.88.11/cm?cmnd=Power%20off')
requests.get('http://192.168.88.12/cm?cmnd=Power%20off')
requests.get('http://192.168.88.13/cm?cmnd=Power%20off')
requests.get('http://192.168.88.14/cm?cmnd=Power%20off')
requests.get('http://192.168.88.15/cm?cmnd=Power%20off')
requests.get('http://192.168.88.16/cm?cmnd=Power%20off')
requests.get('http://192.168.88.17/cm?cmnd=Power%20off')
requests.get('http://192.168.88.18/cm?cmnd=Power%20off')
contall=contall+1
elif (contall==1):
contall=contall-1
già che c'ero ho integrato il controllo dell'inserimento dell'allarme di casa, al momento dell'inserimento dell'allarme mi spegne le luci di casa.
alla fine ho mantenuto i contatori, veloci e pratici. aggiungere un controllo di pressione ora è molto semplice.
Sto pensando a come realizzare il sistema di allarme di casa; alla fine la logica è semplice, se il contatto INSERIMENTO è chiuso ed uno dei sensori viene aperto/chiuso (in base alla logica di funzionamento) allora avvertimi e fai suonare la sirena...