58 lines
1.7 KiB
Python
58 lines
1.7 KiB
Python
# 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) |