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

Sun, 03 Nov 2024 17:50:34 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 03 Nov 2024 17:50:34 +0100
branch
eric7
changeset 11034
7b8a21fd2d58
parent 10153
ffe7432f716b
permissions
-rw-r--r--

Extended the EricMessageBox module to determine a parent widget if none was given and extended the EricApplication class to store a reference to the main widget.

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