Blynk es un servicio de Internet de las cosas (IoT) diseñado para hacer que el control remoto y la lectura de los datos de los sensores desde sus dispositivos sea lo más rápido y fácil posible. En este artículo, cubriremos exactamente qué es Blynk, cómo funciona y brindaremos dos proyectos de ejemplo breves sobre diferentes usos del servicio con las placas de desarrollo NodeMCU y Raspberry Pi.
Nunca ha sido más fácil comenzar a desarrollar objetos inteligentes usando microcontroladores, y los dispositivos IoT han crecido rápidamente en popularidad en los últimos años. Las placas de desarrollo como Arduino o Raspberry Pi se pueden usar para controlar todo desde las tomas de corriente Cómo controlar tomas de corriente de RF baratas de OpenHAB Cómo controlar tomas de corriente RF baratas de OpenHAB Tener enchufes de alimentación baratos basados en RF, pero descubrieron que no funcionan los concentradores domésticos inteligentes ¿Con ésos? Puede vincularlos a su sistema de casa inteligente DIY con solo alrededor de $ 10 en partes. Lea más en su hogar sobre decoraciones navideñas activadas por movimiento Actualice su corona navideña con una matriz LED activada por movimiento Actualice su corona navideña con una matriz LED activada por movimiento Esta corona navideña DIY utiliza una matriz Arduino y LED para producir una asombrosa pantalla luminosa que impresionará a tus amigos y familiares. Lee mas .
Un área que puede suponer un problema para los no iniciados es la codificación y la creación de redes. Blynk tiene como objetivo eliminar la necesidad de una codificación extensa y facilitar el acceso a sus dispositivos desde cualquier lugar en su teléfono inteligente. Es de uso gratuito para aficionados y desarrolladores, aunque también está disponible para su uso comercial por una tarifa: las empresas pueden usar Blynk para crear sus propias aplicaciones y sistemas y luego venderlos con su propia marca.
Blynk usa su propio servidor y biblioteca para hacer que el servicio funcione, pero es la aplicación Blynk que parece ser su principal fortaleza.
Ingrese la aplicación Blynk
La aplicación Blynk está disponible gratis en Android e iOS. Es el punto de partida para sus proyectos, presentando un sistema de arrastrar y soltar fácil de usar para construir controles personalizados para su configuración de IoT. El flujo de trabajo es rápido: cuando comienza un nuevo proyecto, se le solicita que elija su placa de desarrollo de una lista extensa, y también su método de conexión. La aplicación luego envía un token de autorización por correo electrónico para conectarse a su dispositivo a través del servidor Blynk.
Los elementos de control se denominan Widgets : varios tipos de métodos de entrada y pantallas de salida que incluyen botones, controles deslizantes, un joystick, gráficos y comentarios de texto. También hay widgets específicos para cada componente, con controles estilizados para LEDS, pantallas LCD e incluso videos transmitidos en vivo. También son notables los widgets que agregan características, como la publicación automática en Twitter y las notificaciones personalizadas.
Si bien la aplicación es gratuita, limita la cantidad de widgets que puede usar a la vez al darles un costo de "Energía". La aplicación te ofrece un saldo de 2.000 para jugar, con la opción de comprar más si es necesario.
Descubrí que el saldo inicial proporcionado era más que suficiente para los proyectos de ejemplo que se enumeran aquí, aunque si su configuración es más complicada, es posible que se quede sin energía rápidamente.
Cada widget tiene un menú de edición que le permite cambiar el nombre y el color. A continuación, elija qué pin afectar (ya sea un pin en su tablero o uno de los pines virtuales de Blynk) junto con el rango de valores para enviar. Para las pantallas de salida, como gráficos y cuadros de texto, también puede elegir la frecuencia con la que desea que se actualice, lo que puede ahorrar un precioso ancho de banda.
Blynk también cuenta con la capacidad de asignar instrucciones a los pines "virtuales", que son conexiones configuradas por el usuario entre la aplicación y el hardware. Por lo tanto, se puede usar un solo botón en la aplicación para activar muchos eventos diferentes en el dispositivo. Cubriremos cómo usar estos más adelante en el artículo.
La aplicación ofrece la opción de compartir tu proyecto con otros. Se genera un código QR que puede enviarse por correo electrónico o escanearse directamente y ser utilizado por cualquier persona que también tenga la aplicación Blynk. La persona con la que comparta no puede realizar cambios en el proyecto, por lo que es una forma rápida y conveniente de compartir el control de sus dispositivos. Sin embargo, vale la pena señalar que su proyecto en la aplicación debe estar ejecutándose para que otros tengan acceso al hardware.
También puede compartir el proyecto sin permitir el acceso a su hardware, que es una excelente manera de enseñar a las personas cómo usar la aplicación sin permitir que enciendan y apaguen las luces.
Encontré la creación de una aplicación muy rápida e intuitiva. Una vez creado, puede comenzar a usarlo inmediatamente presionando el símbolo de reproducción en la esquina superior derecha. Si necesita realizar cambios más tarde, simplemente presione el mismo botón para regresar al modo de edición.
El servidor Blynk
Una vez que haya creado una aplicación para controlar su dispositivo, tiene dos opciones para comunicarse con ella.
El servidor en la nube Blynk es rápido, receptivo y de uso gratuito. Conectarse a un dispositivo Wi-Fi es tan fácil como copiar su código de autorización generado en su boceto Arduino y proporcionar sus detalles de Wi-Fi. Para Raspberry Pi, Blynk proporciona un script de prueba que puede ejecutar con su código de autorización con el mismo efecto. Más adelante en este artículo, crearemos nuestro propio script usando la biblioteca Blynk para conectarnos al servicio.
La segunda opción es alojar su propio servidor Blynk. Blynk proporciona un servidor Java basado en Netty de código abierto que se puede ejecutar desde su computadora, o incluso una Raspberry Pi. Esto tiene varios beneficios para algunos usuarios en términos de funcionalidad y seguridad, aunque para nuestros ejemplos aquí nos concentraremos en usar el servidor en la nube Blynk provisto.
La Biblioteca Blynk
El tercer y último elemento de Blynk es la biblioteca Blynk. Esta biblioteca funciona con una gran lista de paneles de desarrollo para permitir la comunicación entre la aplicación y su hardware.
En su forma más simple, todo lo que se requiere es instalar la biblioteca y cargar uno de los bocetos de ejemplo bien anotados.
Blynk: configuración inicial
Instale la aplicación Blynk en su teléfono inteligente y cree una cuenta. Asegúrate de utilizar una dirección de correo electrónico a la que puedas acceder ya que es donde se enviarán tus tokens de autorización. Ahora crea un proyecto, selecciona la placa que usarás y cómo te conectarás a ella. Ambos ejemplos se conectan a través de Wi-Fi, aunque las conexiones a través de Bluetooth, Ethernet e incluso GSM también son posibles.
Crea tu proyecto Esto enviará automáticamente un token de autorización. Si no lo recibe, puede volver a enviarlo seleccionando el ícono de configuración del proyecto (la pequeña tuerca), seleccionando su dispositivo y seleccionando "E-mail".
Luego, instale las bibliotecas de Blynk desde el sitio web de Blynk. Para Arduino, instale la biblioteca copiando los archivos en su carpeta Arduino> libraries . Si es nuevo en Arduino, aquí hay una guía para comenzar Empezar con Arduino: una guía para principiantes Comenzar con Arduino: una guía para principiantes Arduino es una plataforma de prototipos de electrónica de código abierto basada en hardware flexible y fácil de usar, y software. Está dirigido a artistas, diseñadores, aficionados y cualquier persona interesada en crear objetos o entornos interactivos. Lee mas .
Para Raspberry Pi, deberás asegurarte de que tienes Node.js instalado primero. Hay una guía para instalar Node.js en este artículo Cómo hacer una luz de wifi con control de Siri Cómo hacer una luz de Wi-Fi controlada por Siri de bricolaje En esta guía, aprenderá cómo crear una Luz controlable por Wi-Fi, y contrólala con Siri. Lea más si lo necesita.
En primer lugar, asegúrese de que su Pi esté actualizado y tenga instalado el paquete de compilación esencial.
sudo apt-get update sudo apt-get upgrade sudo apt-get install build-essential
Luego instale el Administrador de paquetes de nodo, la biblioteca de OnOff y la biblioteca de Blynk tipeando esto en su ventana de Terminal.
sudo npm install -g npm sudo npm install -g onoff sudo npm install -g blynk-library
Puede comprobar que todo ha funcionado ejecutando el script de prueba de Blynk:
blynk.js [YourAuthorizationTokenHere]
Siempre que todo esté funcionando, debería verse así:
Si obtiene algún error, asegúrese de que su Pi esté actualizado y de que tenga instalada la versión más reciente de Node.js antes de volver a instalar las bibliotecas de NPM, OnOff y Blynk.
Configuración rápida con NodeMCU
Este primer ejemplo muestra qué tan rápido es configurar sistemas simples usando Blynk. No requiere codificación, y una vez configurada, es completamente independiente. Siempre que el tablero tenga acceso a su conexión Wi-Fi, puede acceder desde cualquier lugar usando su teléfono inteligente.
Para comenzar, configure un circuito simple en una placa de prueba. Conecte el pin D0 a la pata positiva de un LED, y de vuelta al pin GND a través de una resistencia de 220 Ohm.
Abra su proyecto NodeMCU en la aplicación Blynk. En el lado derecho, selecciona el widget Botón del menú. Seleccione su botón en su proyecto para abrir su menú de propiedades. Aquí puede nombrarlo, y elegir qué pin en su placa NodeMCU debería afectar. Seleccione el pin D0 de la lista de salida y cambie el modo para convertirlo en un interruptor de encendido y apagado, en lugar de un interruptor momentáneo.
Presiona hacia atrás (todos los cambios se guardan automáticamente), luego presiona el ícono de reproducción en la esquina superior derecha para iniciar tu aplicación. Puede presionar este mismo botón en cualquier momento para volver a editar su proyecto.
A continuación, abra Arduino IDE y elija su placa y puerto NodeMCU en el menú de herramientas. Si no ve su placa en este menú, puede que necesite instalar las bibliotecas ESP8266 (esta guía debería ayudar a Conozca al asesino de Arduino: ESP8266 Conozca al asesino de Arduino: ESP8266 ¿Qué pasa si le digo que hay una placa de desarrollo compatible con Arduino? con Wi-Fi incorporado por menos de $ 10? Bueno, hay. Leer más).
Ahora abra la secuencia de comandos independiente ESP8266 que Blynk proporcionó en su biblioteca, navegando a Archivo> Ejemplos> Blynk> Boards_WiFi> ESP8266_Standalone . Reemplace el marcador de posición para el token de autorización con el que recibió por correo electrónico e ingrese los detalles de su wifi.
char auth[] = "YourAuthToken"; char ssid[] = "YourNetworkName"; char pass[] = "YourPassword";
Guarde el boceto con un nuevo nombre y cárguelo en su tablero. Ahora cuando presiona el botón en la aplicación, el LED debería encenderse y apagarse. Si no funciona, compruebe que ha presionado el icono de reproducción en la aplicación.
En casos simples como estos, Blynk es increíblemente rápido de configurar.
También vale la pena señalar que, dado que utiliza el servidor Blynk, puede controlar su placa desde cualquier lugar, siempre que la placa tenga acceso a la conexión de su hogar con Wi-Fi, y su teléfono inteligente tenga acceso a datos móviles.
Blynk en la Raspberry Pi
Puedes usar Blynk exactamente de la misma manera que en el ejemplo anterior en Raspberry Pi usando el script de prueba de Blynk, pero hay algunas funcionalidades más profundas que proporcionan los pines virtuales de Blynk, que veremos ahora.
Blynk funciona usando Node.js, por lo que el código que escribiremos hoy estará en Javascript. Si eres nuevo en el idioma, este debería ser un excelente manual para comenzar. Comienza a codificar JavaScript ahora mismo. Con estos 5 recursos gratis. Comienza a codificar JavaScript ahora mismo con estos 5 recursos gratis. Más información.
Utilizaremos la biblioteca Blynk para crear una aplicación que informe si un sensor de puerta está abierto o cerrado, y enviará un correo electrónico y una notificación de inserción a su teléfono móvil cuando se abra la puerta.
Necesitará:
- Interruptor de imán de puerta (también conocido como interruptor de láminas)
- 1x 1k? resistor
- 1x 10k? resistor
- 1x 220? resistor
- 1x LED
- Tablero de conexiones y cables de conexión
Configura tu tabla de pruebas así:
Tenga en cuenta que la biblioteca de Blynk utiliza los números GPIO de los pines de Pi, por lo que los utilizaremos a lo largo de este proyecto. Conecte los pines de 5 V y GND a los rieles de potencia en la placa de prueba. ¿Conectar el pin 22 de GPIO en la Raspberry Pi al ánodo LED, y conectar el cátodo a la barra de tierra a través de la 220? resistor. ¿Conectar el pin 17 de GPIO a un lado del 1k? resistor, y conecta el 10? resistencia al otro lado, y el lado de 5V del carril de potencia. Finalmente, conecte su interruptor de lengüeta al lado GND del carril de potencia en un lado, y en la línea donde está el 1k? y 10k? resistencias se encuentran en el otro. Esta configuración de resistencia pull-up causará que el voltaje en el pin 17 lea alto cuando se abra el interruptor.
Cree un nuevo proyecto en la aplicación Blynk y seleccione su placa Raspberry Pi. En el menú del widget, seleccione un valor etiquetado, correo electrónico y un widget de notificación.
Seleccione el valor etiquetado, asígnele un nombre y elija el pin virtual V0 como pin de entrada. También puede cambiar cómo se muestra la información. En este caso, agregue "La puerta es" antes / pin / en la pestaña Etiqueta. Podemos dejar el valor de Frecuencia de lectura en su configuración predeterminada, aunque puede cambiar esto para enviar datos a su aplicación a un ritmo diferente.
Vale la pena señalar que en realidad no tiene que ingresar una dirección de correo electrónico en el widget de correo electrónico, ya que lo agregaremos al código más tarde, aunque el widget debe estar presente para que funcione.
Una vez que esté satisfecho con el aspecto de su aplicación, presione el botón Reproducir en la esquina superior derecha.
Ahora crea una nueva secuencia de comandos llamada blynkdoor.js . El código completo está disponible completamente anotado aquí.
sudo nano blynkdoor.js
Necesitamos comenzar por importar la biblioteca de Blynk, agregar nuestra clave de autorización y crear una instancia de Blynk para usar en nuestro script.
var blynklib = require('/usr/local/lib/node_modules/blynk-library'); var AUTH ='PasteAuthorizationCodeHere' var blynk = new blynklib.Blynk(AUTH);
También tenemos que importar la biblioteca OnOff y declarar las variables que configuran nuestro interruptor Reed y LED. También crearemos una variable para el pin virtual que configuramos en la aplicación Blynk.
var Gpio = require('onoff').Gpio, reed = new Gpio(17, 'in', 'both'), //register changes 'both' when switch is opened and closed led = new Gpio(22, 'out'); var virtualPin = 0;
Ahora vamos a usar la función de reloj de la biblioteca OnOff para ver los cambios en nuestro interruptor Reed. El interruptor de la puerta está en 0 o 1, y cada vez que ese valor cambie escribimos ese cambio en el pin del LED.
reed.watch(function(err, value){ led.writeSync(value);
Podemos usar el valor para enviar datos a la aplicación Blynk. Si la puerta está cerrada, queremos poder ver eso en su widget de valor etiquetado. Si se abre la puerta, queremos recibir una notificación y un correo electrónico diciéndonos. Hacemos esto con una instrucción if y utilizando las funciones de escritura virtual, notificación y correo electrónico de la biblioteca Blynk. La documentación completa de Blynk se puede encontrar aquí.
if(value==0){ blynk.virtualWrite(virtualPin, "Closed"); console.log('Door Closed'); }; if(value==1){ blynk.notify("The door just opened!"); blynk.email("[email protected]", "Front Door", "The front door just opened."); blynk.virtualWrite(virtualPin, "Open"); console.log('Door Open'); }; });
Ahora, cada vez que el interruptor de lengüeta registra un cambio de valor, los datos se envían a nuestro pin virtual, y en el caso de la puerta que se abre al widget de notificación en la aplicación, así como a la escritura en la consola. Tenga en cuenta que las llaves finales son de donde comenzamos la función de reloj arriba.
Finalmente, necesitamos restablecer el pin cuando el programa finaliza. Esto es lo mismo que GPIO.cleanup () con el que probablemente ya esté familiarizado.
process.on('SIGINT', function () { led.unexport(); reed.unexport(); });
Ahora guarda tu código y sal. Ejecute su script usando un nodo.
sudo node blynkdoor.js
Ahora, cuando mueva el imán lejos del sensor de láminas, recibirá una notificación que le indicará que se abrió la puerta y que la pantalla etiquetada debería cambiar. Vuelva a cerrar el interruptor y verá que la pantalla etiquetada cambia de nuevo.
Vale la pena señalar que la aplicación Blynk debe ejecutarse en su teléfono para recibir notificaciones push, aunque los correos electrónicos funcionan independientemente de si la aplicación se está ejecutando o no.
En el corto tiempo pasado hasta ahora con Blynk, parece un servicio muy fácil de usar. Es lo más simple que permite a las personas sin conocimientos de codificación construir sistemas de automatización del hogar DIY fácilmente. Con un poco de conocimiento de codificación adicional se vuelve aún más poderoso, lo que permite sistemas mucho más complejos y desencadenantes de eventos múltiples desde las pulsaciones de un solo botón en la aplicación.
Este proyecto fue una introducción básica a Blynk, aunque lo que hemos tratado aquí podría modificarse fácilmente para casi cualquier proyecto de domótica o microcontrolador.
¿Has usado Blynk? ¿Tiene un complejo sistema loco utilizando el servicio que le gustaría compartir con nosotros? Háganos saber en los comentarios a continuación!
Crédito de la imagen: Giuseppe Caccavale a través de YouTube.com