Ir al contenido principal

Tutorial NodeMCU (VII): humedad y temperatura desde el móvil con Blynk

Blynk es una plataforma en la nube que proporciona soluciones IoT a particulares y empresas. Una diferencia con respecto a otras soluciones es que todo se gestiona y controla desde su app móvil, disponible para las plataformas Android y iOS. Una vez instalada la app, desde la misma se realiza el registro. También desde la app se configuran los dispositivos que se van a conectar y se diseña el tablero.

Blynk posee una gran variedad de paneles para incluir en nuestra aplicación. Además de los clásicos elementos de control, como switches e indicadores, también existen paneles para conexión a redes sociales, notificaciones, sensores del smartphone, etc. Cada panel a emplear cuesta unas unidades de energía, que se adquieren mediante compras integradas en la app. En función de la cantidad de energía de la que dispongamos, podremos colocar más o menos paneles en nuestra aplicación. Actualmente la opción gratuita viene con 2000 unidades de energía. Para hacernos una idea de lo que significa esta cantidad, un botón consume 200 unidades de energía, un display numérico 200, una gráfica de evolución 900, etc. Cuanto más complejo sea el panel, más unidades de energía necesitará. Las 2000 unidades de la opción gratuita vienen bien para probar la app y para pequeños proyectos personales, pero poco más.

Aunque hay otras soluciones en la nube, Blynk presenta la gran ventaja de estar incluida en ArduinoBlocks, por lo que podemos crear en este entorno proyectos IoT que empleen los servicios de esta plataforma. Aunque la programación de aplicaciones empleando los bloques de Blynk cambia un poco la filosofía de programación a la que estamos acostumbrados, el código resultante resulta bastante más claro y sencillo.

Para gestionar los dispositivos conectados, la plataforma Blynk emplea un código de autorización denominado token. El token es un código alfanumérico único de la forma 5Km3jaN46Aojk9RYoZL8kV61p1CeC46Z, que se genera cada vez que creamos un nuevo proyecto. Este código debe ser configurado en la placa para que esta pueda registrarse en la plataforma y ser accesible desde nuestra app. Por motivos de comodidad, el token se envía a la dirección de correo electrónico de registro para poder pegarlo cómodamente en el momento de realizar el proyecto en ArduinoBlocks.


Vamos a programar algo básico: en nuestro teléfono móvil podremos ver las lecturas de humedad y temperatura que hace nuestra placa NodeMCU. Además, mediante un botón, endenderemos y apagaremos la luz LED de la placa. Para ello seguiremos los siguientes pasos:

1. Descargamos la app Blynk en nuestro teléfono móvil.

2. Pulsamos en New Project: le damos un nombre y elegimos la placa NodeMCU.

3. Comprobamos que nos ha llegado el "token" al correo electrónico, que necesitaremos para copiar-pegar.

4. Añadimos los elementos de control necesarios: deslizando a la derecha, vemos la cantidad de energía que tenemos (2000 en la opción gratuita) y seleccionamos los elementos "Button" y "SuperChart".

5. Pulsamos sobre el "Button" para configurarlo: en este caso, al controlar el LED de la placa, sabemos que debe ser a través del PIN digital D4.

6. Pulsamos ahora sobre "SuperChart" para acceder a sus propiedades: damos los dos datos de "data stream" con "temperatura" y "humedad".

7. Vamos a utilizar de entrada un Pin virtual. Para ello pinchamos en "pin" y seleccionamos pin virtual V2 para temperatura, pin virtual V3 para humedad.

8. Blynk ya está configurado. Nos vamos ahora a ArduinoBlocks, creamos un nuevo proyecto y comenzamos a programar.

9. En el apartado Blynk de bloques tenemos todos los necesarios. Para comenzar, añadiremos el bloque "iniciar" colocándolo dentro del bloque "inicializar". Los parámetros son nombre y clave de la red wifi a la que nos conectaremos, la IP del servidor y el puerto (los dejamos en blanco) y el código Auth, que es el Token que nos habrán enviado al email (copiamos y pegamos). Con esto ya estaría lista la placa para conectarse a la plataforma Blynk.

10. Para controlar la salida del Pin, no tenemos que programar ninguna función, ya que lo hemos programado directamente en la App Blynk (que se active o no el pin D4). 

11. Para instrucciones de temporización, podemos emplear las propias de Blynk. De esta manera, podemos colocarlas en otro bloque distinto a bucle, dejando el código más colocado y limpio.

12. Dentro del apartado Blynk, escogemos el bloque"escribir pin virtual" y seleccionamos el V2 para leer la temperatura (bloque de sensores, lectura de temperatura). Duplicaremos el código para seleccionar V3 y lectura de humedad de nuestro sensor DHT11.

13. Toda la programación quedaría de la siguiente manera:




14. Subimos el código a nuestra placa, volvemos a la app del teléfono móvil y pulsamos al icono de "play" de la parte superior izquierda. Nuestro programa ya estaría en funcionamiento.


Comentarios

Entradas populares de este blog

Prácticas con FluidSIM

FluidSim es una herramienta de simulación para la obtención de los conocimientos básicos de la neumática y de la hidráulica.

Crucigrama: materiales metálicos

¿Te atreves a contestar este crucigrama sobre los materiales metálicos?

8. Prácticas con FluidSim

FluidSim es una herramienta de simulación para la obtención de los conocimientos básicos de la neumática y de la hidráulica. Descarga aquí el programa en español Descarga aquí el manual de neumática Descarga aquí el manual de hidráulica   Actividad 1 Representa en FluidSim el siguiente circuito neumático. Describe el cilindro, la válvula y el funcionamiento del circuito.   Actividad 2 Representa en FluidSim el siguiente circuito neumático. Describe el cilindro, la válvula y el funcionamiento del circuito.   Actividad 3 Representa en FluidSim el siguiente circuito neumático. Describe el cilindro, la válvula y el funcionamiento del circuito.   Actividad 4 Representa en FluidSim el siguiente circuito neumático. Describe el cilindro, la válvula y el funcionamiento del circuito.   Actividad 5 Representa en FluidSim el siguiente circuito neumático. Describe el cilindro, la válvula y el funcionamiento del circuito.   Actividad 6 Diseña el siguiente circuito y describe el nombre de