changes to only send req when change
This commit is contained in:
@@ -5,17 +5,21 @@ from machine import Pin, time_pulse_us
|
|||||||
|
|
||||||
DOOR_OPEN_THRESHOLD = 50 # in cm
|
DOOR_OPEN_THRESHOLD = 50 # in cm
|
||||||
|
|
||||||
echo_pin = Pin(0, Pin.IN)
|
echoPin = Pin(0, Pin.IN)
|
||||||
trig_pin = Pin(1, Pin.OUT)
|
trigPin = Pin(1, Pin.OUT)
|
||||||
|
|
||||||
|
led = Pin("LED", Pin.OUT)
|
||||||
|
|
||||||
|
prevDoorStatus = 67
|
||||||
|
|
||||||
def getDistanceCM():
|
def getDistanceCM():
|
||||||
trig_pin.value(0)
|
trigPin.value(0)
|
||||||
time.sleep_us(2)
|
time.sleep_us(2)
|
||||||
trig_pin.value(1)
|
trigPin.value(1)
|
||||||
time.sleep_us(10)
|
time.sleep_us(10)
|
||||||
trig_pin.value(0)
|
trigPin.value(0)
|
||||||
|
|
||||||
pulse_time = time_pulse_us(echo_pin, 1, 30000)
|
pulse_time = time_pulse_us(echoPin, 1, 30000)
|
||||||
|
|
||||||
if pulse_time < 0:
|
if pulse_time < 0:
|
||||||
return -1
|
return -1
|
||||||
@@ -29,6 +33,8 @@ def sendDoorStatus(status):
|
|||||||
#r = urequests.post(requestURL, data={"status", status})
|
#r = urequests.post(requestURL, data={"status", status})
|
||||||
|
|
||||||
def checkDoorDistance():
|
def checkDoorDistance():
|
||||||
|
global prevDoorStatus # Tell Python to use the global variable
|
||||||
|
|
||||||
dist = -1
|
dist = -1
|
||||||
timeoutTime = 10
|
timeoutTime = 10
|
||||||
while timeoutTime > 0 and dist == -1:
|
while timeoutTime > 0 and dist == -1:
|
||||||
@@ -36,13 +42,26 @@ def checkDoorDistance():
|
|||||||
timeoutTime -= 1
|
timeoutTime -= 1
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
|
|
||||||
|
status = 0;
|
||||||
if dist < DOOR_OPEN_THRESHOLD:
|
if dist < DOOR_OPEN_THRESHOLD:
|
||||||
sendDoorStatus(1) # door open
|
status = 1 # door open
|
||||||
|
led.on()
|
||||||
elif dist == -1:
|
elif dist == -1:
|
||||||
sendDoorStatus(-1) # unknown
|
status = -1 # unknown
|
||||||
else:
|
else:
|
||||||
sendDoorStatus(0) # door closed
|
status = 0 # door closed
|
||||||
|
led.off()
|
||||||
|
|
||||||
|
if status != prevDoorStatus:
|
||||||
|
sendDoorStatus(status)
|
||||||
|
prevDoorStatus = status
|
||||||
|
|
||||||
|
def flashLED():
|
||||||
|
flashes = 10
|
||||||
|
while flashes > 0:
|
||||||
|
led.toggle()
|
||||||
|
time.sleep_ms(500)
|
||||||
|
flashes -= 1
|
||||||
|
|
||||||
def connectToNet():
|
def connectToNet():
|
||||||
ssid = "ITRnet"
|
ssid = "ITRnet"
|
||||||
@@ -63,6 +82,7 @@ def connectToNet():
|
|||||||
if wlan.status() != 3:
|
if wlan.status() != 3:
|
||||||
raise RuntimeError('network connection failed')
|
raise RuntimeError('network connection failed')
|
||||||
else:
|
else:
|
||||||
|
flashLED()
|
||||||
print('connected!')
|
print('connected!')
|
||||||
status = wlan.ifconfig()
|
status = wlan.ifconfig()
|
||||||
print('ip = ' + status[0])
|
print('ip = ' + status[0])
|
||||||
|
|||||||
Reference in New Issue
Block a user