Advertisement
Armandur

Thread urequests

Dec 22nd, 2022
969
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.71 KB | None | 0 0
  1. import network
  2. import time
  3. import machine
  4. import urequests
  5. import gc
  6. import _thread
  7.  
  8. ssid = "ssid"
  9. password = "password"
  10.  
  11. gc.enable()
  12.  
  13. #Connect to WLAN
  14. wlan = network.WLAN(network.STA_IF)
  15.  
  16. def connect():
  17.     global wlan
  18.     wlan.active(True)
  19.     wlan.connect(ssid, password)
  20.     while wlan.isconnected() == False:
  21.         print('Waiting for connection...')
  22.         time.sleep(1)
  23.     print(wlan.ifconfig())
  24.  
  25. connect()
  26.  
  27. error = False
  28. inCall = None
  29. message = ""
  30. serverURL = "http://192.168.1.4:8585"
  31.  
  32. def checkStatus():
  33.     global inCall
  34.     global message
  35.     global error
  36.  
  37.     while True:
  38.         try:
  39.             error = False
  40.             response = urequests.get(serverURL)
  41.  
  42.             if response.status_code != 200:
  43.                 message = (f"Error {response.status_code}", 0)
  44.                 error = True
  45.                 response.close()
  46.                 gc.collect()
  47.                 time.sleep(1)
  48.                 continue
  49.            
  50.             # data: {"incall": "True/False", "time": "0/1s/5s/10s"}
  51.             data = response.json()
  52.             inCall = data["inCall"]
  53.             message = data["time"]
  54.  
  55.             response.close()
  56.             gc.collect()
  57.             time.sleep(1)
  58.         except Exception as err:
  59.             error = True
  60.             print(f"Exception: {err}")
  61.  
  62. statusThread = _thread.start_new_thread(checkStatus, ())
  63.  
  64. while True:
  65.     #response = urequests.get(serverURL)
  66.     print(f"WiFi-status: {wlan.status()}")
  67.     print(f"Error: {error}")
  68.     #print(response.json()["inCall"])
  69.     #print(response.json()["time"])
  70.     print(f"inCall: {inCall}")
  71.     print(f"message: {message}\n")
  72.     #response.close()
  73.     gc.collect()
  74.     time.sleep(1)
  75.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement