# This file is executed on every boot (including wake-boot from deepsleep) import esp from machine import Pin esp.osdebug(True) #import webrepl #webrepl.start() # def do_connect(ssid, pwd): # import network # sta_if = network.WLAN(network.STA_IF) # sta_if.config(pm=sta_if.PM_NONE) # if not sta_if.isconnected(): # print('connecting to network...') # sta_if.active(True) # sta_if.connect(ssid, pwd) # while not sta_if.isconnected(): # pass # print('network config:', sta_if.ifconfig()) import network import time def do_connect(ssid, password): wlan = network.WLAN(network.STA_IF) # 1. ALWAYS activate the interface FIRST if not wlan.active(): wlan.active(True) # 2. Configure Wi-Fi options AFTER activation try: # Disable Wi-Fi modem sleep (0 = PM_NONE) wlan.config(pm=0) except Exception as e: print("[Wi-Fi] Warning: Failed to set power management:", e) # 3. Connect to the access point if not wlan.isconnected(): print(f"[Wi-Fi] Connecting to {ssid}...") wlan.connect(ssid, password) timeout = 15 start_time = time.time() while not wlan.isconnected(): if time.time() - start_time > timeout: print("[Wi-Fi] Connection timed out!") return False time.sleep(0.5) print("[Wi-Fi] Connected! Network config:", wlan.ifconfig()) return True # Attempt to connect to WiFi network do_connect("Smartwave-1", 'Smartwave-prot-1') # Set PIN 27 as GND for the temperature sensor (MLX90614) sensor_gnd = Pin(27, Pin.OUT) sensor_gnd.value(0)