Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import RPi.GPIO as GPIO
- import dht11
- import time
- import datetime
- import MySQLdb
- # initialize GPIO
- GPIO.setwarnings(False)
- GPIO.setmode(GPIO.BCM)
- # read data using pin 14 from DHT11
- dhtSensor = dht11.DHT11(pin=14)
- GPIO.setup(16,GPIO.OUT)
- #Set Threshold for warning message
- def THRESHOLD():
- return 20
- class ultrasonicSensor:
- TRIG = 20
- ECHO = 21
- def __init__(self):
- GPIO.setmode(GPIO.BCM)
- GPIO.setwarnings(False)
- GPIO.setup(self.TRIG,GPIO.OUT)
- GPIO.setup(self.ECHO,GPIO.IN)
- def readData(self):
- pulse_start=0;
- pulse_end=0;
- GPIO.output(self.TRIG, False)
- time.sleep(2)
- GPIO.output(self.TRIG, True)
- time.sleep(0.00001)
- GPIO.output(self.TRIG, False)
- while GPIO.input(self.ECHO)==0:
- pulse_start = time.time()
- while GPIO.input(self.ECHO)==1:
- pulse_end = time.time()
- pulse_duration = pulse_end - pulse_start
- distance = pulse_duration * 17150
- distance = round(distance, 2)
- time.sleep(0.4)
- return distance;
- ultrasonicSensorObj=ultrasonicSensor();
- while True:
- remarks_val="Nothing to Worry"
- dhtSensorValue = dhtSensor.read()
- waterLevel=1000-ultrasonicSensorObj.readData();
- dateandtime=datetime.datetime.now()
- if dhtSensorValue.is_valid():
- print"----------------------------------------------------"
- print("Time: " + dateandtime)
- print("Temperature: %-3.1f C" % dhtSensorValue.temperature)
- print("Humidity: %-3.1f %%" % dhtSensorValue.humidity)
- print "WaterLevel:",waterLevel,"cm"
- time.sleep(3)
- print"----------------------------------------------------"
- if(waterLevel<=THRESHOLD()):
- GPIO.output(16,GPIO.HIGH)
- print "WARNING!!! THE LEVEL OF WATER HAS RAISED BEYOND THE THRESHOLD LEVEL"
- remarks_val="WARNING!!! THE LEVEL OF WATER HAS RAISED BEYOND THE THRESHOLD LEVEL"
- else:
- GPIO.output(16,GPIO.LOW)
- print"----------------------------------------------------"
- conn=MySQLdb.connect(host="localhost",user="YOURUSERNAME",passwd="YOURPASSWORD",db="YOURDATABASE")
- cur=conn.cursor()
- sql_query="""INSERT INTO Data (DateTime,Temperature,Humidity,WaterLevel,Remarks) VALUES (%s,%s,%s,%s,%s)"""
- cur.execute(sql_query,(dateandtime,dhtSensorValue.temperature,dhtSensorValue.humidity,waterLevel,remarks_val))
- conn.commit()
- conn.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement