Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Conectar Wifi con ESP32 - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Conectar Wifi con ESP32
Buenas tardes, aquí tenemos otro vídeo en el que vamos a explicar cómo vamos a conectar un
00:00:00
dispositivo IoT a una red wifi. Lo primero es saber qué redes hay cerca y qué calidad de señal tienen.
00:00:11
Hoy vamos a hacer un ejercicio básico pero súper útil con una SP32 que ya la tenemos aquí en
00:00:17
WorldWii y que vamos a escanear las redes wifi cercanas y ver en el monitor en serie su nombre,
00:00:23
su potencia de señal y si están protegidas
00:00:28
o no. Bien,
00:00:30
Walkway es un simulador online
00:00:32
donde podemos ejecutar el código
00:00:34
de Arduino, como hemos hecho siempre, y
00:00:36
donde vamos a ver
00:00:38
cómo
00:00:39
esta placa SP32
00:00:41
al dar al play,
00:00:44
le damos aquí, pues va a efectuar
00:00:45
el escaneo
00:00:48
de las posibles bufías que hay.
00:00:49
Aquí aparece la de Walkway West,
00:00:52
que sería la del propio programa de Walkway,
00:00:54
que es la que se conecta.
00:00:56
Sabéis que funciona en cloud y que nos está simulando que se conecta a una red. El objetivo del programa es poner esta SP32 en modo estación, como un móvil que busca wifi, ejecutar un escaneo y mostrar resultados por el puerto en serie, que sería este de aquí.
00:00:57
bien, aquí tenemos todo el código
00:01:16
vamos a ir poniendo poco a poco el código
00:01:20
y para hacerlo el vídeo un poco más corto
00:01:22
tan solo voy a ir explicándolo
00:01:26
sin tener que escribirlo
00:01:29
aquí en principio, veis que aquí aparece
00:01:30
vamos a pararlo
00:01:33
nos aparece la librería que hay que incluir
00:01:33
esta es la librería de SP32
00:01:37
para trabajar con RederWifi
00:01:38
gracias a esto podemos usar funciones como
00:01:40
un Wifi Mode que estaría aquí
00:01:42
y Wi-Fi Scan Networks, que ahora veremos para qué sirve.
00:01:45
Bien, el setup es sencillo.
00:01:52
Lo único que aparece es la inicialización aquí.
00:01:56
Tenemos aquí inicialización del monitor en serie con el begin.
00:01:58
Esto lo vamos a hacer a 115.200 baudios.
00:02:04
Esto es como decir que voy a enviar mensajes al ordenador
00:02:08
para ver qué está haciendo la SP32.
00:02:11
El mensaje de inicio, a través de println, como ya habíamos hecho alguna vez, es inicializando un Wi-Fi.
00:02:15
Esto es un testdoc para confirmar que el programa arrancó correctamente.
00:02:22
Después utilizamos el método mode de Wi-Fi, en el que, bueno, pues este es muy importante porque ponemos la SP32, la ponemos en modo Wi-Fi STA,
00:02:25
¿Qué significa Station? En modo estación, la SP32 se comporta como un cliente Wi-Fi, busca redes y puede conectarse a una de ellas. Si lo pusiéramos como Wi-Fi en vez de STA, lo pusiéramos como guión bajo AP, crearía su propia red como si fuera un router.
00:02:41
bien a continuación una vez que hemos puesto el modo estación y además pues añadimos a una nueva
00:03:02
línea al monitor en serie en el que nos diga pues que el setup ya está concluido que está hecho bien
00:03:12
a continuación nada más que nos quedaría el loop que veis que aquí no es muy largo en el que pues
00:03:19
empezaría de nuevo pues que con un println en el que mostraríamos un texto en el monitor en serie
00:03:24
diciendo que se está escaneando y después utilizaríamos el método scanNetworks. Este
00:03:29
scanNetworks lo que va a hacer este método, esta función ordena al SP32 buscar redes cercanas.
00:03:35
Entonces devuelve un número que es n, que sería de tipo entero, que es el número de redes que
00:03:48
ha encontrado entonces con este método scan network nos va a buscar en las posibles redes
00:03:57
que hay y nos va a decir el número a través de este entero que sería n una vez que se ha realizado
00:04:04
el escaneo lo ponemos en serie también a través de primer el n diciendo pues que el escaneo se ha
00:04:10
realizado scan don y luego pues aparece aquí una un condicional que lo que nos va a determinar es
00:04:17
si la red es igual a cero, o sea, si el número de redes que ha detectado
00:04:23
es igual a cero, pues nos aparecerá que no ha encontrado redes
00:04:28
a través de este println, un método que se utiliza para el monitor en serie
00:04:31
y si fuera distinto de cero, que es el caso en el que
00:04:36
si veis aquí detecta una red, lo que hace es que primero imprime
00:04:40
el número de redes que ha encontrado, veis aquí aparece un 1, y luego nos pondría
00:04:43
networks encontradas, que sería networks found
00:04:47
Después, una vez que ha realizado esto, esto hay que decir que puede tardar un momento porque está escuchando al aire y recopilando redes.
00:04:51
Si no hubiera redes significa que no se encontró ninguna red y entonces pone no networks found.
00:05:06
Si hay redes, pues habría que imprimir la cantidad.
00:05:12
entonces si hay redes tendría que recorrer el número de redes que hay entonces como n es el
00:05:15
número de redes aquí en este caso es una entonces el for lo hará una sola vez pero si fueran varias
00:05:21
pues tendremos que recorrerlas e imprimir todas las características de esas redes aquí lo que
00:05:26
hará en este for irá desde igual a cero hasta y hasta n o sea hasta el número de redes que hay y
00:05:32
la será recorriendo imprimiendo las características de cada una de ellas entonces aquí en este caso
00:05:38
si n fuera 2, pues pasaría tanto por el valor de 1
00:05:45
y empezaría, veis que ha puesto aquí un más más delante del i
00:05:48
eso que quiere decir, que va a empezar en el 1
00:05:53
primero le suma una unidad y utiliza ese número
00:05:57
entonces empezaría en el 1, si fueran dos redes, como i tiene que ser menor que n
00:06:01
utilizaría primero el 1 y luego el 2
00:06:05
veis que con el
00:06:09
El print imprime tanto, fijaos como i empieza en cero, pues imprimiría primero el 1 y luego imprimiría el 2, le separa dos puntos, luego utiliza el método ssid de dicha red, que lo pone aquí, ssid es el nombre visible de la red, como el nombre de tu wifi en casa.
00:06:13
y después otro parámetro que utiliza con el método rss y también nos diría la potencia de señal que
00:06:38
normalmente pues es de pues aquí nos aposan nos ha puesto si veis aquí lo vamos a ejecutar en
00:06:47
la que aparece el ssid que sería walk with west y luego el rango de señal o sea la potencia de
00:06:54
señal sería el que va entre paréntesis que le ha puesto aquí. Ya digo que el RSSI es la potencia
00:07:01
de señal y que normalmente se puede ver como un número negativo en dBm. Si fuera menos 30 dBm,
00:07:10
la señal sería muy fuerte, muy cerca del router. Si fuera menos 60, sería el decente. Menos 80,
00:07:18
una señal floja con conexión peor. Aquí nos aparece, vamos a darle para que lo veamos,
00:07:24
inicializando, el setup se ha concluido, escaneando y escanea la primera red que encuentra,
00:07:33
que sería WebWebWest, en el que han metido un valor de cuánto.
00:07:38
Si veis aquí, nos está poniendo primero el Wifi SSID, que sería el de la potencia,
00:07:42
Primero el nombre de la Wi-Fi, que sea Wacui West,
00:07:51
y luego el RSSI, que sería el valor de VMs de la red.
00:07:57
Está poniendo 20, pues tenemos que es un valor alto.
00:08:04
¿Qué tenemos más?
00:08:07
Además, queremos imprimir el encryption type
00:08:10
y aquí lo que hace es que nos va a decir
00:08:14
si igualando
00:08:18
a Wi-Fi Out Open
00:08:19
lo que nos está diciendo aquí es
00:08:21
el tipo de cifrado. Estamos cogiendo
00:08:23
con Wi-Fi
00:08:26
con el objeto
00:08:27
Wi-Fi, pues estamos llamando
00:08:30
al método de encryption type
00:08:32
introduciendo el número de red
00:08:33
con el que se está tratando
00:08:36
en ese momento y está esta parte
00:08:38
que tenemos, que lo que se hace es que
00:08:39
nos va a decir si
00:08:42
la red está
00:08:43
protegida
00:08:45
o no. Entonces, pone un asterisco si la red está protegida. Esto es un condicional en el que nos
00:08:47
está diciendo que si la inyectación de la red que está tratando en este for es igual a Wi-Fi
00:08:56
out open, o sea, si está abierta, esto quiere decir que si está abierta, o sea, si no tiene contraseña,
00:09:04
pues que no le ponga nada. Pero si tiene contraseña, que le ponga un asterisco. Aquí, si veis, nos está
00:09:11
poniendo continuamente que no nos pone el asterisco, sino que nos pone un espacio en blanco, no aparece
00:09:16
nada. Eso significa que la propia red está abierta y que no tiene contaseña. Si apareciera un asterisco
00:09:21
entonces indicaría que tiene una seguridad. Por último, aquí hemos introducido un delay de 10
00:09:29
milisegundos para que vuelva a realizar entre el paso de una red y la siguiente, espere 10
00:09:36
milisegundos. Como solo hay una, que es esta, entonces terminaría el FOR y a continuación
00:09:45
me imprimiría una línea en blanco, que sería esta de aquí, y efectuaría un retraso de
00:09:50
5.000 milisegundos, que serían 5 segundos, y después de 5 segundos volvería otra vez
00:09:59
a hacer el loop en el que volvería a registrar o a escanear el número de redes que hay.
00:10:03
Y eso sería básicamente lo que es el programa. Lo repasamos de nuevo. Únicamente hemos incluido la librería para poder manejar Wi-Fi. Hemos hecho en el setup inicializar el monitor en serie a 115.200 baudios y hemos puesto que se inicializaría la Wi-Fi.
00:10:09
Hemos utilizado el método mode de Wi-Fi para decir que el propio escaneo significa que va a ser en modo estación, o sea que se comporta como un cliente Wi-Fi normal buscando redes y luego hemos imprimido que se ha hecho el setup.
00:10:30
A continuación pasamos al loop y este es el que se va a repetir infinitas veces
00:10:58
Lo único que hace es que nos registra a través de ScanNetworks
00:11:03
Nos va a determinar el número de WIFIs que van a aparecer
00:11:06
Nos lo meterá en la variable n
00:11:11
Y a continuación si n es igual a cero dirá que no hay redes
00:11:14
Y si no, entonces lo que hará es que mostrará a través de este for
00:11:17
Cada una de las redes cada 10 milisegundos
00:11:22
El primero, si hubiera dos redes, imprimiría las características de la primera red, esperaría 10.000 segundos y a continuación imprimiría las características de la segunda red. Terminaría y luego me esperaría 5 segundos y volvería otra vez a realizar la misma operación.
00:11:25
Las características que va a sacar de la red Wi-Fi serían tanto el SSID, que ya hemos dicho lo que era, que era el nombre de la red, el SSI, a través de su método RSSI, y necesita un parámetro de ambos métodos, que sería el número de la red con la que estamos contando en ese mismo momento.
00:11:39
El RSSI nos da la potencia de la misma, aquí nos está indicando un número, 33, 3, ya dicho, normalmente esto se mide en dBm y tenemos que decir que para menos 30 o una señal superior, la señal es fuerte.
00:12:05
Cuando baja un valor más negativo, a menos 60 o menos 80, pues tenemos que decir que es bastante floja.
00:12:23
Y por último nos compara a través de este operador ternario, nos va a comparar si está encriptado o no a través de esta constante que es Wi-Fi out open. Si al aplicar el método encryption type a esa red es igual a Wi-Fi out open quiere decir que la red está sin contraseña, está abierta y por tanto imprimirá un espacio en blanco que es lo que aparece en cada una de las veces que sale.
00:12:28
Si, por el contrario, tenemos que no se cumple, o sea, que es que la red es segura, tiene contraseña, generará un asterisco. No genera un asterisco porque aceptaremos que continuamente Walkway West tenemos que estar abierta.
00:12:55
Y poco más en cuanto a lo que sería este programa, que veis que es muy sencillo y que lo único que nos va a decir es que es un escaneo previo para ver si la red Wi-Fi funciona a través de la placa SP32.
00:13:08
Y una vez hecho este escaneo y ver que tenemos una red en condiciones, podemos realizar cualquier operación como un envío de datos a un servidor, etc.
00:13:29
Que veremos en ejemplos posteriores.
00:13:40
- Idioma/s:
- Materias:
- Informática
- Niveles educativos:
- ▼ Mostrar / ocultar niveles
- Formación Profesional
- Ciclo formativo de grado básico
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado medio
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado superior
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado básico
- Autor/es:
- Francisco J. González Constanza
- Subido por:
- Francisco J. G.
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 2
- Fecha:
- 29 de diciembre de 2026 - 19:34
- Visibilidad:
- Público
- Centro:
- IES CIFP a Distancia Ignacio Ellacuría
- Duración:
- 13′ 49″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 266.79 MBytes