sql_app: tools: Iot door emulator for testing in absence of door
Signed-off-by: HeshamTB <hishaminv@gmail.com>
This commit is contained in:
parent
50a7d8251c
commit
e1a7c4023b
40
sql_app/tools/emulate_door.py
Normal file
40
sql_app/tools/emulate_door.py
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
# EE495
|
||||||
|
# Hesham T. Banafa
|
||||||
|
# Jun 11th, 2022
|
||||||
|
|
||||||
|
from time import sleep
|
||||||
|
import requests
|
||||||
|
|
||||||
|
|
||||||
|
def poll(poll_url: str, data: dict, headers: dict) -> dict:
|
||||||
|
res : requests.Response = \
|
||||||
|
requests.post(poll_url, json=data, headers=headers)
|
||||||
|
#print('sent ', data)
|
||||||
|
print(res.text, res, res.reason)
|
||||||
|
if res.status_code != 200: return None
|
||||||
|
return res.json()
|
||||||
|
|
||||||
|
def emulate(poll_url, token_in: str):
|
||||||
|
mac = "94:b9:7e:fb:57:1a"
|
||||||
|
polling_interval_secons = 1
|
||||||
|
polling_headers = {
|
||||||
|
'accept' : 'application/json',
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
}
|
||||||
|
stop = False
|
||||||
|
state = False
|
||||||
|
while (not stop):
|
||||||
|
sleep(polling_interval_secons)
|
||||||
|
data = {
|
||||||
|
'bluetooth_mac': mac,
|
||||||
|
'state': state,
|
||||||
|
'token': token_in
|
||||||
|
}
|
||||||
|
data_dict = poll(poll_url, data, polling_headers)
|
||||||
|
if not data_dict: continue
|
||||||
|
if data_dict['open_command']: state = True
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
emulate("https://ibs.cronos.typedef.cf:4040/iotdevice/door/status",
|
||||||
|
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJibHVldG9vdGhfbWFjIjoiOTQ6Yjk6N2U6ZmI6NTc6MWEifQ.oRbL0U70g8HGkKIOnwkesDiB40VWTPmwIWiysvP-hXA")
|
Loading…
Reference in New Issue
Block a user