def emptyBucket(taskID): try: result = pydb.runSQL("SELECT * FROM task WHERE taskID = "+str(taskID)+" AND taskStatus = 2") sensorID = result[0]['taskSensorID'] result = pydb.runSQL("SELECT * FROM sbs WHERE sbsID = "+str(sensorID)) depthpin = result[0]['sbsDepthPin'] print "depth pin: "+str(depthpin) bucketEmpty = False while (bucketEmpty == False): #andata = raspi.getAnalogData(int(depthpin),0) result = pydb.runSQL("SELECT * FROM task WHERE taskID = "+str(taskID)) taskStatus = result[0]['taskStatus'] val = 0 arrayValues = [] for x in range(0,5): val = raspi.getAnalogData(int(depthpin),0) arrayValues.append(int(val)) time.sleep(.1) val = np.mean(arrayValues) andata = val if (float(andata) > EMPTYVAL): print "EMPTY, waiting 60 seconds then closing valve!... "+str(andata) changeLightStatus(GREENPIN) pydb.runSQL("UPDATE task set taskStatus = '0', taskEndTime = NOW() WHERE taskID = "+str(taskID)) time.sleep(60) switchEmptyValve(sensorID,1) bucketEmpty = True elif (float(andata) < FULLVAL): changeLightStatus(REDPIN) switchEmptyValve(sensorID,0) print "FULL, Emptying! "+str(andata) elif (int(taskStatus) != 2): changeLightStatus(GREENPIN) pydb.runSQL("UPDATE task taskEndTime = NOW() WHERE taskID = "+str(taskID)) switchEmptyValve(sensorID,1) bucketEmpty = True else: changeLightStatus(YELLOWPIN) switchEmptyValve(sensorID,0) print "Emptying... "+str(andata) time.sleep(1) except KeyboardInterrupt: switchEmptyValve(sensorID,1) sys.exit(2)
except getopt.GetoptError, err: #print "Error parsing options " print err sys.exit(1) for opt, arg in opts: if opt == "-h": print "" print "" sys.exit(0) temphumid = sbs.getTempHumidityLoop(4) temp = temphumid.split("|")[0] humid = temphumid.split("|")[1] solar = raspi.getAnalogData(1,0) imgtime = time.strftime("%Y-%m-%d_%H_%M_%S") #os.system("wget -q -O /var/www/images/garden/"+imgtime+".jpg --user=myadminuseraccount --password=myadminuseraccountspassword http://mycameraipaddressorhostname/img/snapshot.cgi") depth = raspi.getAnalogData(0,0) buckettemp = sbs.read_temp() print "Time:",imgtime print "Humidity:",humid print "Temperature:",temp print "Solar:",solar print "Bucket Depth:",depth print "Bucket Temperature:",buckettemp #logsql(str(temp),str(humid),solar,imgtime)