1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
import time
import grovepi
from grovepi import *
import MySQLdb as mdb
import sys
# Connect the Grove Light Sensor to analog port A1
# SIG,NC,VCC,GND
light_sensor = 1
# Connect the LED to digital port D4 , D3
# SIG,NC,VCC,GND
led0 = 4
led1 = 3
led2 = 8
led3 = 7
# Turn on LED once sensor exceeds threshold resistance
threshold = 10
# Connect the Motion Sensor to digital port D3
pir_sensor = 5
motion=1
# Connect the Grove Light Sensor , output , input
grovepi.pinMode(pir_sensor,"INPUT")
grovepi.pinMode(light_sensor,"INPUT")
grovepi.pinMode(led0,"OUTPUT")
grovepi.pinMode(led1,"OUTPUT")
grovepi.pinMode(led2,"OUTPUT")
grovepi.pinMode(led3,"OUTPUT")
while True:
try:
sensor_value = grovepi.analogRead(light_sensor)
print ("light_sensor"), sensor_value
motion=grovepi.digitalRead(pir_sensor)
print ("pir_sensor"), motion
resistance = (float)(1024 - sensor_value) * 10 / sensor_value
con = mdb.connect('localhost','phpmyadmin','raspberry','eclairage')
cur = con.cursor()
with con:
sensor_value = str(sensor_value)
args = [sensor_value]
sql = 'UPDATE eclairage SET capteurlumiere = %s WHERE id = 1'
in_q = ', '.join(list(map(lambda x: '%s', args)))
cur.execute(sql, args)
con.commit()
## update data base capteur mouvement ////////////////////////////////
with con:
pir_motion = str(motion)
args = [motion]
sql = 'UPDATE eclairage SET capteurmouvement = %s WHERE id = 1'
in_q = ', '.join(list(map(lambda x: '%s', args)))
cur.execute(sql, args)
con.commit()
## condition ///////////////////////////////////////////////////
with con:
cur = con.cursor(mdb.cursors.DictCursor)
response = cur.execute("SELECT Mode FROM eclairage WHERE id=1")
response = cur.fetchone()
Mode = dict.values(response)
print (Mode)
time.sleep(0.4)
if Mode == ['1']:
print ("lecture du mode auto...")
if motion==0 or motion==1:
if motion==1:
if resistance > threshold:
grovepi.digitalWrite(led0,1)
grovepi.digitalWrite(led1,1)
grovepi.digitalWrite(led2,1)
grovepi.digitalWrite(led3,1)
time.sleep(3)
print ('piscine light on')
if motion==0:
grovepi.digitalWrite(led0,0)
grovepi.digitalWrite(led1,0)
grovepi.digitalWrite(led2,0)
grovepi.digitalWrite(led3,0)
print ('piscine light off')
if Mode == ['0']:
print ("lecture du mode manuel")
cur = con.cursor(mdb.cursors.DictCursor)
response = cur.execute("SELECT Etat FROM eclairage WHERE id=1")
response = cur.fetchone()
Etat = dict.values(response)
print (Etat)
if Etat == ['0']:
print ('piscine mode manuel off')
grovepi.digitalWrite(led0,0)
grovepi.digitalWrite(led1,0)
grovepi.digitalWrite(led2,0)
grovepi.digitalWrite(led3,0)
time.sleep(0.2)
else:
print ('piscine mode auto on')
grovepi.digitalWrite(led0,1)
grovepi.digitalWrite(led1,1)
grovepi.digitalWrite(led2,1)
grovepi.digitalWrite(led3,1)
except IOError:
grovepi.digitalWrite(led0,0)
grovepi.digitalWrite(led1,0)
grovepi.digitalWrite(led2,0)
grovepi.digitalWrite(led3,0)
print ("Error") |
Partager