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

Sun, 16 Mar 2025 12:53:12 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 16 Mar 2025 12:53:12 +0100
branch
eric7
changeset 11170
6d6199d668fb
parent 10153
ffe7432f716b
permissions
-rw-r--r--

Added the Adafruit Feather nRF52840 to the list of known NRF52 boards and changed the list of known CircuitPython boards to be more explicit with respect to Adafruit boards (i.e. VID 0x239A).

9836
902ec9a04ebe MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 try:
902ec9a04ebe MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2 import secrets
902ec9a04ebe MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3
9890
66a6d3f131cc Changed the MCU script to a pythonic naming.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9836
diff changeset
4 def connect_wifi():
9836
902ec9a04ebe MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5 import network
902ec9a04ebe MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 from time import sleep
902ec9a04ebe MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7
902ec9a04ebe MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 print("Connecting WiFi to '{0}' ...".format(secrets.WIFI_SSID))
10153
ffe7432f716b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9890
diff changeset
9
ffe7432f716b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9890
diff changeset
10 if secrets.WIFI_HOSTNAME:
ffe7432f716b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9890
diff changeset
11 try:
ffe7432f716b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9890
diff changeset
12 network.hostname(secrets.WIFI_HOSTNAME)
ffe7432f716b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9890
diff changeset
13 except AttributeError:
ffe7432f716b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9890
diff changeset
14 pass
ffe7432f716b MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9890
diff changeset
15
9836
902ec9a04ebe MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 wifi = network.WLAN(network.STA_IF)
902ec9a04ebe MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 wifi.active(False)
902ec9a04ebe MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18 wifi.active(True)
902ec9a04ebe MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 wifi.connect(secrets.WIFI_SSID, secrets.WIFI_KEY if secrets.WIFI_KEY else None)
902ec9a04ebe MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 max_wait = 140
902ec9a04ebe MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 while max_wait:
902ec9a04ebe MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 if wifi.status() < 0 or wifi.status() >= 3:
902ec9a04ebe MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 break
902ec9a04ebe MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 max_wait -= 1
902ec9a04ebe MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 sleep(0.1)
902ec9a04ebe MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 if wifi.isconnected():
902ec9a04ebe MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 print("WiFi connected:", wifi.ifconfig())
902ec9a04ebe MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 else:
902ec9a04ebe MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 print("WiFi connection failed")
902ec9a04ebe MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30
9890
66a6d3f131cc Changed the MCU script to a pythonic naming.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9836
diff changeset
31 connect_wifi()
9836
902ec9a04ebe MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 except ImportError:
902ec9a04ebe MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 print("WiFi secrets are kept in 'secrets.py', please add them there!")

eric ide

mercurial