Instalando Blynk Server localmente

En este tutorial les mostrare de la forma más sencilla y profunda posible como correr un servidor de Blynk localmente en el PC.

¿Pero que es Blynk?

Como lo describen en su web Blynk es una plataforma de IoT independiente del hardware con aplicaciones móviles de marca blanca, nubes privadas, administración de dispositivos, análisis de datos y aprendizaje automático. Blynk es una plataforma con aplicaciones de iOS y Android para controlar Arduino, ESP8266, Raspberry Pi y similares en Internet.
Puede crear fácilmente interfaces gráficas para todos sus proyectos simplemente arrastrando y soltando widgets. La aplicación puede descargarse tanto para Android como para IOS.

Blynk usa una aplicación ya sea en IOS o Android para comunicarse con su servidor (Blynk Server) oficial en internet y así registrar y controlar tus proyectos.

¿Pero que es Blynk Server??

Blynk Server es un servidor Java de código abierto basado en Netty, responsable de reenviar mensajes entre la aplicación móvil Blynk y varias placas de microcontroladores y SBC (es decir, Arduino, Raspberry Pi, etc.). Gracias al uso de Java y a que en su aplicación nos permiten usar un server personalizado, es que podremos montar Blynk Server en modo local. Comencemos:

Requisitos

    • Java 8/11 (OpenJDK, Oracle)
    • Cualquier sistema operativo que pueda ejecutar Java
    • Al menos 30 MB de RAM (podría ser menos con el ajuste)
    • Puertos abiertos 9443 (para aplicaciones y hardware con ssl), 8080 (para hardware sin ssl)

Configuración del servidor local

Instalar java en Ubuntu

Si quieren el Java de Oracle:

Para Windows descargue Java aquí e instálelo.

Nota: Se recomienda el uso de Java 11, aunque también pueden usar Java 8.

Descargar el server Blynk

Creamos una carpeta para alojar los ficheros necesarios para nuestro servidor local. En mi caso cree la carpeta BlynkServer en la raiz de C, ustedes pueden crearla donde sea y con el nombre que quieran. Descargamos de su sitio la última versión de Blynk server y lo ubicamos en nuestra carpeta. Al dia de hoy es server-0.41.12.jar (Java 11) y server-0.41.12-java8.jar (Java 8).

Hay 2 cosas muy importante a tener en cuenta:

1-Blynk se desarrolla constantemente. Las aplicaciones móviles y el servidor se actualizan con frecuencia. Para evitar problemas durante las actualizaciones, desactive la actualización automática para la aplicación Blynk en su móvil o actualice el servidor local y la aplicación blynk al mismo tiempo para evitar posibles problemas de migración.

2- El servidor local de Blynk es diferente del servidor de Blynk Cloud. No están relacionados en absoluto. Debe crear una nueva cuenta cuando use el servidor local de Blynk.

Como bien resaltamos debemos crear una cuenta en el server local para nuestros proyectos, por lo que debemos configurar un email en la configuración del servidor local.

Habilitar correo en el servidor local

Para habilitar las notificaciones de correo en el servidor local, debe proporcionar sus propias credenciales de correo. Cree el archivo mail.properties dentro de la misma carpeta donde está server.jar. Propiedades de correo:

Generar certificados SSL propios

Este paso es opcional si quieres conexiones ssl para ello generaremos un certificado autofirmado y su clave.

Los ficheros generados ubicarlos en la misma carpeta (BlynkServer) donde tenemos nuestro server.jar. En el caso de usar Windows como sistema operativo deberan descargar e instalar openssl. Recomiendo este link. Tambien deberan agregarlo a las variables de entorno de Windows para poder llamarlo desde el CMD.

Sustituir C:\OpenSSL\bin por el camino que les cree su instalación.

Nota: El camino siempre deberá apuntar a la carpeta bin

Configuración avanzada del servidor local

Para obtener más flexibilidad, puede ampliar el servidor con más opciones creando el archivo server.properties en la misma carpeta que server.jar. Opciones del server disponibles:

Les dejo el link de un fichero server.properties de ejemplo y el fichero mío como quedo.

Ahora vamos a correr nuestro server ya que tenemos todas las configuraciones creadas. Les mostrare varias formas de correrlo.

En nuestro caso como tenemos todas las configuraciones y el server.jar en una misma carpeta correremos el server desde ahi.

Como resultado, debería ver algo así:

Habilitar el inico automático del servidor en Windows

Crear un fichero bat con el nombre que querramos y agregar el siguiente comando:

Copiar el archivo bat a la carpeta de inicio de Windows para que asi se incie con el arranque del mismo. Si desean un scripts más complejo y completo les dejo este.

Accediendo a la WEB UI de administración

Abrir su navegador y escribir la dirección y el puerto de su servidor Blynk

Por defecto el usuario es admin@blynk.cc y la clave es admin

Configurando nuestra aplicación Blynk en el teléfono

Abrir nuestra aplicación Blynk en el teléfono y configurar la ubicación del servidor.

En la opción de configurar el server elegir CUSTOM y agregar la IP de nuestro servidor. Una vez configurada la IP ya podemos logearnos usando el correo y la clave que definimos en mail.properties

No es objetivo de este tutorial mostrarles el uso de blynk lo dejare para un próximo tutorial donde les mostrare un ejemplo sencillo.

Ventaja de usar el servidor localmente

Las ventajas son:

  • No necesitaremos de una conexión activa a internet.
  • No tendremos que pagar por los widget que usemos cuando agotemos la energía inicial.

Esta última es muy importante y les mostrare como lograrlo. Blynk usa un sistema de puntos (energía) para el uso de los widgets. Todo funciona en ️»Energy». Cuando creas una nueva cuenta, obtiene ⚡️2,000 para comenzar a experimentar. Cada widget necesita algo de energía para funcionar. Por ejemplo, Button Widget requiere ⚡️200 Energy. Abra Widget Box en la aplicación Blynk para ver los precios completos. Cuando elimina un widget, la energía siempre se devuelve por completo. Hay algunas características, como Compartir, cuando no se devuelve Energía. Siempre se le advertirá en estos casos. Conociendo esto podemos entonces ajustar la energía inicial conque contaremos para la creación de nuestros proyectos. En la web administrativa accedemos al menu users(usuarios) donde ahora veremos logueado el usuario que definimos en mail.properties. Damos click sobre él y nos aparecerá estas opciones.

Ahora podemos gastar tanta energía como queramos y recargarla siempre. Finalmente, a modo de información.

¿Cómo funciona Blynk?

Cuando el hardware se conecta a la nube de Blynk, abre una conexión ssl/tls en el puerto 443 (9443 para servidores locales) o la conexión tcp/ip en el puerto 8080. La aplicación Blynk(en el teleffono) abre la conexión ssl/tls contra Blynk Cloud en puerto 443 (9443 para servidores locales). Blynk Cloud es responsable de reenviar mensajes entre el hardware y la aplicación.

Como seria en nuestro caso local.

Para lograrlo nuestro servidor Blynk local debe de tener activo un hotspot wifi y tanto nuestro dispositivo Arduino como nuestro teléfono conectados a él. En Linux es muy simple de hacer pues en las opciones de redes de cualquier distro esta para configurarlo. En Windows podemos usar la aplicación connectify. Como extra les muestro como correrlo en Docker.

Corriendo Blynk Server en Docker

Si desea usar Docker compose. Cree el fichero docker-compose.yml con el siguiente contenido

Luego ejecute el siguiente comando:

Espero que les sirva a muchos arduineros ya que es una opción para aquellos que no se les da bien la programación.

alex out

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 5 / 5. Recuento de votos: 4

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Please follow and like us:
Sobre Alexander Rivas Alpizar 47 artículos
Administrador de Redes EMPRESTUR Cienfuegos

6 comentarios

  1. Firefox 68.0 Firefox 68.0 Android 8.0.0 Android 8.0.0
    Mozilla/5.0 (Android 8.0.0; Mobile; rv:68.0) Gecko/68.0 Firefox/68.0

    Quiero felicitarte por el turorial, pero si no me equivoco este servidor no lo podría usar desde la calle con mi móvil y tampoco podría crear aplicaciones finales instalables en Android. Corrígeme si estoy equivocado. Un saludo.

    • Firefox 76.0 Firefox 76.0 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0

      Como bien aclare en el articulo, la ventaja es precisamente tenerlo local. No se de que pais eres, pero en cuba no podemos darnos el lujo de tener internet las 24 horas del dia. Ni mucho menos pagar una app. Por lo que esto es una solucion viable para una domotica casera.En cuanto a cear app instalable en android no entendi esa parte. Blynk es ya la app instalable y trae todo lo necesario para monitoreo y control de tu proyecto. Como ya dije de esta forma es gratis y no necesitas conexion a internet, solo conectarte al servidor de blynk local que tengas.
      alex out

  2. Google Chrome 84.0.4147.125 Google Chrome 84.0.4147.125 Android 9 Android 9
    Mozilla/5.0 (Linux; Android 9; VTR-L09) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Mobile Safari/537.36

    Tengo la misma pregunta, si quisiera tener un sevidor propio pero que pueda acceder remotamente por Internet, podría hacerlo con blynk?

    • Firefox 79.0 Firefox 79.0 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0

      Tendrias que hacer otras cosas. Primero necesitarias una conexion a internet con ip real, luego publicar tu server local a internet. Por lo que accederias usando la ip real de tu internet desde otro dispositivo que se conecte a internet.Pero ya eso tendrias que poseer un poco mas de conocimientos de informatica de como crearte un server web.
      alex out
      PD: les doy la forma de no usar internet y solo preguntan como seria usandola. Muy sencillo pagan la apk y usan la internet y suben sus proyectos y datos a la nube de blynk

      • Google Chrome 85.0.4183.121 Google Chrome 85.0.4183.121 Windows 10 x64 Edition Windows 10 x64 Edition
        Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36

        una forma sencilla de lograr esto es creando una ip fija con algun servicio de dns tipo no-ip, y cambiando la IP por el dominio. Así, y direccionado el puerto desde el router, pueden acceder desde afuera

  3. Google Chrome 85.0.4183.102 Google Chrome 85.0.4183.102 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36

    Excelente artículo, muy didáctico y provechoso. Ya lo implementé con excelente resultado. Gracias.

Responder a Matias Cancelar la respuesta

Tu dirección de correo electrónico no será publicada.


*