diff --git a/wifi_manager.py b/wifi_manager.py index 6c48547..bbeaa0d 100644 --- a/wifi_manager.py +++ b/wifi_manager.py @@ -19,6 +19,20 @@ except ImportError: # blue: APP # red: hotspot +def network_error_light(): + error_time = datetime.datetime.now() + while led_enabled: + orangepi.set_led_off('blue') + orangepi.set_led_on('red') + time.sleep(0.5) + orangepi.set_led_on('blue') + orangepi.set_led_off('red') + time.sleep(0.5) + if error_time + datetime.timedelta(seconds=5) < datetime.datetime.now(): + break + close_app() + + app = Flask(__name__) def close_app(): @@ -67,11 +81,19 @@ def check_wifi_connection(): for line in lines: columns = line.split() print(columns) + ''' + ['wlan0', 'wifi', 'disconnected', '--'] + ['p2p-dev-wlan0', 'wifi-p2p', 'disconnected', '--'] + ['eth0', 'ethernet', 'unavailable', '--'] + ['lo', 'loopback', 'unmanaged', '--'] + ''' if len(columns) >= 4 and columns[2] == "connected": wifi_ssid = columns[3] if led_enabled: orangepi.set_led_off('blue') return True, wifi_ssid + elif len(columns) >= 4 and columns[0] == "wlan0" and columns[2] == "unmanaged": + network_error_light() return False, None def scan_wifi(): @@ -81,17 +103,7 @@ def scan_wifi(): result = subprocess.run(cmd, shell=True, capture_output=True, text=True) except subprocess.CalledProcessError as e: print(f"{datetime.datetime.now()}: Error scanning Wi-Fi: {e}") - error_time = datetime.datetime.now() - while led_enabled: - orangepi.set_led_off('blue') - orangepi.set_led_on('red') - time.sleep(0.5) - orangepi.set_led_on('blue') - orangepi.set_led_off('red') - time.sleep(0.5) - if error_time + datetime.timedelta(seconds=5) < datetime.datetime.now(): - break - close_app() + network_error_light() ssid_list = [] wifi_list = [] output = result.stdout.strip()