Anuncio

Blynk [Broken URL Removed] es un servicio de Internet de las cosas (IoT) diseñado para hacer que el control remoto y la lectura de datos de sensores de sus dispositivos sean lo más rápidos y fáciles 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 tan fácil comenzar a desarrollar objetos inteligentes utilizando 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 tomas de corriente Cómo controlar tomas de corriente RF baratas desde OpenHAB¿Tiene algunos enchufes de corriente basados ​​en RF baratos pero descubrió que no hay centros domésticos inteligentes que funcionen con ellos? Puede vincularlos a su sistema de hogar inteligente de bricolaje con solo alrededor de $ 10 en partes. Lee mas

instagram viewer
en su casa a activada por movimiento Decoraciones de navidad Actualice su corona navideña con una matriz LED activada por movimientoEsta corona navideña de bricolaje utiliza una matriz Arduino y LED para producir una increíble pantalla iluminada que impresionará a sus amigos y familiares. Lee mas .

Un área que puede plantear 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 de su teléfono inteligente. Es de uso gratuito para aficionados y desarrolladores, aunque también está disponible para su uso comercial para tarifa: las empresas pueden usar Blynk para crear sus propias aplicaciones y sistemas y luego venderlos con sus propios marca.

Blynk usa su propio servidor y biblioteca para que el servicio funcione, pero es la aplicación Blynk la que parece ser su principal fortaleza.

Ingrese a la aplicación Blynk

La aplicación Blynk está disponible de forma gratuita en Android e iOS. Es el punto de partida para sus proyectos, con un sistema de arrastrar y soltar fácil de usar para crear controles personalizados para su configuración de IoT. El flujo de trabajo es rápido: al comenzar un nuevo proyecto, se le solicita que elija su placa de desarrollo de una extensa lista, y también su método de conexión. Luego, la aplicación 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 llaman 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 de componentes específicos, con controles estilizados para LEDS, pantallas LCD e incluso video en vivo. También son notables los widgets que agregan funciones, como la publicación automática en Twitter y notificaciones personalizadas.

Si bien la aplicación es gratuita, limita la cantidad de widgets que puede usar a la vez, dándoles a todos 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 enumerados aquí, aunque si su configuración es más complicada, es posible que se quede sin energía con rapidez.

widgets y botón blynk

Cada widget tiene un menú de edición que le permite cambiar el nombre y el color. Luego, elige qué pin afectar (ya sea un pin en tu tablero o uno de los pines virtuales de Blynk) junto con el rango de valores a enviar. Para las pantallas de salida, como gráficos y cuadros de texto, también puede elegir con qué frecuencia desea que se actualice, lo que puede ahorrar un ancho de banda precioso.

Blynk también presenta la capacidad de asignar instrucciones a pines "virtuales", que son conexiones configuradas por el usuario entre la aplicación y el hardware. Por lo tanto, un solo botón en la aplicación se puede utilizar para activar muchos eventos diferentes en el dispositivo. Cubriremos cómo usarlos más adelante en el artículo.

La aplicación ofrece la opción de compartir su 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. Quienquiera que comparta no puede realizar cambios en el proyecto, lo que lo convierte en 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 dejar 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 hacer cambios más tarde, simplemente presione el mismo botón para volver al modo de edición.

El servidor de Blynk

Una vez que haya creado una aplicación para controlar su dispositivo, tiene dos opciones sobre cómo comunicarse con él.

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 el 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 para el mismo efecto. Más adelante en este artículo, crearemos nuestro propio script utilizando la biblioteca Blynk para conectarse al servicio.

La segunda opción es aloja tu propio Servidor Blynk. Blynk proporciona un servidor Java de código abierto basado en Netty que puede ejecutarse desde su computadora, o incluso desde 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 previsto.

sitio web de blynk

La biblioteca de Blynk

El tercer y último elemento de Blynk es el Biblioteca Blynk. Esta biblioteca funciona con una gran lista de placas 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 que se proporcionan.

Blynk: configuración inicial

Instale la aplicación Blynk en su teléfono inteligente y cree una cuenta. Asegúrese de utilizar una dirección de correo electrónico a la que realmente pueda acceder, ya que allí es donde se enviarán sus tokens de autorización. Ahora cree un proyecto, seleccionando qué placa usará y cómo se conectará a ella. Ambos ejemplos aquí se conectan a través de Wi-Fi, aunque también son posibles las conexiones a través de Bluetooth, Ethernet e incluso GSM.

Crea tu proyecto. Esto enviará automáticamente un token de autorización. Si no lo recibe, puede reenviarlo seleccionando el icono de configuración del proyecto (la pequeña tuerca), seleccionando su dispositivo y seleccionando "Correo electrónico".

A continuación, instale las bibliotecas de Blynk desde el sitio web de Blynk. Para Arduino, instale la biblioteca copiando los archivos en su Arduino> bibliotecas carpeta. Si eres nuevo en Arduino, aquí hay un guía para comenzar Comenzando con Arduino: una guía para principiantesArduino es una plataforma de creación de prototipos de electrónica de código abierto basada en hardware y software flexible y fácil de usar. Está destinado a artistas, diseñadores, aficionados y cualquier persona interesada en crear objetos o entornos interactivos. Lee mas .

Para Raspberry Pi, primero deberá asegurarse de tener Node.js instalado. Hay una guía para Node.js instalado en Este artículo Cómo hacer una luz Wi-Fi controlada por Siri DIYEn esta guía, aprenderá cómo crear una luz controlable por Wi-Fi y cómo controlarla con Siri. Lee mas si lo necesitas

En primer lugar, asegúrese de que su Pi esté actualizada y que tenga instalado el paquete esencial de compilación.

sudo apt-get update. sudo apt-get upgrade. sudo apt-get install build-essential. 

Luego instale el Administrador de paquetes de nodos, la Encendido apagado biblioteca y el Blynk biblioteca escribiendo esto en su ventana de Terminal.

sudo npm install -g npm. sudo npm install -g onoff. sudo npm install -g blynk-library. 

Puede verificar que todo ha funcionado ejecutando el script de prueba de Blynk:

blynk.js [YourAuthorizationTokenHere] 

Siempre que todo funcione, debería verse así:

guión de prueba blynk pi blynk

Si obtiene algún error, asegúrese de que su Pi esté actualizada y que tenga instalada la versión más reciente de Node.js, antes de reinstalar las bibliotecas NPM, OnOff y Blynk.

Configuración rápida con NodeMCU

Este primer ejemplo muestra lo rápido que es configurar sistemas simples usando Blynk. No requiere codificación, y una vez configurada, es completamente independiente. Siempre que la placa tenga acceso a su conexión Wi-Fi, puede acceder a ella desde cualquier lugar utilizando su teléfono inteligente.

Para comenzar, configure un circuito simple en una placa de pruebas. Conectar pin D0 a la pata positiva de un LED, y de vuelta al pin GND a través de una resistencia de 220 Ohm.

nodemcu fritzing

Abra su proyecto NodeMCU en la aplicación Blynk. En el lado derecho, seleccione el Botón widget 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 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.

Presione Atrás (todos los cambios se guardan automáticamente), luego presione el icono de reproducción en la esquina superior derecha para iniciar su aplicación. Puede presionar este mismo botón en cualquier momento para volver a editar su proyecto.

A continuación, abra el IDE de Arduino y elija su placa y puerto NodeMCU en el menú de herramientas. Si no ve su placa en este menú, es posible que necesite instalar las bibliotecas ESP8266 (esta guía debería ayudar Conoce al asesino de Arduino: ESP8266¿Qué pasa si te digo que hay una placa de desarrollo compatible con Arduino con Wi-Fi incorporado por menos de $ 10? Pues lo hay. Lee mas ).

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 sus detalles de Wi-Fi.

char auth [] = "YourAuthToken"; char ssid [] = "YourNetworkName"; char pass [] = "Tu contraseña"; 

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, verifique que haya presionado el ícono de reproducción en la aplicación.

En casos simples como estos, Blynk es increíblemente rápido de configurar.

blynk nodemcu terminado

También vale la pena señalar que, dado que esto utiliza el servidor Blynk, puede controlar su placa desde cualquier lugar, siempre que la placa tenga acceso a la conexión Wi-Fi de su hogar y su teléfono inteligente tenga datos móviles acceso.

Blynk en la Raspberry Pi

Puede usar Blynk exactamente de la misma manera que en el ejemplo anterior en Raspberry Pi utilizando la prueba de Blynk script, pero hay algunas funcionalidades más profundas que proporcionan los pines virtuales de Blynk, que analizaremos ahora.

Blynk funciona utilizando Node.js, por lo que el código que escribiremos hoy estará en Javascript. Si eres nuevo en el idioma, Esto debería ser una excelente introducción para comenzar Comience a codificar JavaScript ahora mismo con estos 5 excelentes recursos gratuitos Lee mas .

Usaremos 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 automática a su teléfono móvil cuando se abra la puerta.

Necesitará:

  • Interruptor magnético de puerta (también conocido como interruptor de láminas)
  • 1x 1k? resistor
  • 1x 10k? resistor
  • 1x 220? resistor
  • 1x LED
  • Tablero y cables de conexión

Configure su placa de prueba de esta manera:

pi fritzing

Tenga en cuenta que la biblioteca de Blynk utiliza los números GPIO de los pines de Pi, por lo que los utilizaremos durante todo este proyecto. Conecte los pines de 5V y GND a los rieles de alimentación en la placa de pruebas. ¿Conecte el pin 22 de GPIO en la Raspberry Pi al ánodo LED y conecte el cátodo al riel de tierra a través del 220? resistor. Conecte el pin GPIO 17 a un lado del 1k? resistencia, y conecte el 10? resistencia al otro lado, y el lado de 5V del riel de alimentación. Finalmente, conecte su interruptor de láminas al lado GND del riel de alimentación 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 hará que el voltaje en el pin 17 lea alto cuando se abre 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 pin virtual V0 como es el pin de entrada. También puede cambiar cómo se muestra la información. En este caso, agregue “La puerta está” antes / pin / en la pestaña Etiqueta. Podemos dejar el valor de Frecuencia de lectura en su configuración predeterminada, aunque puede cambiarlo para enviar datos a su aplicación a una velocidad diferente.

Vale la pena señalar que en realidad no es necesario que ingrese una dirección de correo electrónico en el widget de correo electrónico, ya que lo agregaremos al código más adelante, 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.

valor etiquetado del proyecto

Ahora cree un nuevo script llamado blynkdoor.js. El código completo está disponible totalmente anotado. aquí.

sudo nano blynkdoor.js. 

Necesitamos comenzar importando la biblioteca Blynk, agregando nuestra clave de autorización y creando 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 necesitamos importar la biblioteca OnOff y declarar variables que configuran nuestro interruptor de láminas 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'), // registra los cambios 'both' cuando el interruptor se abre y se cierra. led = nuevo Gpio (22, 'fuera'); var virtualPin = 0; 

Ahora vamos a usar el reloj funcionar desde la biblioteca OnOff para ver los cambios en nuestro interruptor de láminas. El interruptor de la puerta está en 0 o 1, y cada vez que ese valor cambia, escribimos ese cambio en el pin del LED.

reed.watch (función (err, valor) {led.writeSync (valor); 

Podemos usar el valor para también 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 informándonos. Hacemos esto con una declaración if, y usando virtualWrite, notificary correo electrónico funciones de la biblioteca Blynk. La documentación completa para Blynk se puede encontrar aquí.

 if (valor == 0) {blynk.virtualWrite (virtualPin, "Cerrado"); console.log ('Puerta cerrada'); }; if (value == 1) {blynk.notify ("¡La puerta se acaba de abrir!"); blynk.email ("[email protected]", "Puerta principal", "La puerta principal se acaba de abrir"); blynk.virtualWrite (virtualPin, "Abrir"); console.log ('Puerta abierta'); }; }); 

Ahora, cada vez que el interruptor de láminas 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 la escritura en la consola. Tenga en cuenta que las llaves finales son de donde comenzamos el reloj función anterior.

Finalmente, necesitamos restablecer el pin cuando finaliza el programa. Esto es lo mismo que el GPIO.cleanup () Probablemente ya estés familiarizado.

process.on ('SIGINT', function () {led.unexport (); reed.unexport (); }); 

Ahora guarde su código y salga. Ejecute su script usando el nodo.

sudo nodo blynkdoor.js. 

Ahora, cuando aleje el imán del sensor de láminas, debería recibir una notificación que le diga que la puerta se abrió, y su pantalla etiquetada debería cambiar. Vuelva a cerrar el interruptor y verá que la pantalla etiquetada cambia nuevamente.

pi trabajando gif

Vale la pena señalar que la aplicación Blynk debe estar ejecutándose en su teléfono para recibir las notificaciones automáticas, aunque los correos electrónicos funcionan si la aplicación se está ejecutando o no.

En el poco tiempo pasado hasta ahora con Blynk, parece un servicio muy fácil de usar. En su forma más simple, permite a las personas sin conocimientos de codificación construir fácilmente sistemas de automatización del hogar de bricolaje. Con un poco de conocimiento adicional de codificación, se vuelve aún más potente, permitiendo sistemas mucho más complejos y disparadores de eventos múltiples con solo presionar un botón en la aplicación.

Este proyecto fue una introducción básica a Blynk, aunque lo que hemos cubierto aquí podría modificarse fácilmente para casi cualquier proyecto de domótica o microcontrolador.

¿Has usado Blynk? ¿Tiene un sistema complejo loco que utiliza el servicio que le gustaría compartir con nosotros? ¡Háganos saber en los comentarios a continuación!

Credito de imagen: Giuseppe Caccavale a través de YouTube.com

Ian Buckley es periodista independiente, músico, intérprete y productor de video que vive en Berlín, Alemania. Cuando no está escribiendo o en el escenario, está jugando con la electrónica o el código de bricolaje con la esperanza de convertirse en un científico loco.