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, podem fer 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.
Si hem creat la llibreria miwifi caldrà modificar-la una mica:
S'ha creat dues noves funcions:
comprova_wifi(), i desconnecta() que es podran executar des del programa corresponent.
El següent programa no ha funcionat bé utiitzant el led integrat de la placa (pin 1).
import network
from time import sleep
from machine import Pin
led = Pin(23, Pin.OUT)
estacio = network.WLAN(network.STA_IF)
def connecta_wifi(ssid,psw): # ssid i psw es definiran en cridar l'execució
estacio.active(True) # activa el mode estació
estacio.connect(ssid, psw) # connecta a la xarxa definida
# mentre no estigui connectat ...
while not estacio.isconnected():
print('.', end='')
sleep(0.1)
# un cop connectat encen el led i mostra els missatges:
led.on()
print('Connectat a', ssid)
print ('la meva IP:', estacio.ifconfig()[0])
print ('potencia senyal:', estacio.status('rssi'))
def comprova_wifi(ssid,psw): # ssid i psw es definiran en cridar l'execució
if not estacio.isconnected():
led.off()
connecta_wifi(ssid,psw)
else:
print('connectat')
def desconnecta(ssid,psw): # ssid i psw es definiran en cridar l'execució
estacio.active(False)
led.off()