diff --git a/wifi_manager.py b/wifi_manager.py index d16b10a..1bdfc11 100644 --- a/wifi_manager.py +++ b/wifi_manager.py @@ -7,6 +7,7 @@ import time import datetime import json from flask import Flask, render_template, request, redirect, url_for, make_response +import socket try: from takway.board import OrangePi @@ -54,12 +55,31 @@ def edit_line_in_file(file_path, search_string, replacement_string): except IOError as e: print(f"An error occurred: {e}") + +# 获取私有IP地址 +def save_local_ip(): + try: + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.connect(("8.8.8.8", 80)) + local_ip = s.getsockname()[0] + s.close() + # save local_ip to file + with open('local_ip.txt', 'w') as f: + f.write(local_ip) + return local_ip + except Exception as e: + print(f"Error getting private IP: {e}") + return None + app = Flask(__name__) def close_app(): if led_enabled: orangepi.set_led_off('blue') + # 保存Wi-Fi IP地址 + save_local_ip() + # 获取当前Flask应用程序的进程ID flask_pid = os.getpid() @@ -224,13 +244,12 @@ def disconnect_wifi(): def connect_saved_wifi(scaned_wifi_list): wifi_list = load_saved_wifi() - if not wifi_list: + if wifi_list == []: return False, None for wifi in wifi_list: if wifi['ssid'] in [item['ssid'] for item in scaned_wifi_list]: connect_wifi(wifi['ssid'], wifi['password']) return True, wifi['ssid'] - return False, None def load_saved_wifi(): try: @@ -271,7 +290,7 @@ def submit(): # 关闭热点 close_hotspot() - time.sleep(3) + time.sleep(2) # 连接到用户选择的 Wi-Fi 网络 if connect_wifi(ssid, password): close_app()