# 5 CÓMO MONTAR UN SERVIDOR BLYNK LEGACY LOCAL

# Servidor local Blynk

Ya que Blynk Inc ha dejado sin soporte a **Blynk legacy**, tenemos que conseguir un **SERVIDOR BLYNK LOCAL** que haga de puente entre nuestro robot y nuestra App.

Se puede hacer en:

- Una **Raspberry** fácil, barato y poco consumo.
- En un ordenador con Windows
- En un ordenador con Linux

<p class="callout danger">EL CURSO DE CATEDU FACILITA UN SERVIDOR BLYNK en Internet. ES DECIR NO ES LOCAL</p>

<p class="callout success">SI TU CENTRO ES UN **CENTRO VITALINUX** seguramente tendrá un servidor local. Ponte en contacto con nosotros soportecatedu@educa.aragon.es y te lo instalamos remotamente.</p>

## Desventajas de usar un servidor local

Nuestro equipo robot y nuestro móvil **tiene que estar en la misma red local** esto imposibilita que el alumno pueda trabajar en casa, necesita el servidor local.

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-ktygqdrs.gif)

## Energía y control

Los alumnos tienen TODA la energía para hacer sus proyectos por lo tanto pueden usar tantos gadgets como quieran

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-xq4yjxzp.png)

Además de tener control vía web de todos usuarios, pues tú eres el administrador.

# OJO ESTO NO TIENES QUE HACERLO

Este apartado es para tu conocimiento NO LO TIENES QUE HACER, sólo para que sepas como CATEDU ha montado el servidor en la RASPBERY por si te interesa seguir los mismos pasos

Como CATEDU ya te proporciona la Raspberry con el Blynk local, sólo tienes que conectarlo a tu red y ponerle una IP fija

{{@4309}}

# Raspberry: Qué hay que hacer para empezar

Lo primero que tenemos que conseguir es:

- Tener una Raspberry con el sistema operativo propio de la raspberry instalado, antes se llamaba Raspbian, ahora [Raspberry Pi OS](https://www.raspberrypi.com/software/)
- Comunicarnos con la Raspberry por comandos SSH
- Una vez hecho esto que es lo básico instalaremos el servidor Blynk

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-zsj0vt4w.gif)

Ahora vamos a ver unas páginas para

- Instalar un **sistema operativo** en una Raspberry
- Una vez instalado hay que **conectarlo a la red wifi** y **ponerle una IP FIJA**
- Para **comunicarse vía comandos SSH**, aconsejamos hacerlo de forma remota, pues lo contrario implica tener siempre una pantalla, teclado y ratón conectado en la Rasperry

<p class="callout info">**¿Qué Rasberry habría que comprar?**  
Aconsejamos una que tenga la Wi-fi incorporada, nosotros hemos hecho pruebas con la Raspberry Pi 3B+ y con la Raspberry Pi4 y no encontramos diferencias de velocidad para estos propósitos de robótica, luego por la mitad de precio aconsejamos la [Raspberry Pi 3B](https://www.raspberrypi.com/products/raspberry-pi-3-model-b-plus/)</p>

# Rasbperry: Poner un Sistema Operativo

{{@4308}}

# Raspberry: Conectarlo a la red

{{@4309}}

# Raspbery: Conexión SSH

{{@4310}}

# Raspberry: Cambiar usuario y contraseña

{{@4311}}

# Raspberry: Apagar

{{@4312}}

# Raspberry VNC

{{@4313}}

# Raspberry: Instalar Java 8

Una vez que tenemos la Raspberry funcionando y accesible por SSH o por VNC es el momento de instalar el servidor Blynk, primero hay que, para instalar Blynk, se necesita la **versión 8 de Java**

Seguimos las instrucciones de[ https://github.com/Peterkn2001/blynk-server#blynk-server](https://github.com/Peterkn2001/blynk-server#blynk-server)

Entramos en la ventana de comandos SSH y ejecutamos las siguientes órdenes, si en algún momento nos pide confirmación \[Y/n\] es porque faltan descargar paquetes o confirmación de instalación, por lo tanto aceptamos.

Con esta orden busca las actualizaciones

**sudo update**

y ya ejecutamosque instala la versión 8 de java (curiosamente no funciona con la versión 64 bits de Raspberry OS sino con la de 32 bits)

**sudo apt install openjdk-8-jdk**

Por último una vez finalizado, comprobamos la versión que coge por defecto

**java –version**

Tiene que salir Openjdk version 1.8.0 etc...

## Si no sale esa versión...

Suele pasar que tenga ya instalado la versión 11, tenemos que obligar a que sea la 8 por defecto, para ello ejecutamos

**sudo update-alternatives --config java**

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-erwa8zbf.jpeg)

Si seleccionamos el 2 nos lo pondrá como por defecto (sale con un (\*). Podemos comprobar que ya nos sale la versión con la orden :

**java –version**

Pero esto no nos sirve, pues al reiniciar la Raspberry volverá a la versión 11.

Para ponerlo por defecto, edita el fichero *environment*

**sudo nano /etc/environment**

Y si en la orden **sudo update-alternatives --config java** salía que la carpeta donde está la versión 8 es */usr/lib/jvm/java-8-openjdk-armhf/jre/bin/java* luego tenemos que poner en el fichero *environment* :

**JAVA\_HOME="/usr/lib/jvm/java-8-openjdk-armhf/jre/bin/java"**

Guardar, reiniciar

**sudo reboot**

Y comprueba

**java –version**

Y tiene que salir :

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-fsfqbyoo.jpeg)

## Para más cosas

Por ejemplo, desinstalarlo, volver a la 11, etc.. visitar esta página : [https://phoenixnap.com/kb/install-java-raspberry-pi](https://phoenixnap.com/kb/install-java-raspberry-pi)

# Raspberry: Instalar y ejecutar el servidor Blynk local

#### <span style="color: #169179;">**1 Descarga Blynk**</span>

Crea una carpeta en tu directorio home, por ejemplo Blynk

**mkdir Blynk**

Y descarga Blynk :

 wget "https://github.com/Peterkn2001/blynk-server/releases/download/v0.41.16/server-0.41.16-java8.jar"

El enlace [https://github.com/Peterkn2001/blynk-server/releases/download/v0.41.16/server-0.41.16-java8.jar](https://github.com/Peterkn2001/blynk-server/releases/download/v0.41.16/server-0.41.16-java8.jar) conviene actualizarlo, recomendamos visitar la página [https://github.com/Peterkn2001/blynk-server#blynk-server](https://github.com/Peterkn2001/blynk-server#blynk-server) y coger la última versión de aquí [![blynkserver.jpg](https://libros.catedu.es/uploads/images/gallery/2022-09/scaled-1680-/blynkserver.jpg)](https://libros.catedu.es/uploads/images/gallery/2022-09/blynkserver.jpg)

#### <span style="color: #169179;">**2 Configurar server.properties**</span>

Necesitamos crear un fichero de configuración para las diferentes opciones que queremos en nuestro servidor Blynk.

Entra en la carpeta creada Blynk y crea el fichero *server.properties*.

**cd Blynk**

**sudo nano server.properties**

A continuación se muestra un posible contenido de server.properties.

```python
initial.energy=1000000
allow.reading.widget.without.active.app=false
user.message.quota.limit=100
logs.folder=./logs
user.dashboard.max.limit=100
lcd.strings.pool.size=6
server.ssl.key=./server_embedded.key
webhooks.response.size.limit=96
hardware.mqtt.port=8440
table.rows.pool.size=100
terminal.strings.pool.size=25
admin.email=admin@blynk.cc
admin.rootPath=/admin
user.widget.max.size.limit=20
listen.address=
blocking.processor.thread.pool.limit=6
stats.print.worker.period=60000
enable.db=false
force.port.80.for.csv=false
enable.raw.db.data.store=true
restore.host=blynk-cloud.com
csv.export.data.points.max=43200
restore=false
user.profile.max.size=256
allow.store.ip=true
allowed.administrator.ips=0.0.0.0/0,::/0
net.interface=eth
webhooks.frequency.user.quota.limit=1000
http.port=8080
web.request.max.size=524288
user.devices.limit=50
async.logger.ring.buffer.size=2048
user.tags.limit=100
server.ssl.key.pass=
admin.pass=admin
hard.socket.idle.timeout=10
product.name=Blynk
data.folder=/Path
map.strings.pool.size=25
profile.save.worker.period=60000
https.port=9443
log.level=info
server.ssl.cert=./server_embedded.crt
force.port.80.for.redirect=true
notifications.queue.limit=2000
notifications.frequency.user.quota.limit=5
server.host=192.168.137.1
app.ssl.port=8443
hardware.default.port=8442
hardware.ssl.port=8441
hardware.mqtt.port=8440

```

Para la explicación de cada línea, aconsejo consultar esta [página](https://www.sysadminsdecuba.com/2020/04/instalando-blynk-server-localmente/) en el apartado *Configuración avanzada del servidor local*

#### <span style="color: #169179;">**3 Ejecutar el servidor Blynk local**</span>

En la Raspberry por comandos SSH, entramos en la carpeta donde hemos creado el servidor Blynk

**cd Blynk**

Y ejecutamos el servidor Blynk instalado, pero que cargue la configuración de server.properties que en nuestro caso como el la Raspberry el usuario se llama catedu la carpeta es catedu:

**java -jar server-0.41.16-java8.jar -dataFolder /home/catedu/Blynk -serverConfig /home/catedu/Blynk/server.properties**

Curiosamente la primera vez que ejecutas esta instrucción te sale los datos del usuario <admin@blynk.cc> **y su contraseña sin encriptar** que por defecto es admin. Si no has tomado nota, ejecutar la instrucción anterior no sirve de nada pues ya ha creado el fichero texto de este usuario.

[![usuarioadminblynk.jpg](https://libros.catedu.es/uploads/images/gallery/2022-09/scaled-1680-/usuarioadminblynk.jpg)](https://libros.catedu.es/uploads/images/gallery/2022-09/usuarioadminblynk.jpg)

La única forma de que te vuelva a mostrar la contraseña es borrar el fichero texto y ejecutar otra vez la orden java -jar server....

#### <span style="color: #169179;">**4 Que la orden de ejecución se haga automáticamente cada vez que se reinicie la Raspberry**</span>

Para no repetir estos dos comandos cd Blynk y java -jar server-0.41.16-java8.jar -dataFolder /home/catedu/Blynk -serverConfig /home/catedu/Blynk/server.properties cada vez qye reiniciamos la Raspberry puedes generar un script para que lo ejecute automáticamente, puedes ver buenos tutoriales en Internet.

En internet puedes ver varios métodos:

**Método1** es entrar en /etc y editar el fichero rc.local y añadir esta línea

> java -jar server-0.41.16-java8.jar -dataFolder /home/catedu/Blynk -serverConfig /home/catedu/Blynk/server.properties &amp;

**Método 2** usar el comando **crontab -e** y poner al final la siguiente línea **@reboot java java -jar server-0.41.16-java8.jar -dataFolder /home/catedu/Blynk -serverConfig /home/catedu/Blynk/server.properties**

#### <span style="color: #169179;">**5 Probarlo**</span>

Si la IP de la Raspberry es 192.168.1.112 entonces entramos en:

[https://192.168.1.112:9443/admin](https://192.168.1.112:9443/admin)

##### **Vale, ya estoy ¿y ahora qué?**

Seguramente te saldrá la siguiente advertencia por el certificado SSL, dale a **Configuración avanzada** y luego a **Acceder a (la IP del servidor Blynk Legacy) sitio no seguro**

<div class="pointer-container" id="bkmrk-%C2%A0"><div class="pointer anim is-page-editable"><svg class="svg-icon" data-icon="link" role="presentation" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"></svg><div class="input-group inline block"> <button class="button outline icon" data-clipboard-target="#pointer-url" title="Copy Link" type="button"><svg class="svg-icon" data-icon="copy" role="presentation" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"></svg></button></div><svg class="svg-icon" data-icon="edit" role="presentation" viewbox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"></svg></div></div>![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-lyv4brj6.jpeg)

Si quieres generar certificados SSL propios para que no salga la anterior pantalla consulta [aquí](https://www.sysadminsdecuba.com/2020/04/instalando-blynk-server-localmente/)

Tienes que entrar con el usuario y contraseña fijada en **server.properties** :

```python
 # Default admin name and password. Will be created on initial server start
admin.email=admin@blynk.cc
admin.pass=admin
```

<p class="callout info">Si quieres cambiar la contraseña, tienes que hacerlo como un usuario normal en la página de administración tal y como hemos visto en el capítulo [Entrando en el Blynk local: El panel de control](https://libros.catedu.es/books/arduinoblocks-en-el-aula/page/entrando-en-el-blynk-local-el-panel-de-control)</p>

#### <span style="color: #169179;">**6 Para saber más :**</span>

- [https://github.com/Peterkn2001/blynk-server#blynk-server](https://github.com/Peterkn2001/blynk-server#blynk-server)
- [Intalación de Blynk : How to Install a Blynk Local Server on Raspberry Pi](https://circuitdigest.com/microcontroller-projects/how-to-install-a-blynk-local-server-on-raspberry-pi)
- [Configuración de server.properties.](https://diyprojects.io/blynk-how-to-install-a-private-local-server-on-raspberry-pi-3-unlimited-energy-test-wemos-dht22/#.YImMULUzY2y)

#### <span style="color: #169179;">**7 Para saber más : Configurar mail.properties**</span>

Este aparatado ya comentamos que no lo aconsejamos, pues los alumnos no suelen tener email y la APP ya no permite crear usuarios con email, pero si queremos que envíe los tokens por email, hay que crear este fichero para que el servidor envíe por email los tokens de los proyectos

Entra en la carpeta creada Blynk y crea el fichero *mail.properties*.

**cd Blynk**

**sudo nano mail.properties**

A continuación se muestra una muestra del posible contenido de mail.properties :

```python
mail.smtp.auth=true
mail.smtp.starttls.enable=true
mail.smtp.host=smtp.gmail.com
mail.smtp.port=587
mail.smtp.username=Your EMAIL ID
mail.smtp.password=Password
```

Utilizando **Your EMAIL ID** y **Password** los datos de una cuenta de gmail tuya. En esa cuenta tienes que permitir accesos no seguros. Aquí se muestra dónde está en la pantalla de configuración de Gmail :

![](https://libros.catedu.es/uploads/images/gallery/2022-02/embedded-image-8iqcjbjv.jpeg)

Para saber más

- [Configuración mail](https://github.com/blynkkk/blynk-server#requirements)

# En Windows Instalar Java 11

Entramos en la web de Oracle - Java - Technologies - JavaSE y descargamos e instalamos el servidor Java 11, si nuestro ordenador no es viejo, seguro que soportará la versión 64

[https://www.oracle.com/es/java/technologies/javase/jdk11-archive-downloads.html](https://www.oracle.com/es/java/technologies/javase/jdk11-archive-downloads.html)

[![java11-1.png](https://libros.catedu.es/uploads/images/gallery/2022-09/scaled-1680-/java11-1.png)](https://libros.catedu.es/uploads/images/gallery/2022-09/java11-1.png)

<p class="callout info">Seguramente para la descarga Oracle nos pide que nos registremos. No entendemos el por qué pero efectivamente es necesario proporcionar un email y a ese email envía un enlace para el registro, Una vez registrado ya permite la descarga</p>

Instalamos el servidor Java descargado.

Para que Windows encuentre la ruta del Java instalado cuando ejecutemos comandos, le tenemos que decir en qué camino está la carpeta del java instalado está. Para ello vamos a **C -&gt; Archivos de programa -&gt; Java -&gt; Jdk11...-&gt; carpeta bin** y copiamos la ruta :

[![java11-2.png](https://libros.catedu.es/uploads/images/gallery/2022-09/scaled-1680-/java11-2.png)](https://libros.catedu.es/uploads/images/gallery/2022-09/java11-2.png)

Nos vamos al sistema

[![java11-3.png](https://libros.catedu.es/uploads/images/gallery/2022-09/scaled-1680-/java11-3.png)](https://libros.catedu.es/uploads/images/gallery/2022-09/java11-3.png)

Y configuración avanzada del sistema - variables de entorno- path - editar - nueva y pegamos la ruta que hemos copiado anteriormente

[![java11-4.png](https://libros.catedu.es/uploads/images/gallery/2022-09/scaled-1680-/java11-4.png)](https://libros.catedu.es/uploads/images/gallery/2022-09/java11-4.png)

# En Windows Instalar Blynk local

Descargamos el servidor Blynk server desde

[https://github.com/blynkkk/blynk-server/releases](https://github.com/blynkkk/blynk-server/releases)

o desde [https://drive.google.com/file/d/1nPZxn-9Q9q0ceUhCiZGd4WRC1c8pufEQ/view?usp=sharing](https://drive.google.com/file/d/1nPZxn-9Q9q0ceUhCiZGd4WRC1c8pufEQ/view?usp=sharing)

y lo pegamos en una carpeta, por ejemplo en c:\\Blynk\_server

Creamos **mail.properties y server.properties** como ficheros nuevos, los editamos con un procesador de texto y pegamos el código que hemos explicado [aquí ](https://libros.catedu.es/books/rover-marciano-con-arduinoblocks-e-internet-de-las-cosas-iot/page/43-blynk)

[![blynk-server-windows.png](https://libros.catedu.es/uploads/images/gallery/2022-09/scaled-1680-/blynk-server-windows.png)](https://libros.catedu.es/uploads/images/gallery/2022-09/blynk-server-windows.png)

<p class="callout warning">Ojo: Ten en cuenta que Windows le gusta colocar sus propias extensiones. Si editas un fichero con un procesador de textos, por ejemplo el bloc de notas, le añadirá .txt, si lo editas con Word le añadirá la extensión .docx, tienes que asegurarte que no se añada ninguna extensión, que los nombres de los ficheros sean **mail.properties y server.properties** y no otros. Ten activo la visualización de las extensiones para asegurarte que windows no añada las suyas</p>

[![blynk-server-windows-2.png](https://libros.catedu.es/uploads/images/gallery/2022-09/scaled-1680-/blynk-server-windows-2.png)](https://libros.catedu.es/uploads/images/gallery/2022-09/blynk-server-windows-2.png)

# En Windows Ejecutar Blynkserver

Entramos en comandos de windows como administrador

[![2022-09-01 20_07_49-.png](https://libros.catedu.es/uploads/images/gallery/2022-09/scaled-1680-/2022-09-01-20-07-49.png)](https://libros.catedu.es/uploads/images/gallery/2022-09/2022-09-01-20-07-49.png)

Y ejecutamos esta instrucción

**java -jar server-0.41.17.jar -dataFolder /Path**

de esta manera se crean las carpetas logs y static que nos dicen los errores que podemos encontrar

La primera pantalla nos dirá el nombre la url, el nombre de usuario y la contraseña para entrar en el servidor blynk

[![blynk-user.png](https://libros.catedu.es/uploads/images/gallery/2022-09/scaled-1680-/blynk-user.png)](https://libros.catedu.es/uploads/images/gallery/2022-09/blynk-user.png)

# En Linux

Seguimos las instrucciones de [https://github.com/Peterkn2001/blynk-server#blynk-server](https://github.com/Peterkn2001/blynk-server#blynk-server)

Pero si tu centro tiene Vitalinux, ponte en contacto con nosotros <soportecatedu@educa.aragon.es> para instalar en un ordenador Vitalinux el servidor Blynk de forma local