SERIE ESP32 # 10: BLYNK - ESP32 - EMAIL
Summary
TLDREste video muestra cómo interactuar el ESP32 con la plataforma Blink, que permite controlar dispositivos conectados a Internet de cosas. Se detalla el proceso de instalación de la aplicación Blink, creación de un proyecto y la configuración de widgets en la aplicación para controlar un LED y mostrar lecturas analógicas de un sensor. Además, se explica cómo enviar alertas por correo electrónico cuando se supera un valor crítico, utilizando el ESP32 y la aplicación Blink en conjunto.
Takeaways
- 📱 Se instala la aplicación Blink para conectar dispositivos a una nube personalizada.
- 🔌 El ESP32 se conecta a Blink, que es agnóstico a hardware y compatible con múltiples dispositivos.
- 📚 Se requiere descargar la biblioteca de Blink desde GitHub y agregarla a las preferencias de Arduino.
- 💡 Se creará una aplicación Blink con un LED indicador y una barra de nivel para mostrar lecturas analógicas.
- 🔩 Se conectará un potenciómetro o cualquier sensor analógico a un pin analógico del ESP32.
- 📧 Se usará un widget de correo electrónico en la aplicación Blink para enviar alertas cuando se supere un valor crítico.
- 🎨 La aplicación permite personalizar widgets, como cambiar el color del LED y el título de la barra de nivel.
- 📶 El ESP32 se configura para conectarse a través de WiFi y se utiliza una token proporcionada por Blink.
- ⏱ Se programa un temporizador en el sketch del ESP32 para ejecutar funciones a intervalos regulares.
- 📊 Se utiliza la función `virtualWrite` para enviar la lectura del sensor analógico al widget de la aplicación Blink.
- 🚨 Se implementa una condición para enviar un correo electrónico solo una vez cuando se alcanza un valor crítico del sensor.
Q & A
¿Qué es Blink y cómo se relaciona con ESP32?
-Blink es una plataforma de Internet de las cosas que permite conectar dispositivos a una nube para ser controlados mediante una aplicación. Es compatible con múltiples hardwares, incluido el ESP32, un microcontrolador que se utiliza en este ejemplo para crear una interfaz de hardware.
¿Cómo se instala la aplicación Blink en un dispositivo móvil?
-Para instalar la aplicación Blink, se debe descargarla desde la tienda de aplicaciones de iOS o Android utilizando los enlaces proporcionados. Una vez instalada, es necesario crear una cuenta con una dirección de correo electrónico válida.
¿Qué pasos se siguen para crear un proyecto en la aplicación Blink?
-Después de instalar y crear una cuenta en la aplicación Blink, se debe crear un nuevo proyecto dándole un nombre y seleccionando el dispositivo (en este caso, ESP32) y el tipo de conexión (Wi-Fi). Luego, se recibe un token por correo electrónico que se utiliza para configurar la conexión.
¿Qué es un 'hardware agnostic' y cómo se aplica a Blink?
-Un sistema 'hardware agnostic' es aquel que es independiente del hardware específico que se utiliza, lo que significa que es compatible con una variedad de dispositivos. Blink es descrito como hardware agnostic porque admite la conexión de múltiples dispositivos, como ESP32, ESP8266, Raspberry Pi, entre otros.
¿Qué bibliotecas son necesarias para integrar ESP32 con Blink?
-Para integrar ESP32 con Blink, se necesita descargar e instalar la biblioteca de Blink desde su repositorio en GitHub. Esto incluye la biblioteca principal y las herramientas necesarias para que el ESP32 funcione con la plataforma Blink.
¿Cómo se conecta un sensor analógico, como un potenciómetro, a un pin analógico del ESP32?
-Para conectar un sensor analógico, como un potenciómetro, se lo conecta a cualquier pin analógico disponible en el ESP32. En el ejemplo, el potenciómetro está conectado al pin GPIO 33, que también es ADC 15.
¿Qué función cumple el widget de LED en la aplicación Blink?
-El widget de LED en la aplicación Blink sirve como un indicador visual. En el ejemplo, se utiliza para mostrar el estado de un sensor analógico; cambia de color dependiendo de si la lectura del sensor supera un valor umbral (alarma) o no.
¿Cómo se configura un widget de nivel vertical (level V) en la aplicación Blink?
-Para configurar un widget de nivel vertical en Blink, se arrastra y se coloca en la interfaz de usuario de la aplicación. Se le asigna un nombre, se elige un color, y se conecta a un pin virtual. Además, se define el rango de valores que el widget mostrará, en este caso, de 0 a 4.095, que corresponde a la resolución de 12 bits del ESP32.
¿Qué hace el widget de correo electrónico en la aplicación Blink?
-El widget de correo electrónico en la aplicación Blink permite enviar una notificación por correo electrónico cuando se activa una alarma. Se configura con la dirección de correo electrónico de destino, el asunto y el cuerpo del mensaje, que puede incluir información sobre la alerta, como la lectura del sensor que desencadenó la alarma.
¿Cómo se asegura de que se envíe un correo electrónico solo una vez cuando se supera la alarma crítica?
-Para evitar el envío de múltiples correos electrónicos, se utiliza una variable booleana llamada 'correo enviado'. Solo se envía el correo si esta variable es falsa, luego se cambia a verdadera para que no se pueda enviar otro correo hasta que se reinicie el proceso.
¿Cómo se puede verificar si el ESP32 está conectado a la nube de Blink?
-Se puede verificar la conexión del ESP32 a la nube de Blink a través del monitor serial en el Arduino IDE. Si la conexión es exitosa, se verá una confirmación de conexión y se comenzará a recibir y enviar datos según la configuración del proyecto.
Outlines
🔌 Introducción y Configuración Inicial de Blink con ESP32
Este primer párrafo presenta la integración del ESP32 con Blink, una plataforma de Internet de las Cosas (IoT). Se habla de la compatibilidad de Blink con múltiples dispositivos, incluyendo el ESP32, y se menciona que ya hay tutoriales en el canal sobre cómo instalar Blink. Seguidamente, se ofrece un resumen rápido de los pasos para comenzar, que incluyen descargar la aplicación de Blink, crear una cuenta de usuario y, posteriormente, instalar la librería de Blink desde su repositorio de GitHub en el entorno de desarrollo de Arduino. Además, se menciona el uso de un potenciómetro como sensor analógico y cómo se conectará a un pin analógico del ESP32, así como la creación de una aplicación en Blink con un LED indicador y una barra de nivel que mostrará la lectura del sensor de manera dinámica.
📱 Creación y Configuración de un Proyecto en la Aplicación Blink
En el segundo párrafo, se aborda el proceso de crear un nuevo proyecto en la aplicación Blink para el dispositivo ESP32. Se describe cómo se selecciona el tipo de conexión (en este caso, WiFi) y cómo se recibe un token para la cuenta de correo electrónico configurada. Luego, se detalla la adición de widgets a la aplicación, incluyendo un LED de indicación, un nivel vertical (barra de progreso) y un widget de correo electrónico para enviar alertas cuando se supere un valor umbral. Se menciona la personalización de estos widgets, como el cambio de color y la asignación de pines virtuales, y se destaca la importancia de la resolución analógica del ESP32 al configurar el widget de nivel vertical.
💡 Programación del ESP32 y Funcionalidad de Alarma con Correo Electrónico
El tercer párrafo se enfoca en la programación del ESP32 para interactuar con Blink. Se incluye la inicialización de un LED y un temporizador, así como la declaración de variables para las lecturas del potenciómetro conectado al pin GPIO 33 (ADC 15). Se describe la creación de una alarma basada en un umbral del 70% del rango analógico máximo del ESP32, que se establece en aproximadamente 2.900. La función 'checkSensor' lee la entrada analógica y actualiza el LED y la barra de nivel en la aplicación Blink según la lectura. Además, se implementa una condición para enviar un correo electrónico cuando la lectura supera el umbral crítico, previniendo el envío de múltiples correos electrónicos mediante una variable 'correoEnviado'.
📧 Prueba de Funcionamiento y Envío de Correo Electrónico de Alarma
Finalmente, el cuarto y último párrafo cubre la prueba de funcionamiento del ESP32 y la aplicación Blink. Se detalla cómo se sube el código al ESP32 desde Arduino IDE, y se verifica la conexión a la nube Blink y la recepción de lecturas analógicas. Se describe el cambio de color del LED en la aplicación a medida que la lectura del sensor aumenta y se supera el umbral de alarma. Además, se menciona el envío de un correo electrónico cuando la lectura alcanza el valor crítico, lo que se confirma con la recepción del correo y la impresión de un mensaje de alarma crítica en el monitor serial. El video termina con una mención a futuros episodios de la serie de MSP 32.
Mindmap
Keywords
💡ESP32
💡Blink
💡Potenciometro
💡
💡Aplicación Personalizada
💡Correo Electrónico
💡Librería
💡Arduino
💡Sketch
💡Timer
💡Internet de las Cosas (IoT)
💡Hardware Agnostic
Highlights
Bienvenida a un nuevo episodio de la serie ESP32 donde se interactúa con Blink, una plataforma de IoT.
Blink permite conectar dispositivos a una nube y controlarlos mediante una aplicación.
Se menciona que Blink es 'hardware agnostic' y compatible con múltiples dispositivos como ESP32, ESP8266, Raspberry Pi, etc.
Se proporciona un repaso rápido de los pasos para instalar Blink, incluida la descarga de la aplicación y la creación de una cuenta.
Se detalla el proceso de instalación de la librería de Blink desde GitHub en el entorno de desarrollo de Arduino.
Se planea crear una interfaz de hardware con un microcontrolador ESP32 y conectar un potenciómetro analógico.
Se describe cómo crear una aplicación en Blink con un LED indicador y una barra de nivel que muestra la lectura analógica.
Se explica cómo configurar un widget de correo electrónico en la aplicación Blink para enviar una alerta cuando se supere un valor crítico.
Se muestra cómo crear un nuevo proyecto en la aplicación Blink y recibir un token de conexión por correo electrónico.
Se detalla cómo utilizar widgets en la aplicación Blink, como un LED y una barra de nivel vertical, y cómo asignarles pines virtuales.
Se proporciona un ejemplo de cómo se puede utilizar el valor analógico del ESP32 para activar una alarma y enviar un correo electrónico.
Se discute la configuración de un temporizador en el código del ESP32 para ejecutar funciones periódicamente.
Se incluye un ejemplo de código para el ESP32 que utiliza la plataforma Blink, incluyendo la creación de un widget LED y la configuración de un temporizador.
Se muestra cómo se puede cambiar el color del LED en la aplicación Blink en función de la lectura del sensor analógico.
Se detalla cómo se puede enviar un correo electrónico desde el ESP32 usando la plataforma Blink cuando se supera un valor crítico.
Se proporciona un ejemplo de cómo construir y enviar un correo electrónico desde la aplicación Blink cuando se desencadena una alarma.
Se muestra el proceso de prueba del código subido al ESP32 y su interacción con la aplicación Blink para monitorizar y responder a las lecturas del sensor.
Se concluye el video con una demostración de cómo el ESP32 interactúa con la nube Blink y la aplicación móvil, mostrando la funcionalidad de la alarma y el envío de correos electrónicos.
Transcripts
[Música]
hola bienvenidos a todos a un nuevo
episodio de la serie esp 32 el día de
hoy vamos a interactuar nuestro esp 32
con blink quebleen que es una plataforma
de internet de las cosas y ot que nos
permite conectar nuestros dispositivos a
una nube de la cual podemos controlarla
mediante una aplicación personalizando
esta aplicación de manera sencilla se
dice aquí que es hardware agnostic
porque bastantes dispositivos como el
arbi no esp 32 esp 82-66 no de msv
raspberry etcétera son compatibles con
esta plataforma ya tenemos vídeos de
blink en el canal y los pasos para
instalarlo son prácticamente los mismos
pero vamos a hacer un repaso rápido así
que le vamos a dar a quiet started
y vamos a ver que nosotros queremos
hacer una interfaz hardware de lotes con
un microcontrolador en este caso el esp
32 nos íbamos a necesitar instalar la
librería vamos a ir por los pasos que
nos dice que lo primero sería descargar
la aplicación de blink para ios o para
android aquí están los enlaces eso ya
casi todo el mundo sabe hacerlo así que
nos vamos a redundar en él yo lo que sí
cuando instale en su aplicación cree en
una cuenta con una dirección de correo
electrónico válida luego ya vamos a ver
cómo crear el proyecto en la aplicación
y lo demás el siguiente paso sería
instalar la librería de blink así que
nosotros necesitamos esta parte
de ese más más para que sea compatible
con él
nos lleva este repositorio de github le
van a dar acá abajo en la última versión
que podemos bajar el archivo comprimido
punto 7 una vez lo tengan descargado
lo descomprimen
y nos va a dar dos carpetas de librerías
y tus vean librerías tiene estas acá y
tools tiene estas tres carpetas donde
las vamos a copiar esos contenidos será
acá se van a la ruina y de archivo
preferencias y nosotros podemos ver
nuestra localización del sketch book por
defecto copien si quieren esa dirección
se van acá
a mi pc pueden copiarlo ahí en la barra
y darle enter y les lleva directamente a
esa dirección o si no pueden hacerlo
manualmente y vean que aquí está library
y tools si no tuvieran tools crean esa
carpeta y dentro van a copiar vean el
contenido de la librería blink de la
carpeta tools y en la parte de la red es
igual copian lo mismo yo tengo muchas
más librerías no solamente las de bling
así que por eso está así de llena una
vez que ya lo copien vuelven a abrir el
arduino y de los reiniciar y ya
estuviera instalada la librería bien y
qué vamos a realizar en este ejemplo en
específico recuerden que hay varios
vídeos de blink en el canal y en ninguno
hemos repetido los widgets o los
ejemplos y éste no va a ser la excepción
vamos a hacer algo un poco diferente y
vamos a aprovechar también el episodio
del conversor analógico digital para
poner en práctica esos conocimientos y
lo que vamos a hacer va a ser poner un
ejemplo con este potenciómetro de un
sensor analógico podría ser un sensor de
nivel un sensor de temperatura un sensor
de humedad relativa o humedad de suelo
que nos puede dar una lectura analógica
y lo vamos a conectar hacia cualquier
pin analógico que nosotros dispongamos y
también vamos a hacer la aplicación en
blink que va a tener un led indicador va
a tener una barra en la cual va a ir
mostrando dinámicamente
de lectura que se tenga y también como
ven acá vamos a utilizar un correo
electrónico para que podamos enviar una
alerta a una alarma cuando superemos un
cierto valor un set que se denomina
cuando nosotros lo veamos conveniente
para nuestro sistema para nuestro
proyecto específico así que ahora
podemos continuar con el desarrollo de
la aplicación y también de los sketch
para subir al esp 32
[Música]
ok estoy acá en mi teléfono móvil y como
ven ya tengo instalada la aplicación de
blink y también creada mi cuenta con un
correo electrónico eso es bastante
sensible y vamos a ahorrarnos tiempo y
directamente voy a crear un nuevo
proyecto le damos acá new project
vamos a escoger un nombre del proyecto
le puedo poner esp 32 vamos a el
dispositivo y ponemos acá esp 32 de word
ok conexión type wifi también hay otras
formas de conexión y le damos al botón
clic debajo
nos dice que nos va a mandar una token a
nuestro correo configurado ok
y vamos a empezar a crear nuestra
aplicación y como ven ya me llegó la
token de blink acá está luego se las
muestro un poco más detalladamente voy a
darle un toque a la pantalla y me va a
aparecer en esta parte la widget box
donde hay un montón de widgets que
podemos utilizar desde botones desde
sliders timers etcétera y lo que vamos a
utilizar
dijimos que va a ser un led de
indicación
vamos a traer
un poquito más al centro
podemos hacerlo un poquito más ancho
también si le damos un toque podemos ver
también sus configuraciones le podemos
dar un nombre le podemos asignar un pin
le voy a dar clic ahí y yo le voy a
asignar el pin virtual de uve uno así
que le voy a dar ok le podemos cambiar
el color aquí en esta parte de la
derecha rojo por defecto le voy a poner
me voy a ir atrás ya está él
le voy a dar nuevamente un toque a la
pantalla y dijimos que íbamos a utilizar
un
widget de nivel vertical aquí está el
level v
y lo voy a arrastrar yo lo voy a hacer
más ancho solamente porque me gusta un
poquito más ancho además que si lo
ponemos un poco más ancho podemos
ponerle un nombre un poquito más
largo
y le vamos a poner acá
control sensor
está bien y vamos a elegir el color que
sea un tipo celeste
para la barra
el pin le vamos a poner que sea el v2
y en los valores analógicos que va a
recibir recordemos que el s&p 32 tiene
cuatro mil noventa y seis valores
resolución de 12 bits así que le vamos a
poner de 0
a 4.095
está bien lo dejamos así mostrar el
valor en el reading reid
está perfecto
lo último que vamos a hacer ahora es
añadirle también un widget de email
vamos a enviar una notificación en un
cierto momento en el que pase una alarma
crítica para un sistema
voy a dar un clic pueden configurar
hacia donde va a estar dirigido el email
en mi caso ese correo y el content time
está perfecto text html pueden cambiar
el color también lo voy a poner azul
y ya está eso sería todo lo que tiene
que ver con el proyecto directamente le
podemos dar play acá
y obviamente por ahora no está
funcionando porque aún no está el sketch
corriendo en nuestro esp 32 así que le
voy a dar stop y vamos a proceder a
revisar el código en nuestro sp tres
dedos y posteriormente probarlo con
nuestra aplicación en conjunto
estamos de vuelta en la página de bling
y lo que voy a hacer es abrir este code
wílder porque nos ayuda bastante vamos a
ver que acá cambiando el
microcontrolador a esp 32 pegándonos la
toquen que nos enviaron al correo les
voy a mostrar acá está la toquen que nos
han enviado al correo
y la rellena automáticamente el en el
sketch
también podemos elegir el tipo de
ejemplo nos ayuda bastante a la hora de
los widgets
que tenemos en la aplicación que la
mayoría tiene un ejemplo al menos vean
para el email por ejemplo cada cinco
segundos estamos limitados a enviar
solamente un correo y nos muestra acá un
ejemplo cuando apretamos un botón para
enviar un correo electrónico nosotros
vamos a hacer algo diferente pero
obviamente nos hemos basado en estos
ejemplos porque la mayoría de ellos
sobre todo la inclusión de librerías las
autorizaciones los passwords son lo
mismo así que estamos acá en el arbi no
y de iu lo voy a abrir este mismo
ejemplo desde visual studio cop porque
se ve un poco mejor para la explicación
así que lo voy a abrir vean arriba
incluye las librerías que necesita la
autorización o la toque insta acá aquí
están las credenciales de mi wifi luego
que vamos a crear es un widget led
recuerdan que habíamos creado un led en
la aplicación ese es un widget le
ponemos el nombre y está conectado al
pin v1 también vamos a declarar un timer
que luego lo vamos a ver y nuestras
variables para lecturas el potenciómetro
vean acá está el potenciómetro conectado
al gp yo 33 en mi caso
que también es el adc 15 recuerden que
el abc 2 no puede ser utilizado cuando
cuando activamos el wifi luego tenemos
una variable para la alarma recuerden
que esta lectura nos va a dar un valor a
la lengua entre 0 y 4 mil 95 así que el
70 por ciento de ese valor sería más o
menos 2.900 así que esta va a ser
nuestra alarma y la lectura que vamos a
realizar no una variable para la lectura
analógica estos colores design vienen
también de billings para que nosotros
podamos utilizarlos yo lo voy a usar
para cambiar el color del led y
dependiendo de la alarma o de si de la
lectura es normal
vamos a ver luego es esta función check
sensor pero primero nos vamos a ir al
set up iniciamos el monitor serial esta
función con blink begin donde colocamos
estos parámetros que habíamos definido
en la parte superior y voy a encender el
led led punto con eso se enciende el led
en la aplicación con set color cambiamos
el color verde porque todo va a ser
normal al principio e iniciamos un timer
aquí está con la variable timer punto
set
interval para cada segundo va a ejecutar
la función check sensor y en el loop
obligatoriamente siempre tenemos que
poner blink punto run y si estamos
usando un timer en este caso el timer
punto run para que esta función
vaya ejecutándose en ese intervalo así
que nos vamos a la función check sensor
lo que hacemos es leer
cada segundo nuestro potenciómetro
nuestro censora analógico en situaciones
normales un sensor tendríamos que
convertirlo no a una es el valor
analógico quizá una unidad a ppm esa
temperatura grados centígrados
y humedad un nivel de pendiente pero
esto va a ser una lectura analógica sin
más y vamos a escribir con virtual raid
al pin v2 recuerden que el v2 estaba es
seleccionado para la barra que teníamos
en la aplicación la barra vertical de
lectura así que le pasamos el valor
imprimimos en el monitor serial la
lectura y vamos a ejecutar una alarma
cuando esta lectura sea mayor o igual a
la alarma obviamente vamos a cambiar el
color rojo y vamos a poner en el monitor
serial alarma lectura del sensor muy
alta en caso contrario el led
simplemente va a estar verde
nos vamos a ir al arduino y voy a
conectar mi sp 30
voy a seleccionar en herramientas el
desquite en la velocidad de subida el
puerto sobre todo ya está y directamente
le voy a dar a block
voy a abrir el monitor serial
le voy a dar un reset
vean que si se correcto está conectada a
la blind cloud y la lectura me está
dando 0
voy a ir modificando
para que vean que si está funcionando
pero ahora voy a también coordinar lo
con la aplicación de bling
así que me voy a ella
voy a entrar al proyecto y le voy a dar
play
vean que se conecta ballet se pone a ver
de la lectura 634 voy a ir subiendo
vean que está funcionando vamos a llegar
un poquito más de la alarma
vean ahí ya se pone en rojo el led y
también en el monitor serial me aparece
alarma de lectura del sensor muy alta
ok ahora nos vamos a ir a probar nuestro
segundo código con el email
me voy nuevamente aviso el estudio court
y vamos a ver la parte de él
código de s&p 32 blink con email la
parte de arriba es prácticamente lo
mismo he quitado algunos colores y vamos
a utilizar una variable correo enviado
porque solamente quiero enviarlo uno
debido a que no quiero saturar la nube
ni nada por el estilo así que me aseguró
que sólo envió uno como es un ejemplo
nos va a funcionar bien y en la función
check sensor hacemos lo mismo le debemos
nuestro potenciómetro escribimos la
lectura en nuestro virtual v2 ahora
vamos a tener una nueva condición cuando
la alarma llegue al tope a 4.095 vamos
vamos a decir que va a ser una alarma
crítica del sensor muy alta vamos a
poner el led a color rojo y vamos a
enviar un correo solamente si no lo
hemos enviado antes porque quiero
hacerlo una sola vez y ya les había
dicho y podemos enviarlo mediante esta
función blink email pasamos el correo
electrónico con un parámetro en string
el segundo puede ser
el tema o el asunto que voy a poner y el
body en este caso está referenciado
mediante una variable también podríamos
ponerlo directamente al ga pero cuando
el cuerpo es un poquito más largo
siempre es mejor construirlo no así que
hemos construido este trim que la
lectura del sensor vamos a imprimir la
lectura
y superando la alarma crítica del
sistema atender cuanto antes ese va a
ser el cuerpo del correo que vamos a
enviar y luego ponemos nuestro correo
enviado a verdadero para que no lo
vuelva a enviar
y lo demás sigue lo mismo esta va a ser
una alarma de sensor alta ya no muy alta
y la demás va a ser normal verde y lo
que tenemos en el setup y el look son lo
mismo así que lo voy a subir
desde el arduino y también sabemos que
podemos subir desde visuales cultura o
code directo tenemos un vídeo sobre él o
en el canal que se los voy a dejar
también en la descripción en las
tarjetas
voy a abrir el monitor serial
para este caso voy a dar un reset para
que veamos que está conectado
nube
y tenemos la lectura
nos vamos a girar
la aplicación
de blink te voy a dar iniciar
y estamos leyendo
voy a subir un poco
vamos a llegar al set de alarma
vean que en el monitor serial me avisa y
también el led se pone en naranja como
en el sketch ahora vamos a seguir
subiendo hasta llegar al tope máximo la
alarma crítica
llegamos se pone rojo y en el monitor
serial nos indica alarma crítica sensor
muy alta
y vean que justamente me llegó el correo
acá está la lectura de los sensores
4.095 superando la más crítica del
sistema atender cuanto antes entonces
está funcionando perfectamente espero
que les haya gustado el vídeo amigos y
nos vemos en un próximo episodio de esta
serie de msp 32
más
[Música]
5.0 / 5 (0 votes)