Comenzando con Blynk Simple DIY IoT Devices

  • Mark Lucas
  • 0
  • 4050
  • 363
Anuncio

Blynk 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 los enchufes de energía. Cómo controlar los enchufes de energía de RF baratos de OpenHAB Cómo controlar los enchufes de energía de RF baratos de OpenHAB. ¿Con ésos? Puede vincularlos a su sistema de hogar inteligente de bricolaje con solo alrededor de $ 10 en partes. en su hogar con 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 increíble pantalla iluminada que impresiona a tus amigos y familiares. .

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 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 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. 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 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 puedes usar a la vez dándoles a todos “Energía” costo. 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. 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 “virtual” pines, 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 permitirles encender y apagar 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 alojar su 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 provisto.

La biblioteca de Blynk

El tercer y último elemento de Blynk es la 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 proporcionados.

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 “Email”.

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 es nuevo en Arduino, aquí hay una guía para comenzar. Introducción a Arduino: una guía para principiantes Introducción a Arduino: una guía para principiantes Arduino es una plataforma de creación de prototipos de electrónica de código abierto basada en hardware flexible y fácil de usar y software. Está destinado a artistas, diseñadores, aficionados y cualquier persona interesada en crear objetos o entornos interactivos.. .

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 DIY Cómo hacer una luz Wi-Fi controlada por Siri DIY En esta guía, aprenderá cómo crear una luz Luz controlable por Wi-Fi y contrólala con Siri. 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í:

Si recibe 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.

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. Seleccionar 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 a Conocer al asesino de Arduino: ESP8266 Conocer 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, lo hay.).

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.

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 acceso a datos móviles..

Blynk en la Raspberry Pi

Puede usar Blynk exactamente de la misma manera que en el ejemplo anterior en la Raspberry Pi usando el script de prueba de Blynk, 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 lenguaje, este debería ser un excelente manual para comenzar. Comienza a codificar JavaScript ahora mismo con estos 5 excelentes recursos gratuitos Comienza a codificar JavaScript ahora mismo con estos 5 excelentes recursos gratuitos .

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:

Tenga en cuenta que la biblioteca de Blynk usa los números GPIO de los pines de Pi, por lo que los usaremos a lo largo de 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 de la 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 se 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 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 una velocidad 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 en el 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.

Ahora cree un nuevo script llamado blynkdoor.js. El código completo está disponible completamente 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 está abierto y cerrado led = new Gpio (22, 'out '); 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 0 o 1, y cada vez que ese valor cambia, escribimos ese cambio en el pin 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, notificar, y correo electrónico funciones de la biblioteca Blynk. La documentación completa de 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 que la puerta se abra al widget de notificación en la aplicación, así como a la consola. Tenga en cuenta que las llaves finales son de donde comenzamos el reloj funcionar arriba.

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 node 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..

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 tanto si la aplicación se está ejecutando como si 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, lo que permite 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!

Crédito de la imagen: Giuseppe Caccavale a través de YouTube.com




Nadie ha comentado sobre este artículo todavía.

Sobre tecnología moderna, simple y asequible.
Tu guía en el mundo de la tecnología moderna. Aprenda a usar las tecnologías y los dispositivos que nos rodean todos los días y aprenda a descubrir cosas interesantes en Internet.