Advertisement
rabirajkhadka

EWS_RaspberryPi

Aug 12th, 2019
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.59 KB | None | 0 0
  1. import RPi.GPIO as GPIO
  2. import dht11
  3. import time
  4. import datetime
  5. import MySQLdb
  6.  
  7. # initialize GPIO
  8. GPIO.setwarnings(False)
  9. GPIO.setmode(GPIO.BCM)
  10.  
  11. # read data using pin 14 from DHT11
  12. dhtSensor = dht11.DHT11(pin=14)
  13. GPIO.setup(16,GPIO.OUT)
  14.  
  15. #Set Threshold for warning message
  16. def THRESHOLD():
  17.     return 20
  18.  
  19. class ultrasonicSensor:
  20.     TRIG = 20
  21.     ECHO = 21
  22.     def __init__(self):
  23.         GPIO.setmode(GPIO.BCM)
  24.         GPIO.setwarnings(False)
  25.         GPIO.setup(self.TRIG,GPIO.OUT)
  26.         GPIO.setup(self.ECHO,GPIO.IN)
  27.    
  28.     def readData(self):
  29.         pulse_start=0;
  30.         pulse_end=0;
  31.  
  32.         GPIO.output(self.TRIG, False)
  33.         time.sleep(2)
  34.         GPIO.output(self.TRIG, True)
  35.         time.sleep(0.00001)                      
  36.         GPIO.output(self.TRIG, False)                
  37.  
  38.         while GPIO.input(self.ECHO)==0:              
  39.             pulse_start = time.time()              
  40.         while GPIO.input(self.ECHO)==1:              
  41.             pulse_end = time.time()                
  42.        
  43.         pulse_duration = pulse_end - pulse_start
  44.         distance = pulse_duration * 17150        
  45.         distance = round(distance, 2)
  46.         time.sleep(0.4)
  47.         return distance;
  48.  
  49. ultrasonicSensorObj=ultrasonicSensor();
  50. while True:
  51.     remarks_val="Nothing to Worry"
  52.     dhtSensorValue = dhtSensor.read()
  53.     waterLevel=1000-ultrasonicSensorObj.readData();
  54.     dateandtime=datetime.datetime.now()
  55.     if dhtSensorValue.is_valid():
  56.         print"----------------------------------------------------"
  57.         print("Time: " + dateandtime)
  58.         print("Temperature: %-3.1f C" % dhtSensorValue.temperature)
  59.         print("Humidity: %-3.1f %%" % dhtSensorValue.humidity)
  60.         print "WaterLevel:",waterLevel,"cm"
  61.         time.sleep(3)
  62.         print"----------------------------------------------------"
  63.     if(waterLevel<=THRESHOLD()):
  64.         GPIO.output(16,GPIO.HIGH)
  65.         print "WARNING!!! THE LEVEL OF WATER HAS RAISED BEYOND THE THRESHOLD LEVEL"
  66.         remarks_val="WARNING!!! THE LEVEL OF WATER HAS RAISED BEYOND THE THRESHOLD LEVEL"
  67.     else:
  68.         GPIO.output(16,GPIO.LOW)
  69.         print"----------------------------------------------------"
  70.            
  71.     conn=MySQLdb.connect(host="localhost",user="YOURUSERNAME",passwd="YOURPASSWORD",db="YOURDATABASE")
  72.     cur=conn.cursor()
  73.     sql_query="""INSERT INTO Data (DateTime,Temperature,Humidity,WaterLevel,Remarks) VALUES (%s,%s,%s,%s,%s)"""
  74.     cur.execute(sql_query,(dateandtime,dhtSensorValue.temperature,dhtSensorValue.humidity,waterLevel,remarks_val))
  75.     conn.commit()
  76.     conn.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement