import network import gc import time import machine import shared_vars import system class SystemHandler: def get_wifi_list(self,data): """扫描并返回可用的 WiFi 列表""" try: wlan = network.WLAN(network.STA_IF) wlan.active(True) networks = wlan.scan() wifi_list = [{'ssid': net[0].decode('utf-8'), 'rssi': net[3]} for net in networks] print("扫描到的 WiFi 列表:", wifi_list) system.send_text(shared_vars.WS_SOCK,wifi_list) return wifi_list except Exception as e: print(f"获取 WiFi 列表时出错: {e}") return [] def get_memory_info(self,data): """获取当前内存使用信息""" try: free_mem = gc.mem_free() allocated_mem = gc.mem_alloc() total_mem = free_mem + allocated_mem memory_info = { 'free_memory': free_mem, 'allocated_memory': allocated_mem, 'total_memory': total_mem } print("内存信息:", memory_info) return memory_info except Exception as e: print(f"获取内存信息时出错: {e}") return {} def free_memory(self,data): """释放内存并返回释放的内存大小""" try: before_free = gc.mem_free() gc.collect() after_free = gc.mem_free() freed_memory = after_free - before_free print(f"释放了 {freed_memory} 字节的内存") return freed_memory except Exception as e: print(f"释放内存时出错: {e}") return 0 def connect_to_wifi(self,data): """连接到指定的 WiFi""" ssid, password = data.get('ssid'), data.get('password') try: wlan = network.WLAN(network.STA_IF) wlan.active(True) wlan.connect(ssid, password) start_time = time.time() while not wlan.isconnected(): if time.time() - start_time > 10: # 超时 10 秒 raise TimeoutError("连接 WiFi 超时") time.sleep(1) print(f"成功连接到 WiFi: {ssid}") return wlan.ifconfig() except Exception as e: print(f"连接 WiFi 时出错: {e}") return None def get_system_time(self,data): """获取系统时间""" try: current_time = time.localtime() formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", current_time) print("当前系统时间:", formatted_time) return formatted_time except Exception as e: print(f"获取系统时间时出错: {e}") return None def restart_device(self,data): """重启设备""" try: print("设备即将重启...") time.sleep(1) machine.reset() except Exception as e: print(f"重启设备时出错: {e}") return None return None