changes to add the ultrasonic sensor to it
This commit is contained in:
@@ -1,10 +1,48 @@
|
||||
import time
|
||||
import network
|
||||
import urequests
|
||||
from machine import Pin, time_pulse_us
|
||||
|
||||
DOOR_OPEN_THRESHOLD = 50 # in cm
|
||||
|
||||
echo_pin = Pin(0, Pin.IN)
|
||||
trig_pin = Pin(1, Pin.OUT)
|
||||
|
||||
def getDistanceCM():
|
||||
trig_pin.value(0)
|
||||
time.sleep_us(2)
|
||||
trig_pin.value(1)
|
||||
time.sleep_us(10)
|
||||
trig_pin.value(0)
|
||||
|
||||
pulse_time = time_pulse_us(echo_pin, 1, 30000)
|
||||
|
||||
if pulse_time < 0:
|
||||
return -1
|
||||
|
||||
distance = pulse_time / 58
|
||||
return distance
|
||||
|
||||
def sendDoorStatus(status):
|
||||
requestURL = "http://10.69.70.1/status"
|
||||
r = urequests.post(requestURL, data={"status", status})
|
||||
print("door status: " + str(status))
|
||||
#requestURL = "http://10.69.70.1/status"
|
||||
#r = urequests.post(requestURL, data={"status", status})
|
||||
|
||||
def checkDoorDistance():
|
||||
dist = -1
|
||||
timeoutTime = 10
|
||||
while timeoutTime > 0 and dist == -1:
|
||||
dist = getDistanceCM()
|
||||
timeoutTime -= 1
|
||||
time.sleep(1)
|
||||
|
||||
if dist < DOOR_OPEN_THRESHOLD:
|
||||
sendDoorStatus(1) # door open
|
||||
elif dist == -1:
|
||||
sendDoorStatus(-1) # unknown
|
||||
else:
|
||||
sendDoorStatus(0) # door closed
|
||||
|
||||
|
||||
def connectToNet():
|
||||
ssid = "ITRnet"
|
||||
@@ -32,6 +70,6 @@ def connectToNet():
|
||||
# program
|
||||
|
||||
connectToNet()
|
||||
sendDoorStatus(False)
|
||||
|
||||
|
||||
while True:
|
||||
time.sleep(5)
|
||||
checkDoorDistance()
|
||||
|
||||
Reference in New Issue
Block a user