uc-wifi-rx-udp/src/wifi.py
2021-07-17 14:43:39 +02:00

48 lines
No EOL
1.4 KiB
Python

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()))