import network import time address = "192.168.0.1" netmask = "255.255.255.0" gateway = "192.168.0.1" dns = "192.168.0.1" class WifiAP: def __init__(self, ssid, password): self.ssid = ssid self.password = password # STA: disable self.if_sta = network.WLAN(network.STA_IF) self.if_sta.active(False) # AP: enable self.if_ap = network.WLAN(network.AP_IF) def connect(self): self.if_ap.active(True) self.if_ap.ifconfig([address, netmask, gateway, dns]) self.if_ap.config(essid=self.ssid, password=self.password) print("network config {}".format(self.if_ap.ifconfig())) class WifiSTA: def __init__(self, ssid, password): self.ssid = ssid self.password = password # AP: disable self.if_ap = network.WLAN(network.AP_IF) self.if_ap.active(False) # STA: enable self.if_sta = network.WLAN(network.STA_IF) self.if_sta.active(True) def check(self): if not self.if_sta.isconnected(): print("wifi down, reconnecting...") self.connect() def connect(self): print("connecting wifi") self.if_sta.active(True) self.if_sta.connect(self.ssid, self.password) while not self.if_sta.isconnected(): time.sleep(0.1) print("network config {}".format(self.if_sta.ifconfig()))