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() modeauto = dict.values(response) print ("#############") time.sleep(0.4) while modeauto == ["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) else: print ("lecture du mode manuel") cur = con.cursor(mdb.cursors.DictCursor) response = cur.execute("SELECT etat FROM Mode WHERE id=1") response = cur.fetchone() modemanuel = dict.values(response) if modemanuel == ["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) print ('piscine mode auto on') if modemanuel == ["1"]: 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")