# import json # import network # import time # # def xor_encrypt_decrypt(input_string, key): # # output = "".join(chr(ord(char) ^ key) for char in input_string) # # return output # # def wifi_connect(ssid, password, timeout=10): # # """ # # Connects to the specified Wi-Fi access point. # # :param ssid: The SSID of the Wi-Fi network. # # :param password: The password for the Wi-Fi network. # # :param timeout: Time in seconds to wait for connection. # # :return: True if connected, False otherwise. # # """ # # wlan = network.WLAN(network.STA_IF) # # wlan.active(True) # # if not wlan.isconnected(): # # print(f"Connecting to network: {ssid}...") # # wlan.connect(ssid, password) # # start_time = time.time() # # while not wlan.isconnected(): # # if time.time() - start_time > timeout: # # print("Connection timeout!") # # wlan.active(False) # # del wlan # # return False # # time.sleep(1) # # print("Network connected!") # # print("IP Address:", wlan.ifconfig()[0]) # # return True # def wifi_setup(): # # try: # # with open("config.json", "r") as f: # # config = json.load(f) # # for ap in config.get("access_points", []): # # result = wifi_connect( # # ap["ssid"], xor_encrypt_decrypt(ap["secret"], config["xor_key"]) # # ) # # if result: # # return # # except (OSError, ValueError) as e: # # print("OSError config.json unreadable or no") # print("Falling back on selfhosted AP") # ap = network.WLAN(network.AP_IF) # ap.config(essid="RP2040-AP-2", password="testing123") # ap.ifconfig(("192.168.4.1", "255.255.255.0", "192.168.4.1", "192.168.4.1")) # ap.active(True) # print("SSID RP2040-AP") # return # print("Attempting to connect to wifi") # time.sleep(10) # wifi_setup()