41 lines
1.5 KiB
Python
41 lines
1.5 KiB
Python
from network import WLAN as wlan, STA_IF as staif, AP_IF as apif
|
|
from time import sleep_ms
|
|
|
|
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:
|
|
if net[0] == b'WiFiNetworkName':
|
|
wlan(staif).connect("WiFiNetworkName","WiFiNetworkPSK")
|
|
found_net=True
|
|
break
|
|
elif net[0] == b'WiFiNetworkName':
|
|
wlan(staif).connect("WiFiNetworkName","WiFiNetworkPSK")
|
|
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()
|