src/eric7/MicroPython/Devices/MCUScripts/esp32WiFiConnect.py

Sat, 25 Feb 2023 19:18:07 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 25 Feb 2023 19:18:07 +0100
branch
mpy_network
changeset 9799
a79430a8811d
parent 9795
11b4d39d7584
child 9828
32c8a5b57332
permissions
-rw-r--r--

MicroPython
- added support for 'paste' mode to circumvent the reset of CircuitPython when executing some commands through the device interface

9795
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 def connectWiFi():
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2 import esp32
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 import network
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 from time import sleep
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 try:
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 nvs = esp32.NVS("wifi_creds")
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 buf = bytearray(1024)
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9 size = nvs.get_blob("ssid", buf)
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 ssid = buf[:size].decode()
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11 size = nvs.get_blob("password", buf)
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 password = buf[:size].decode()
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 wifi = network.WLAN(network.STA_IF)
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 wifi.active(False)
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 wifi.active(True)
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 wifi.connect(ssid, password)
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 max_wait = 140
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 print("Connecting WiFi to '{0}'...".format(ssid))
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 while max_wait and wifi.status() == network.STAT_CONNECTING:
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 max_wait -= 1
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 sleep(0.1)
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 print("Connection status:", wifi.isconnected())
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 except:
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 pass
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26
11b4d39d7584 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 connectWiFi()

eric ide

mercurial