mirror of
https://github.com/c0de-archive/pixoPython.git
synced 2024-12-22 05:12:41 +00:00
Clean up Wifi
This commit is contained in:
parent
33ebe74e13
commit
6326b5290f
43
pixo/wifi.py
43
pixo/wifi.py
@ -7,8 +7,8 @@ from pixels import Pixo
|
||||
|
||||
WIFI_IMG = [(0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (255, 255, 255), (255, 255, 255), (253, 253, 253), (255, 255, 255), (255, 255, 255), (255, 255, 255), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (255, 255, 255), (255, 255, 255), (255, 255, 255), (255, 255, 255), (255, 255, 255), (255, 255, 255), (255, 255, 255), (255, 255, 255), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (255, 255, 255), (255, 255, 255), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (255, 255, 255), (255, 255, 255), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (255, 255, 255), (255, 255, 255), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (255, 255, 255), (255, 255, 255), (0, 0, 0), (0, 0, 0), (0, 0, 0), (255, 255, 255), (255, 255, 255), (0, 0, 0), (0, 0, 0), (0, 0, 0), (255, 255, 255), (255, 255, 255), (255, 255, 255), (255, 255, 255), (0, 0, 0), (0, 0, 0), (0, 0, 0), (255, 255, 255), (255, 255, 255), (0, 0, 0), (0, 0, 0), (255, 255, 255), (0, 0, 0), (0, 0, 0), (0, 0, 0), (255, 255, 255), (255, 255, 255), (255, 255, 255), (255, 255, 255), (255, 255, 255), (255, 255, 255), (0, 0, 0), (0, 0, 0), (0, 0, 0), (255, 255, 255), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (255, 255, 255), (255, 255, 255), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (255, 255, 255), (255, 255, 255), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (255, 255, 255), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (255, 255, 255), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (255, 255, 255), (255, 255, 255), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (255, 255, 255), (255, 255, 255), (255, 255, 255), (255, 255, 255), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (255, 255, 255), (255, 255, 255), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0)]
|
||||
|
||||
# We will attempt connections for 30 seconds
|
||||
MAX_WAIT = 30
|
||||
# We will attempt connections for this many seconds
|
||||
MAX_WAIT = 5
|
||||
|
||||
# Setup the wifi connection
|
||||
STA_IF = network.WLAN(network.STA_IF)
|
||||
@ -16,18 +16,41 @@ AP_IF = network.WLAN(network.AP_IF)
|
||||
|
||||
# TODO: iterate over known access points and save multiple passwords
|
||||
if not STA_IF.isconnected():
|
||||
connect(STA_IF, 'Standard')
|
||||
|
||||
# We check this twice to enable AP mode if we failed to connect
|
||||
# Normally this happens if the password has been misconfigured,
|
||||
# or if the device moves to a different location (more likely)
|
||||
if not STA_IF.isconnected():
|
||||
# Disable STA_IF to stop serial spam
|
||||
# You can enable it again by doing `import wifi`
|
||||
# Followed by `wifi.STA_IF.active(True)` - Then you can call the `wifi.connect_standard`
|
||||
# method to try connecting again (after `creds.py` has been fixed)
|
||||
STA_IF.active(False)
|
||||
|
||||
connect(AP_IF, 'Access Point')
|
||||
|
||||
|
||||
def connect(interface, interface_name):
|
||||
print("Configuring %s interface with credentials from creds.py" % interface_name)
|
||||
start_time = time.time()
|
||||
|
||||
# Start the network interface
|
||||
STA_IF.active(True)
|
||||
# Start the interface if it's not already
|
||||
interface.active(True)
|
||||
|
||||
STA_IF.connect(creds.WIFI_SSID, creds.WIFI_PASSWORD)
|
||||
while not STA_IF.isconnected():
|
||||
Pixo().blink_image(WIFI_IMG, (200, 40, 40))
|
||||
if interface == STA_IF:
|
||||
STA_IF.connect(creds.WIFI_SSID, creds.WIFI_PASSWORD)
|
||||
selected_color = (200, 40, 40)
|
||||
elif interface == AP_IF:
|
||||
AP_IF.config(essid=creds.AP_SSID, password=creds.AP_PASSWORD)
|
||||
selected_color = (20, 10, 230)
|
||||
|
||||
while not interface.isconnected():
|
||||
Pixo().blink_image(WIFI_IMG, selected_color)
|
||||
|
||||
if time.time() - start_time >= MAX_WAIT:
|
||||
print("Took too much time to connect to %s interface" % interface_name)
|
||||
break
|
||||
|
||||
if STA_IF.isconnected():
|
||||
Pixo().fill_image(WIFI_IMG, False).force_color((40, 200, 40))
|
||||
# TODO: If can't connect and boot button pressed, start AP mode
|
||||
if interface.isconnected():
|
||||
Pixo().fill_image(WIFI_IMG, False).force_color((40, 200, 40))
|
Loading…
Reference in New Issue
Block a user