from network import WLAN as wlan, STA_IF as staif, AP_IF as apif from time import sleep_ms from wifi_cfg import wlan_nets sleep_ms(100) #make sure AP mode is off and station mode is on if wlan(apif).active() == True: wlan(apif).active(False) if wlan(staif).active() != True: wlan(staif).active(True) #we don't want to go through all this crap if stored network details are available #this is inside an if statement because this file gets executed after deepsleep # so we may still be connected(?) if wlan(staif).isconnected() != True: nets=wlan(staif).scan() found_net=False for net in nets: for cfg_net in wlan_nets.keys(): if net[0] == b'%s' % cfg_net: wlan(staif).connect(cfg_net, wlan_nets[cfg_net]) found_net=True break if found_net == False: print("couldn't connect to wifi, nets found: %s" % nets) print("to fix temporarily, run: wlan(staif).connect('yournet','yourpass'), followed shortly after by wlan(staif).ifconfig()") #exit else: #Loop until wifi is connected and passes DHCP, or until 30 seconds have elapsed. slept=0 while wlan(staif).ifconfig()[0] == '0.0.0.0' or wlan(staif).isconnected() == False: if slept > 300: break sleep_ms(100) slept+=1 #import webrepl #webrepl.start()