INTRODUCCION
Es muy normal el poseer dispositivos que pueden conectarse a Internet, como lo es un teléfono móvil, una laptop, una televisión, etc. Hay muchos casos en los cuales, se necesita hacer el envío de información hacia alguna plataforma alojada en la Nube. Lo necesario para realizar esto es conectarse a Internet.
En el ejercicio de esta semana, se realizará la conexión de la tarjeta electrónica ESP32 Dev Kit v1 hacia una red WiFi. Para esto, se recomienda leer el siguiente post, con información del ESP32 para conocer un poco más acerca de esta tarjeta, la instalación de los paquetes en IDE de Arduino, etc.
MOMENTO DE HACER EL CIRCUITO…
Para la puesta en marcha de este circuito, se necesitará los siguientes componentes:
- ESP32 Dev Kit v1
- Cable USB- Micro USB
- IDE Arduino
El diagrama de conexiones del circuito se presenta a continuación:
Para aquellos que desean obtener más información sobre esta placa electrónica, pueden ingresar al siguiente enlace del fabricante:
https://www.espressif.com/en/products/devkits
Se muestra a continuación, el diagrama de posición y función de cada uno de los pines de la tarjeta ESP32 DEV-KIT V1
HORA DE PROGRAMAR NUESTRA TARJETA….
Para realizar la programación del microcontrolador, usaremos el Arduino IDE, por la facilidad y lo sencillo que es programar con dicho programa.
El código a cargar en el ESP32 Dev Kit v1 es el siguiente:
/*
* El ejemplo de esta semana es una conexión sencilla hacia alguna red WiFi
*
* Para esta semana, necesitamos lo siguiente:
* ESP32
* Una red WiFi existente en nuestro hogar, lugar de trabajo, etc.
*
* No habrá una conexión física con ningún componente extra.
* Realizado por: Sebastian Carranza C. - TodoMaker
*/
/*Incluimos primero la librería*/
#include <WiFi.h>
/*Definimos nuestras credenciales de la red WiFi*/
const char* ssid = "SSID";
const char* pass = "PASSWORD";
void setup() {
/*Iniciamos el terminal Serial para la escritura de algunos parámetros */
Serial.begin(115200);
/*Iniciamos la conexión a la red WiFi definida*/
WiFi.begin(ssid, pass);
delay(2000);
/*En el terminal Serial, indicamos que se está realizando la conexión*/
Serial.print("Se está conectando a la red WiFi denominada ");
Serial.println(ssid);
/*Mientras se realiza la conexión a la red, aparecerán puntos, hasta que se realice la conexión*/
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
/*Con la conexión ya realizada, se pasa a imprimir algunos datos importantes, como la dirección IP asignada a nuestro dispositivo*/
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void loop() {
/*No se contempla el uso de un loop en el ejemplo de esta semana*/
}
El funcionamiento del código se muestra a continuación:
- Como primer paso (y muy importante, por cierto), debemos llamar a la librería WiFi.h, que se encuentra instalada en el IDE de Arduino por defecto.
/*Incluimos primero la librería*/
#include <WiFi.h>
- Ahora, definimos como char constante el nombre y la contraseña de la red WiFi a la cual realizaremos la conexión.
/*Definimos nuestras credenciales de la red WiFi*/
const char* ssid = "SSID";
const char* pass = "PASSWORD";
- Definimos en Setup () el inicio de nuestro terminal Serial a una velocidad de 115200 baudios, e iniciamos la conexión WiFi con el comando WiFi.begin, añadiendo los nombres de las variables mencionadas (SSID y PASS); añadimos un retardo de 2 segundos.
void setup() {
/*Iniciamos el terminal Serial para la escritura de algunos parámetros */
Serial.begin(115200);
/*Iniciamos la conexión a la red WiFi definida*/
WiFi.begin(ssid, pass);
delay(2000);
- Imprimimos en el monitor Serial que se está realizando la conexión hacia la red WiFi. Añadimos un While que tiene como función imprimir “.” Mientras se realice la conexión con la red WiFi. Una vez conectado, dejarán de aparecer esos caracteres.
/*En el terminal Serial, indicamos que se está realizando la conexión*/
Serial.print("Se está conectando a la red WiFi denominada ");
Serial.println(ssid);
/*Mientras se realiza la conexión a la red, aparecerán puntos, hasta que se realice la conexión*/
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
- Cuando la conexión se haya realizado, se imprimirá en el monitor Serial “WiFi Connected”, junto a la dirección IP que se le asignó al ESP32. Cabe mencionar que no se contempla el uso de Loop () debido a que, la conexión se realiza una única vez, por lo que no es necesario realizar un bucle infinito de conexiones.
/*Con la conexión ya realizada, se pasa a imprimir algunos datos importantes, como la dirección IP asignada a nuestro dispositivo*/
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void loop() {
/*No se contempla el uso de un loop en el ejemplo de esta semana*/
}
HORA DE LAS PRUEBAS DEL CIRCUITO…
Se muestra a continuación, imágenes tanto del circuito en físico como del código implementado.
HORA DE PROBAR NUESTRO PROYECTO…
Se muestra a continuación, fotos y video del proyecto en funcionamiento.
En el momento en el que llegamos a observar la dirección IP de nuestra tarjeta electrónica, nos daremos cuenta que se realizaron los pasos correctamente y que el dispositivo se conectó hacia la red WiFi.
CONCLUSIONES
En este ejercicio, llegamos a conectar nuestra tarjeta electrónica ESP32 Dev Kit v1 hacia la red WiFi escogida. Podemos concluir que la conexión de dispositivos a Internet, son de mucha importancia e interés, debido a que con ese primer paso, podemos llegar a realizar proyectos más avanzados, usando algunas plataformas a las cuales debemos conectarnos a Internet para poder hacer un envío de datos.
Como recomendación final, se indica que se siga los siguientes tutoriales / ejercicios relacionados al IoT usando distintas placas o microcontroladores, para poder tener una base concisa y fuerte en uso de distintas tecnologías, proyectos, etc.
Te invitamos a tomar el curso de Introducción al ESP32: Introducción al ESP32 | TodoMaker’s School