[wifi] fix bug with disconnect

This commit is contained in:
IrvingGao 2024-06-13 13:39:38 +08:00
parent 002d44e0e7
commit a64b22c329
1 changed files with 19 additions and 7 deletions

View File

@ -20,16 +20,27 @@ except ImportError:
# blue: APP # blue: APP
# red: hotspot # red: hotspot
def network_error_light(): def network_error_light_1():
error_time = datetime.datetime.now() error_time = datetime.datetime.now()
while led_enabled: while led_enabled:
orangepi.set_led_off('blue') orangepi.set_led_off('blue')
orangepi.set_led_on('red') orangepi.set_led_on('red')
time.sleep(0.5) time.sleep(0.25)
orangepi.set_led_on('blue') orangepi.set_led_on('blue')
orangepi.set_led_off('red') orangepi.set_led_off('red')
time.sleep(0.5) time.sleep(0.25)
if error_time + datetime.timedelta(seconds=5) < datetime.datetime.now(): if error_time + datetime.timedelta(seconds=2) < datetime.datetime.now():
break
# close_app()
def network_error_light_2():
error_time = datetime.datetime.now()
while led_enabled:
orangepi.set_led_on('red')
time.sleep(0.25)
orangepi.set_led_off('red')
time.sleep(0.25)
if error_time + datetime.timedelta(seconds=2) < datetime.datetime.now():
break break
# close_app() # close_app()
@ -148,10 +159,11 @@ def check_wifi_connection():
``` ```
sudo systemctl restart NetworkManager sudo systemctl restart NetworkManager
''' '''
network_error_light() network_error_light_1()
subprocess.Popen('sudo systemctl restart NetworkManager', shell=True) subprocess.Popen('sudo systemctl restart NetworkManager', shell=True)
# subprocess.run(['sudo', 'systemctl', 'restart', 'NetworkManager'], check=True) # subprocess.run(['sudo', 'systemctl', 'restart', 'NetworkManager'], check=True)
time.sleep(2) time.sleep(1)
return check_wifi_connection()
return False, None return False, None
def scan_wifi(): def scan_wifi():
@ -161,7 +173,7 @@ def scan_wifi():
result = subprocess.run(cmd, shell=True, capture_output=True, text=True) result = subprocess.run(cmd, shell=True, capture_output=True, text=True)
except subprocess.CalledProcessError as e: except subprocess.CalledProcessError as e:
print(f"{datetime.datetime.now()}: Error scanning Wi-Fi: {e}") print(f"{datetime.datetime.now()}: Error scanning Wi-Fi: {e}")
network_error_light() network_error_light_2()
print(f"{datetime.datetime.now()}: Wi-Fi scan complete...") print(f"{datetime.datetime.now()}: Wi-Fi scan complete...")
ssid_list = [] ssid_list = []
wifi_list = [] wifi_list = []