Sei sulla pagina 1di 28

LED controlado por IoT con ESP32 con la aplicación Blynk

Anteriormente cubrimos un tutorial para usar ThingSpeak IoT Cloud con ESP32 , hoy en
este tutorial usaremos otra aplicación popular de IoT "Blynk" para controlar el LED
usando el módulo Wi-Fi ESP32 .
Blynk es una plataforma IoT para controlar Arduino, Raspberry Pi, NodeMCU y otros
microcontroladores a través de Internet. La aplicación Blynk se puede descargar desde
Google Play Store o Apple Store.
La aplicación Blynk proporciona un tablero digital donde puede construir una interfaz
gráfica para cualquier proyecto basado en IoT simplemente arrastrando y soltando
widgets. Es simple y fácil de usar la plataforma IoT para crear aplicaciones
complejas. Blynk no está limitado a una placa o plataforma específica, pero puede
usarse con cualquier microcontrolador, siempre que el microcontrolador esté conectado
a Internet. Raspberry Pi tiene Wi-Fi incorporado y otros microcontroladores como
Arduino se pueden conectar a Internet utilizando algún módulo de Wi-Fi como ESP8266,
etc. Anteriormente utilizamos la aplicación Blynk con Raspberry Pi para controlar su pin
GPIO.

Componente requerido

1. Módulo ESP32
2. Cable USB
3. IDE Arduino
4. Blynk App
5. CONDUCIDO, LIDERADO
6. Tablero de circuitos
7. Cables de puente
8. Resistencia 1K

Diagrama de circuito

1
Configuración de la aplicación Blynk para ESP32
Los siguientes son los pasos para configurar la aplicación Blynk en su teléfono y usarla
para un proyecto:

1. En primer lugar, descargue la aplicación Blynk en su teléfono desde Google Play


Store e instálela.
2. Después de la instalación, debe crear una cuenta en esta aplicación; puede usar
su cuenta actual de Gmail.
3. Después de crear una cuenta, se abrirá una ventana, en este clic en Nuevo
proyecto.

4. Ahora asigne un nombre al proyecto de acuerdo con su elección y en


el dispositivo, elija ESP32 Dev Board y, en Tipo de conexión, elija Wi-Fi y
luego haga clic en Crear.
5. Ahora aparecerá una ventana que muestra que su token de autenticación que
necesitará luego se enviará a su ID de correo correspondiente. Puede abrir su
correo electrónico para verificar la clave de autenticación.

2
6. Después de hacer clic en Aceptar, encontrará la ventana del lienzo.
7. Ahora, toque cualquier parte del lienzo para abrir el cuadro del widget. Todos los
widgets disponibles se encuentran aquí. Ahora elige un botón.

8. Haga clic en el widget Botón para cambiar la configuración.


9. Establezca el pin de salida en gp2 ya que estoy tomando la salida aquí desde el
pin GPIO2, puede cambiar de acuerdo con usted. En modo, seleccione para
cambiar.
10. Cuando haya terminado con esta configuración, estará listo para trabajar con
esta aplicación. Al presionar el botón Reproducir, pasará del modo EDITAR al
modo PLAY donde podrá interactuar con el hardware. En el modo PLAY, no
podrá arrastrar o configurar nuevos widgets, presione STOP para volver al modo
STOP.

Programación de ESP32 para la aplicación Blynk


En primer lugar, debe descargar la biblioteca Blynk desde el enlace dado.
https://github.com/blynkkk/blynk-library

Es un archivo zip, descárguelo y extráigalo y luego copie este archivo de biblioteca en


los archivos de la Biblioteca Arduino. Puede encontrar su archivo de biblioteca Arduino
en Documentos -> Arduino -> bibliotecas . Copie este archivo de biblioteca aquí.
Ahora en la programación, lo primero que debe hacer es incluir las bibliotecas
necesarias.

#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>

Now define your output pin, here I am taking my output from GPIO 2 so I will include pin
2.

3
int pin = 2;

Now enter your Authentication token and your network credentials inside double inverted
commas.

char auth[] = " ";


char ssid[] = " ";
char pass[] = " ";

In void setup() function, we will initialize the baud rate, LED output and will connect the
module with the Wi-Fi using WiFi.begin(ssid,password); function. This function begins
the Wi-Fi connection.

void setup() {
pinMode(pin, OUTPUT);
pinMode(pin, HIGH);
Serial.begin(115200);
delay(10);
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, pass);
int wifi_ctr = 0;
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("WiFi connected");
Blynk.begin("66d1e7b99b92458295f8257b80fd2b03", ssid, pass);
}

In the loop function include Blynk.run() command.

void loop(){
Blynk.run();

4
}

Programación de ESP32 con Arduino IDE y la aplicación Blynk


Ahora está en una etapa para cargar el código en su ESP32 y realizar el proyecto, para
lo cual se deben realizar los siguientes pasos:

1. Conecte ESP32 a su PC a través del cable USB y realice el circuito como se


indicó anteriormente, aquí estoy usando GPIO2 que puede usar de acuerdo con
usted.
2. Abra su IDE Arduino y copie este código en su ventana IDE, pero asegúrese de
proporcionar las credenciales WiFi correctas de su red.
3. Ahora vaya a Herramientas -> Placa -> Módulo ESP32 Dev.
4. Luego Herramientas -> Puerto y seleccione el puerto al que está conectado su
ESP32.
5. Ahora haga clic en cargar para cargar el código.
6. Después de completar la carga, encontrará un mensaje como este en su consola
de salida.

7. Ahora abra su monitor en serie y presione el botón de reinicio de ESP32 y ahora


ESP comienza a conectarse a su red, una vez conectado, le dará la IP de su
ESP y un mensaje como este:

Ahora abra la aplicación Blynk, vaya al proyecto que creó anteriormente y toque PLAY.

Ahora puede ver que al hacer clic en el botón, su LED cambiará su estado.

Así es como puede controlar con éxito el LED utilizando ESP32 con la aplicación
Blynk .
Code
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
int pin = 2;
char auth[] = " "; // You should get Auth Token in the Blynk App.
char ssid[] = " "; // Your Wi-Fi Credentials

5
char pass[] = " ";
void setup() {
pinMode(pin, OUTPUT);
pinMode(pin, HIGH);
Serial.begin(115200);
delay(10);
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, pass);
int wifi_ctr = 0;
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("WiFi connected");
Blynk.begin("Your auth. Token", ssid, pass);
}
void loop(){
Blynk.run();
}
TAREA
REALIZAR EL PROYECTO PARA ENCENDER 1 FOCOS DE 220 V
UTILIZANDO EL RELEE DE ESTADO SOLIDO O OPTOACOPLADORES

6
QUE ES UN MODULO ESP 32

Placa de desarrollo para ESP32 NodeMcu-32


Modelo ESP32-NODEMCU-32
Esta placa de desarollo te permite hacer proyectos rápidamente con la plataforma
ESP32. Tiene capacidades de Wifi y bluetooth gracias al poderoso procesador de
doble nucleo Tensilica Xtensa LX6.
DESCRIPCIÓN
INFO
La plataforma ESP32 ofrece a bajo costo capacidades wifi, bluetooth y BLE. Es la
evolución del chip ESP8266 mejorando sus capacidades de comunicación y
procesamiento computacional. Tiene un CPU de dos núcleos de hasta 240Mhz que se
pueden controlar independientemente. Además integra internamente una gran
cantidad de periféricos incluyendo: sensores táctiles capacitivos, sensor de efecto Hall,
amplificadores de bajo ruido, interfaz para tarjeta SD, Ethernet, SPI de alta velocidad,
UART, I2S e I2C.
El punto fuerte de esta plataforma es su gran comunidad en internet que le brinda
soporte y desarolla constantemente nuevas herramientas para su uso.
Para su desarrollo cuenta con gran variedad de software, lenguajes de programación,
frameworks, librerías, código/ejemplos y otros recursos. Los más comunes a elegir
son: Esp-idf (Espressif IoT Development Framework) desarrollado por el fabricante del
chip, Arduino (en lenguaje C++), Simba Embedded Programming Platform (en
lenguaje Python), RTOS's (como Zephyr Project, Mongoose OS, NuttX RTOS),
MicroPython, LUA, Javascript (Espruino, Duktape, Mongoose JS), Basic.
La tarjeta NodeMCU-32 está diseñada especialmente para trabajar en protoboard.
Posee un regulador de voltaje en placa que le permite alimentarse directamente del
puerto USB. Los pines de entradas/salidas trabajan a 3.3V. El chip CP2102 se
encarga de la comunicación USB-Serial. Aplicado en Mini Servidores Web,
Procesamiento digital, Webcams, Domótica y más.

7
ESPECIFICACIONES TÉCNICAS
 Voltaje de Alimentación (USB): 5V DC
 Voltaje de Entradas/Salidas: 3.3V DC
 SoC: ESP32
 CPU principal: Tensilica Xtensa 32-bit LX6
 Frecuencia de Reloj: hasta 240Mhz
 Desempeño: Hasta 600 DMIPS
 Procesador secundario: Permite hacer operaciones básica en modo de ultra
bajo consumo
 Wifi: 802.11 b/g/n/e/i (802.11n @ 2.4 GHz hasta 150 Mbit/s)
 Bluetooth:v4.2 BR/EDR and Bluetooth Low Energy (BLE)
 Xtensa® Dual-Core 32-bit LX6 microprocessors, up to 600 DMIPS
 Memoria:
448 KByte ROM
520 KByte SRAM
16 KByte SRAM in RTC
QSPI Flash/SRAM, 4 MBytes
 Pines Digitales GPIO: 24 (Algunos pines solo como entrada)
 Convesor Analogolico Digital: Dos ADC de 12bits tipo SAR, soporta mediciones
en hasta 18 canales, algunos pines soporta un amplificador con ganancia
programable
 UART: 2
 Chip USB-Serial: CP2102
 Antena en PCB
 Seguridad:
 Estandares IEEE 802.11 incluyendo WFA, WPA/WPA2 and WAPI
 1024-bit OTP, up to 768-bit for customers
 Aceleración criptográfica por hardware: AES, HASH (SHA-2), RSA,
ECC, RNG
Este módulo de desarrollo Integra un chip de 32 bits el cual se caracteriza por integrar
comunicación WIFI y Bluetooth low energy (BLE), permitiendo una gran cantidad de
aplicaciones. Compatible con Arduino y otros entornos de programación como ESplorer
ESP32, Cloud IDE ESP32, ESP flash download tool.

Conectividad:

 802.11 b/g/n/e/i/n
 Wi-Fi Direct (P2P), P2P Discovery, P2P Group Owner mode and P2P Power Management
 Bluetooth v4.2 BR/EDR y BLE
 BLE Beacon

8
 Además, soporta los protocolos SPI, I2C, UART, MAC Ethernet, Host SD

Especificaciones:

 Chip doble núcleo de 32 bits a 160MHz


 Memoria ROM de 448 kBytes
 Memoria SRAM de 520kBytes

48 Pines disponibles:

 18 ADC de 12 bits
 2 DAC de 8 bits
 10 pines para sensores de contacto
 16 PWM
 20 Entradas/salidas digitales

Este chip hace ya unos años que se encuentra entre nosotros y siempre ha sido una
de las formas mas sencillas y baratas de proporcionar WIFI a nuestros Arduinos. Lo
curioso es que la comunidad ha desarrollado un pluggin que lo convierte ademas en
un procesador compatible arduino que incluye WIFI siendo ademas compatible con las
librerías oficiales
No vamos a insistir mas con este asunto sobre todo cuando podéis encontrar
abundantes tutoriales al respecto en nuestra sección de comunicaciones.
Pero ya hace un año que salió un nuevo chip de espressif llamado ESP32 que es el
sucesor del Esp8266 (Que no sustituto) con una serie de especificaciones
impresionantes, y hemos estado esperando a que se estabilizase un poco el software
necesario para que lo pudiésemos usar.

Aun esta un poco verde el asunto pero no puedo resistirme a presentaros el módulo
porque es una autentica bomba y algo que solito puede soportar la IOT sin
despeinarse.
Vereis que aun hay cosas que aun estan en fase de desarrollo como iremos viendo,
pero creo que ya es el moemento de que en esta caso hagamos la presentacion
del ESP32 porque creo que os va a gustar.

9
ESPECIFICACIONES DEL ESP32

El ESP32 es un procesador del fabricante chino Espressif que viene con unas
especificaciones espectaculares:

 Procesador dual core Xtensa® LX6 de 32 bits


 Es compatible Arduino con el pluggin adecuado (Enseguida vamos)
 Velocidad de reloj : Entre 160 Mhz y 240 Mhz
 520 Kb de RAM
 Wifi integrado: Acces point & Station
 Bluetooth 4.2 2.4 Ghz; BT 2.0 y 4.0 BLE
 36 GPIO pins.
 16 x Analog-to-Digital Converter (ADC) de 12 bits de resolución y se pueden
programar con límite de entrada a 1V, 2 V y 4V
 2 x Digital to Analog converter DAC de 8 bits.
 Pueden definirse hasta 16 canales de PWM.
 2 x UART o puertas serie
 2 x I2C channels y 4 x SPI channels.
 La cosa sigue pero mejor lo dejamos aquí para no asustar.
Como podéis ver, es difícil no sentirse impresionado por la potencia de esta pequeña
bestia. Aquó os dejo el patillaje (PinOut)

Aunque desde el interface Arduino no podremos sacar ventaja al doble procesador,


disponer de un Arduino con WIFI y Bluetooth incluidos y velocidad de 160 MHz es una
ventaja que no podíamos dejar pasar.

10
 Parece que uno de los procesadores se dedica a gestionar la
pila WIFI o Bluetooth por lo que tampoco aparecerá en el futuro la posibilidad
de ver este chip como un doble Arduino.
 Pero si que se puede acceder al doble nucle desde RTOS (Si no te suena ,
ignóralo directamente)
 Existe un modelo que aún no he recibido que además dispone de
modem LORA (Del que ya hablaremos) con lo que tenemos un monstruo para
la IOT por un precio ridículo.
 También existe una versión de micro Python para este módulo, que espero
instalar y pasaros el parte en cuanto tenga ocasión.
Pero es que además disponemos de múltiples convertidores Andalogio a digital de 12
bits de resolución y dos convertidores de digital a analógico (Para temas de audio
supongo)
No hay en el mercado nada similar y menos por ese precio. Así que no hay que ser un
genio para augurar un futuro muy brillante a este chip y al su fabricante chino.

INSTALANDO EL ESP32 EN EL IDE ARDUINO

Cuando instalábamos el pluggin del ESP8266 en Arduino bastaba con usar el


gestor de tarjetas y especificar una dirección web para descargar los
controladores.
Lamentablemente el desarrollo del entorno Esp32 aún no ha alcanzado el grado
de madurez preciso, y tenemos que hacer alguna gestiones un tanto raras para
los no acostumbrados a los tool chains de desarrollo, pero que os aseguro que
es más sencillo de lo que inicialmente parece y si seguís esta guía os
encontrareis enseguida jugando con el ESP32
Para empezar necesitamos tener instalado el Python 2.7; Para ello ya escribimos
una pequeña guía cuando hablamos del micro Python en el Esp8266 que sigue
siendo válida: Instalar Python 2.7 en Windows
Necesitamos también descargar las ultimas versiones del código del emulador
Arduino para el ESP32 y para ello tenemos que descargar e instalar el entorno
gráfico de GIT.

 GIT es un repositorio organizado de código en desarrollo que contiene


copias de casi cualquier cosa que se te ocurra y de prácticamente

11
cualquier cosa que tenga un mínimo de interés y sea de interés general,
donde los programadores voluntarios van creando y depurando sus
cosas.
 El interface Arduino para ESP8266 y ESP32 son un par de magníficos
ejemplos de las cosas que podemos encontrar
Vamos a descargar el gestor de GIT desde aquí. Ejecuta el programa una vez
descargado y veras algo así:

Pincha en la segunda opción: Clone existing repository.


Tienes que decirle ahora que te baje el código del esp32 a tu pc, y para ello
debes indicarle que el repositorio de origen es:
https://github.com/espressif/arduino-esp32.git
Y el destino va a ser la dirección de tu directorio Arduino, que normalmente será
mis documentos\Arduino mas la dirección donde queremos que lo ponga que
debe ser /Arduino/hardware/expressif/esp32.
En mi caso va a quedar así:
C:\Users\charl\Documents\Arduino\hardware\espressif\esp32
Pero en tu caso tienes que asegurarte de ponerle el path correcto de tu
directorio Arduino:

12
Ahora basta con que pulses el botón Clone y empezara a descargar el código a
tu PC.
Cuando finalice el clonado (O sea, que se descargue todo lo que hay
en GIThub sobre el tema que has elegido) tienes que ejecutar un programita
llamado get que encontraras en el directorio tools:
Muestra la estructura de directorios del repositorio ESP32 en GIThub

13
Hazle un click click y tardara un ratito en descargar y lanzar varias cosas al cabo
de las cuales ya estarás listo para jugar con tu flamante esp32

COMPROBANDO LA INSTALACIÓN

Vamos a comprobar que todo ha ido bien y que podemos seleccionar nuestro
módulo ESP32. Arranca tu IDE Arduino y empieza por conectar tu Node32.
Vamos a seleccionar el procesador.
Si todo ha ido bien veras que hay una nueva sección de placas con múltiples
modelos basados en el chip ESP32:

14
En mi caso el modelo “ESP32 dev module” me ha ido bien con el
típico Nodemcu32 de nuestra tienda, Selecciona el puerto serie y ya estamos
listos para probar nuestro primer programa.
Vete a ejemplos y encontraras un buen montón de programas de prueba para tu
esp32. Carga:
\\Ejemplos\ESP32\ChipID\GetChipID
Compílalo, pero pon a 115200 baudios la consola de Arduino. EL programa te
devolverá un identificador interno del chip que solo sirve para comprobar que
todo funciona.
Si quieres hacer un Blinking Led (Que asombrosa originalidad) tienes que saber
que en nuestro modulo, el LED está en el GPIO 1:
int ledPin = 1;

15
void setup()
{ pinMode (ledPin, OUTPUT);
Serial.begin(115200);
Serial.println(LED_BUILTIN);
}

void loop()
{ digitalWrite (ledPin, HIGH);
delay(1000);
digitalWrite (ledPin, LOW);
delay(1000);
}
En las proximas sesiones procuraremos hacer algun programa mas interesante,
lo prometemos. El Esp32 tiene mucho que ofrecer pero creo que ya basta por
Hoy

Para porder realizar consultas a nuestros expertos, tienes que ser suscriptor.
Suscribiendote nos ayudas a mantener este proyecto en marcha.

Prerrequisitos: Arduino IDE instalado


Antes de comenzar este procedimiento de instalación, asegúrese de tener
instalada la última versión del Arduino IDE en su computadora. Si no lo hace,
desinstálelo e instálelo nuevamente. De lo contrario, puede que no funcione.
Con el último software Arduino IDE instalado
desde arduino.cc/en/Main/Software , continúe con este tutorial.
¿Necesitas una placa ESP32? Puedes comprarlo aquí .
Instalación del complemento ESP32 en Arduino IDE
Para instalar la placa ESP32 en su IDE Arduino, siga estas instrucciones
siguientes:
1. En su IDE de Arduino, vaya a Archivo > Preferencias

16
2. Ingrese https://dl.espressif.com/dl/package_esp32_index.json en el
campo "URL de administrador de placa adicionales" como se muestra en
la figura a continuación. Luego, haga clic en el botón "Aceptar":

17
Nota: si ya tiene la URL de las placas ESP8266, puede separar las URL con una
coma de la siguiente manera:
https://dl.espressif.com/dl/package_esp32_index.json,
http://arduino.esp8266.com/stable/package_esp8266com_index.json
3. Abra el administrador de juntas. Vaya
a Herramientas > Tablero > Administrador de tableros ...

18
4. Busque ESP32 y presione el botón de instalación para “ ESP32 by
Espressif Systems “:

19
5. Eso es. Debe instalarse después de unos segundos.

20
Probar la instalación
Conecte la placa ESP32 a su computadora. Con su IDE de Arduino abierto, siga
estos pasos:
1. Seleccione su Tablero en Herramientas > Menú del tablero (en mi caso es
el DOIT ESP32 DEVKIT V1 )

2. Seleccione el puerto (si no ve el puerto COM en su Arduino IDE, debe instalar


los controladores CP210x USB a UART Bridge VCP ):

21
Denunciar este anuncio
3. Abra el siguiente ejemplo en Archivo > Ejemplos > WiFi (ESP32) > WiFiScan

22
4. Se abre un nuevo boceto en su Arduino IDE:

23
5. Presione el botón Cargar en el IDE de Arduino. Espere unos segundos
mientras el código se compila y carga en su tablero.

6. Si todo salió como se esperaba, debería ver un mensaje " Terminado la


carga. "Mensaje.

24
7. Abra el monitor serie Arduino IDE a una velocidad en baudios de 115200:

8. Presione el botón Habilitar a bordo ESP32 y debería ver las redes disponibles
cerca de su ESP32:
Denunciar este anuncio

25
Solución de problemas
Si intenta cargar un nuevo boceto en su ESP32 y recibe este mensaje de error
" Se produjo un error fatal: no se pudo conectar a ESP32: Se agotó el tiempo de
espera ... Conectando ... ". Significa que su ESP32 no está en modo intermitente /
cargando.
Con el nombre correcto de la placa y COM por seleccionado, siga estos pasos:
 Mantenga presionado el botón " BOOT " en su placa ESP32

26
 Presione el botón " Cargar " en el IDE de Arduino para cargar su boceto:

 Después de ver el " Conectando ... "En su Arduino IDE, suelte el dedo
del botón " BOOT ":

 Después de eso, debería ver el mensaje " Carga finalizada "


27
Eso es. Su ESP32 debe tener el nuevo boceto en ejecución. Presione
el botón " ENABLE " para reiniciar el ESP32 y ejecutar el nuevo boceto cargado.
También tendrá que repetir esa secuencia de botones cada vez que quiera
cargar un nuevo boceto. Pero si desea resolver este problema de una vez por
todas sin la necesidad de presionar el botón BOOT , siga las sugerencias en la
siguiente guía:
 [SOLUCIONADO] Error al conectarse a ESP32: Se agotó el tiempo de
espera esperando el encabezado del paquete
Si tiene algún problema con su ESP32, eche un vistazo a nuestra Guía de
resolución de problemas ESP32 .

28

Potrebbero piacerti anche