CREADA EN DIC. 2016
INTRODUCCIÓN.
Vamos a crear una alarma que se active por movimiento y nos avise si se produce un movimiento en un recinto que queremos asegurar. Esta alarma tiene la particularidad de utilizar una app Blynk.
Blynk es un servicio en la nube, es una plataforma con iOS y Android para el control de Arduino, Raspberry Pi, ESP8266 y las apps a través de Internet, donde el usuario puede crear proyectos IoT en su celular, con una conexión de red y un celular al que podremos agregarle controles, botones, conectar un dispositivo IoT, y algunas tarjetas de desarrollo.
Sea cual sea nuestro proyecto, hay cientos de tutoriales que hacen la parte hardware bastante fácil, pero la construcción de la interfaz de software sigue siendo difícil. Sin embargo, con Blynk el lado del software es incluso más fácil que el hardware.
LA INTERFACE.
En principio debemos descargar e instalar en nuestro teléfono inteligente una aplicación llamada Blynk, que funciona con Android o iOS, y que puede utilizar un hardware como: Arduino, Raspberry Pi, ESP8266 u otro kit de desarrollo. Utilizaremos un nodeMCU ESP8266-12E.
Una vez instalada la app hay que crear una cuenta nueva Blynk, debemos ingresar un e-mail verdadero para guardar y recibir los datos que se generen en cada proyecto, la app dispone de una funcionalidad para realizar la conexión y autenticar el dispositivo mediante una llave de autorización llamada authtoken.
También debemos instalar la última librería de Blynk, si no sabe como instalar la librería siga los pasos indicados aquí. Ahora iniciaremos sesión con el celular, le daremos a Crear Nuevo Proyecto, damos un nombre al proyecto y en la celda que sigue elegimos el hardware que utilicemos (aparecerán una extensa lista), la resaltada ESP8266 y justo debajo nos mostrará el authtoken (autorización) correspondiente, podemos elegir que nos lo envíe por e-mail para tener un respaldo del mismo. Veamos un ejemplo.
CREAR UN NUEVO PROYECTO.
Pero antes de seguir, hagamos un boceto que sirva de ejemplo y veremos como se prepara la aplicación Blynk para obtener el código de autenticación. Primero el circuito que utilizaremos.
Abramos la aplicación Blynk en el teléfono y crearemos un nuevo proyecto (Usted dispone de una ‘energía’ gratis, si se acaba deberá adquirir la que considere necesaria. Guarde los proyectos y las autenticaciones o perderá esa ‘energía’).
Se abre una nueva ventana. Le daremos un nombre a nuestro proyecto, en Modelo de hardware seleccionamos (resaltado o el que se requiera), se hace evidente la larga lista de tipos disponibles que va en aumento.
Aparecerá una nueva celda, pulsar en Connectión Type y elegir WIFI, aceptamos y presionamos en Create. Se generará automáticamente un Token autenticación que se envía a nuestro e-mail.
En la parte superior derecha de la nueva ventana pulsar sobre el signo más, aparecerá una lista de iconos (widgets) para añadir al proyecto.
Como se muestra, seleccionemos el tipo de Widget de botón, de inmediato se añadirá el botón al panel. Podemos dejar en blanco el nombre, pero es bueno darle un nombre.
Luego en Output, seleccionamos el PIN analógico o digital, a la derecha podemos elegir el color del pin de salida, según nos interese, en este caso el pin 7 es el GPIO13, usted puede usar el que quiera. Y el modo Push/Switch para el botón por si queremos activar al pulsar o conmutar activar/desactivar con cada pulsación.
Ahora, desplazando la pantalla hacia arriba, aparecerá la opción refrescar, e-mail o Delete (con delete perderá energía).
EL CÓDIGO.
El siguiente es un boceto que sirve de ejemplo y veremos como se utiliza la aplicación Blynk para su aplicación.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
// // Boton_luz_salon.ino // Al pulsar el botón en el móvil se activará un relé que en // este caso encenderá una luz vía Internet. #include <ESP8266WiFi.h> // ESP8266WiFi.h entre < y > #include <BlynkSimpleEsp8266.h> // BlynkSimpleEsp8266.h entre < y > //Su authtoken generado por la aplicacion Blynk char auth[] = "TuToken"; // auth del e-mail //Datos para la conexion de Red Wifi. char ssid[] = "SSID"; //Nombre de la red WIFI char pass[] = "PASSWORD"); //contraseña de la red WIFI void setup() { Serial.begin(115200); Blynk.begin(auth, ssid, pass); } void loop() { Blynk.run(); } |
Este ha sido un artículo que nos muestra lo sencillo que es aplicar la herramienta Blynk a nuestro nodeMCU ESP8266. Usted sólo tiene que insertar el authoken recibido por e-mail, el nombre de la red de acceso y la contraseña de la red WIFI. Una vez que carguemos y subamos el código, vamos a comprobar la aplicación Blynk. Abramos nuestro teléfono inteligente, vayamos a Blynk y allí ejecutemos la app que hemos creado.
Primero pulsamos al lado del botón y aparecerá un triángulo en la esquina superior de la pantalla, pulsamos en él y empezará a ejecutarse la aplicación, encendiendo y apagando la lámpara mediante el teléfono inteligente, siempre que tengamos cobertura WIFI.
El siguiente es un corto vídeo de baja calidad que, muestra como funciona el programa.
Esto nos muestra un abanico de posibilidades de cara a la automatización de tantos dispositivos eléctricos estén a nuestro alcance, siempre y cuando se disponga de conexión a la red WIFI.
Nota. Como se aprecia en el vídeo, he conectado una batería de 3.7V a los pines de alimentación del NodeMCU debido a un extraño efecto, no se el motivo, puede ser por el Windows 10 o por algún otro programa, he tenido que consultar en los foros y no hemos llegado a una explicación que indique el motivo, la cuestión es que al conectar el USB al PC, ocurre que el ratón (mouse), empieza a saltar por todas las aplicaciones, abre, cierra, selecciona cualquier cosa, vamos que se vuelve loco, no se puede controlar su movimiento y el USB lo tengo que desconectar.
Alguien el un foro sugirió que podría ser cuestión del consumo del NodeMCU, por lo que decidí conectar la batería como apoyo al USB y ¡Eureka!, todo volvió a funcionar como es debido. Gracias a lo cual pude compilar y subir el boceto y hacer la demostración del vídeo.
Nota 2. Sería conveniente revisar los artículos del
Conclusión; para evitar problemas imprevistos, es conveniente aplicar una alimentación (power) exterior entre los pines Vin y GND o 3V3 y GND, como ayuda al USB.
Seguiremos en este apartado de los ESP8266 y familia.
Hola no entiendo muy bien
si es una alarma wifi, que tiene que ver para encender o apagar un led, por bluetooth
Pensaba que si se activa un PIR enviara un aviso de alarma o algo asi.
Hola Pedro.
Sin duda, tienes mucha razón, sin embargo en este artículo he dispuesto un LED como punto de referencia para la vista, si observas también hay dispuesto un relé con el cual puedes activar cualquier sistema disponible de alarma.
En cuanto al Bluetooth no es el caso, ya que se trata de WIFI, y esto te permite un mayor rango de cobertura como puedes entender. En un artículo posterior tal vez se disponga de una envío de atención por e-mail y desde el propio móvil activas algún sistema de alarma si es el caso.
Espero haber dados respuesta adecuada.
Hola Vicente.
Gracias por el tutorial. Interesante y útil.
Lo que me extraña es lo del USB. Lo normal es que los puertos USB de los PC tengan limitada la corriente que entregan a 500mA (900mA en la versión 3.0), pero no por ello deba influir en el movimiento del ratón o similar.
¿No será un conflicto con el puerto que asigna el PC, y que sea el mismo que el del ratón…?
Gracias y saludos.
No me esta funiconando ,uno de los motivo que veo que falta los archivos include .h -En el programa de arduino me da error en esas lineas,podes enviar un link a esos include. Gracias
Hola Victor.
Tienes toda la razón, debido a los código de la propia web, no se veían los signos mayor que «<» y menor que «gt;». Ya está revisado. Lo siento, con las prisas no verifiqué como se veía.
Espero que con esto te funcione.
Felicidades Excelente explicación.
Saludos
Manuel
Vicente hola,, se me hace muy interezante este ejemplo, y tengo la misma duda que pedro te prgunto el 6 de mzo,,,, estoy queriendo aprender, mi profesion es totalmente diferente, pero me gusta y tengo muchas ganas de hacer algo…
ya en materia
ok.. a ver si entendi tengo el arduino y le añado el modulo de wifi y aparte
tengo un sensor de movimiento que al detectar mov.. acciona un reley y prende un foco( alarma)
en blink quiero entrar y ver el status de la alarma, si esta encendida y si llegase a accinarse recibir una notificacion
ya carge la aplicacion en mi cel y ya le estoy entendiendo… pero como le hago tebdrs un ejemplo completo de lo que tendria que hacer….es que en la mayoria de ejemplos no estan completos y me quedo todo heco bolaas,,, gracias ojala y puedas ayudarme!
el modulo nodeMCU ESP8266-12E. se puede programar con que programa ,, osea como metes el programa a el ??
Vicente hola, he estado batallando con el esp8266 es creo el modelo 12 de aithinker ,, ya se conecta con comandos AT ,, yo tengo un modem principal y un especie de extension ( wireles range extender) entonces creo que el modulo se esta confundiendo,, yo lo requiero para hacer cosas caseras. En que modo me recomiendas programarlo y tendras por ahi el listado completo de los comandos AT en los que me pueda basar para configurarlo y de una vez por todas decir si es el modulo o es mi conexion. Ya me hize bolas si es access point o estacion o ambos, creo que el unico modo que he podido crear, crea una red local que veo en el cel. y junto con una aplicacion TCPclient de android , desde el celular me conecto, pero no por internet , que podre hacer o probar, gracias de antemano y gracias por toda la informacion está buenisima, para los proyectos en casa y demas!
Hola, Si quisiera cambiar el nombre de la red y el password
o me pidiese la opción de hacerlo en el widget LCD. se podría hacer???
Algo asi:
Cambio de SSID y PASSWORD S/N?
Si seleccionas N, el programa correría con el nombre de la red y el pasword que tenia asignado.
Si selecciona S, te da la opción de cambiarlo.
Mi proyecto funciona a la perfección, pero si cambio de red a la de mi hermano por ejemplo. tendría que entrar en el sketch y cambiarlo manualmente.
Hola Antonio.
La idea es correcta y si el código está bien, debería funcionar sin duda. Respecto de lo que comentas: pero si cambio de red a la de mi hermano por ejemplo. tendría que entrar en el sketch .
Considero que en el código que realices debes pedir que entre el nuevo SSID al igual que el nuevo PASSWORD, de lo contrario evidentemente te saltará un error, por la falta del nuevo SSID.
Espero haber aclarado tus dudas.
Un saludo.
Hola buen dia ,lo he conectado tal cual , y funciona bien ,pero al cortar la energia de 220 v en mi caso y volver a reconectar siempre se enciende la lampara ,cosa que es preocupante pues quedaria la luz siempre encendida hasta que uno lo resetea a nodemcu .
Gracias
Hola Victor Luis.
El efecto que refieres parece que sea debido de una interferencia causada por la propia conexión de la tensión de red, aunque el relé separa las corrientes. Prueba a conectar un condensador de 470 uf o 1000 uf en la alimentación del nodeMCU, y si puede ser mejor utiliza una alimentación externa, que no dependa del USB.
No encuentro una mejor solución.
Saludos.
Hola, mi problema es que todo conecta de maravilla la placa es nodemcu esp8266 y verifico en el monitor serial y me dice que está conectado a mi red wifi pero cuando desde la app blynk mando a arrancar un led por el gp0 o 1,2 y 3 no me lo enciende pero en el monitor serial sigue conectado . Pienso que puede ser porque ya no tengo energía en la app blynk podrían darme una ayuda?
Hola Jorge.
El problema que describes tiene la apariencia de que te falta energía, claro, siempre que hayas creado bien los distintos botones/pulsadores. Mi experiencia dice que cuando me ha ocurrido algo parecido, lo he solucionado, eliminando alguna actividad que no estaba usando, con eso recuperaba energía y ya funcionaba el ejercicio con problemas.
Prueba este sistema a ver si a ti te da resultado.
Saludos.
Hola Vicente, muy interesante tu post. Estoy usando el app Blynk con un NodeMCU y todo funciona bien. Mi pregunta es: ¿puedo manejar un mismo proyecto (creado con BLYNK) desde 2 celulares? (el mío y el de mi hijo). Gracias.
Hola Ernesto.
La verdad es que no lo he intentado, sin embargo, si lo piensas bien, verás que deberías utilizar la misma clave, la misma conexión y el mismo peoyecto.
Entiendo que no puedes usarlo, salvo que implementes el mismo proyecto en ambos celulares. Pero eso ya lo sabes.
Saludos.
Es cierto. Es decir, el Blynk es una aplicación mono-usuario.
Gracias por tu respuesta y excelente el trabajo que haces.
Lo ingresas con el mismo programa que usas para arduino solo que tienes que cargarle la librería para que te reconozca este modulo
Hola una pregunta, querría saber los materiales del proyecto?, por que ando media confusa ya que estoy empezando recién con la materia.
hola necesito recargar energia o sea comprar en la aplicacion para agregar botones.
la pregunta es si el importe de la compra es por unica vez o mensual.
gracias
Hola dario .
Cuando se termina tu energía tienes que adquirir una cantidad que depende de lo que necesites. En cuanto a la compra se refiere a una cantidad X, que te sirve mientras la usas, por ese motivo se te agota con las pruebas que hagas.
Saludos.
Saludo, Ing como cambio el authtoken generado por la aplicacion Blynk sin reprogramar el ESP32, hay alguna forma de enviar el authtoken generado por la aplicacion desde le misma aplicacion. Gracias
Hola Edwin Ardila.
Desconozco si hay alguna aplicación que permita hacer dicho cambio.
Saludos.
Hola buenas tardes, me podría decir los valores de los componentes, tengo una duda acerca de eso
Hola Valeria.
No tengo claro a que te refieres con los valores de los componentes, supongo que te refieres a la figura 2, ??
Se trata de un transistor NPN genérico, un Diodo como el 1N4007 y un relé de tensión adecuada con un contacto conmutado.
Saludos.