Per connectar l'ESP32 a una xarxa WiFi cal:
-
Importar el mòdul network de MicroPython, que permet connectar en xarxa.
-
Crear un objecte WLAN i configurar-lo com a estació (network.STA.IF)
-
Connectar a la xarxa, definida pel seu SSID (Service Set Identifier, nom de la xarxa) i contrassenya (només per a xarxes encriptades)
Proposta de codi 👀 👉
Detecció de problema 😱
Si l'ESP32 no aconsegueix connectar-se, pel motiu que sigui, el programa es quedarà "penjat" intentant-ho indefinidament.
Estaria bé definir un màxim de temps (per exemple 10 segons), i si no ho ha aconseguit, mostrar un missatge d'error.
Proposta de solució:
Podem fer un comptador amb una variable de valor inicial 0, que a cada comprovació sumi 1. Si arriba a un valor prefixat i no s'ha connectat, haurà de sortir el missatge d'error.
Com que les comprovacions es fan cada 0.1 s i en 10 s hi ha 1000 bucles de 0.1 s, el valor límit del comptador haura de ser 1000.
DESENVOLUPEM-HO
Afegim un indicador visual de la connexió
La idea: que un LED connectat a l'ESP32 s'encengui quan s'hagi establert la connexió, o que s'encengui un o altre LED en funció de si hi ha o no connexió.
A més, farem que la connexió duri un temps determinat. Desconnectarem i el LED s'apagarà
Quan no es necessita la connexió WiFi, és recomanable finalitzar-la, amb estacio.active(False), per qüestions d'estalvi:
-
De memòria al microcontrolador
-
D'energia, especialment quan la placa està alimentada amb bateries. El consum normal del microcontrolador (240 MHz) sense connexió WiFi és de 50 mA i amb connexió WiFi és d' entre 80 i 180 mA.