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

Tue, 15 Apr 2025 15:45:24 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Tue, 15 Apr 2025 15:45:24 +0200
branch
eric7
changeset 11220
044ea8893b81
parent 10153
ffe7432f716b
permissions
-rw-r--r--

MicroPython Interface
- Reworked the recent change to cover more MPy variant strings..

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