diff --git a/garage_door_script.py b/garage_door_script.py index f574c81..27ac0a0 100644 --- a/garage_door_script.py +++ b/garage_door_script.py @@ -23,7 +23,28 @@ correct_login = 0 # Route for the main page @app.route('/') def index(): - return render_template('index.html') + logged_in = request.cookies.get('logged_in') + if logged_in == "yes": + GPIO.setup(PIN_TRIG, GPIO.OUT) #Setup the gpio trigger pin as input + GPIO.setup(PIN_ECHO, GPIO.IN) #Setup the gpio echo pin as output + time.sleep(2) #Wait for 2 seconds for sensor to settle + GPIO.output(PIN_TRIG, GPIO.LOW) #Set trigger to low + GPIO.output(PIN_TRIG, GPIO.HIGH) #Set trigger to high + time.sleep(0.00001) #Wait for 0.1 milliseconds before setting to low again + GPIO.output(PIN_TRIG, GPIO.LOW) #Set trigger to low again + while GPIO.input(PIN_ECHO)==0: + pulse_start_time = time.time() #Set the start time of when the waves are emitted by the sensor + while GPIO.input(PIN_ECHO)==1: + pulse_end_time = time.time() #Record the time the waves traveled back to the sensor + pulse_duration = pulse_end_time - pulse_start_time #Calculate how long it took for the round trip of the waves + distance = round(pulse_duration * 17150, 2) #Convert the time it took to centimeters and round to 2 decimals + if distance >= 80: #Check if the distance is less than 80cm (This will depend on the garage) + message = 'The garage is closed.' + else: + message = 'The garage is open.' + else: + return redirect(url_for('login')) + return render_template('index.html', message=message) # Route for the login page @app.route('/login', methods=['GET', 'POST']) diff --git a/templates/index.html b/templates/index.html index 2d6bd52..de811fb 100644 --- a/templates/index.html +++ b/templates/index.html @@ -12,5 +12,6 @@ Logout +

{{ message }}