IoT-Wifi-Blynk Legacy

Conseguir la App BLYNK LEGACY

La APP de BLYNK LEGACY no la encontramos en el buscador de Google Play de forma tradiccional, pues está sin mantenimiento, tenemos varias opciones para descargar la APP.

OJO no confundir Blynk (legacy) que es el que vamos a trabajar
BLYNKEGACY.PNG
con Bynk IoT que que lo encuentras en el buscador de Google Play
BlynkIoTApp.png

OPCIÓN A Desde Google Play

En este enlace aún tiene la APP antigua, pero es de propiedad de Blynk Inc luego no es de extrañar que desaparezca.

https://play.google.com/store/apps/details?id=cc.blynk

appblynklegacy.jpeg

OPCION B Fuera de Google Play

OPCIÓN B: ANTES DE LA INSTALACIÓN

No nos tenemos que fiar de descargar APK de repositorios fuera de Google Play, luego una vez descargado, pasamos el fichero por una página de Antivirus, por ejemplo 

https://www.virustotal.com/gui/home/upload

VIRUSTOTAL.png

No nos tiene que dar ningún virus

antivirustotal-2.png

Para instalarlo en tu móvil:

Primero, tenemos que llevar el fichero .apk a tu dispositivo, recomendamos usar email, por ejemplo enviándote a ti mismo un correo electrónico y lo consultas desde el móvil.

Segundo, tenemos que instalarlo y para ello hay que decirle que confiamos con apps instaladas fuera del repositorio oficial (Google Play), como depende las pantallas del modelo de tu móvil, puedes encontrar cualquier tutorial en internet cómo se hace pero prácticamente es llegar a la misma pantalla en seguridad/privacidad- permitir apps de orígenes desconocidos.

origenesdesconocidos.png

Tercero instalarlo

Cuarto, deshacer el segundo paso

OPCIÓN B DESCARGA

 Puedes buscar en un navegador esta APP, encontraras varios sitios para descargarla, por ejemplo aquí: 


BlynkApp.png

Crear cuentas

Antes se creaban cuentas en Blynk usando el correo electrónico: Cada usuario en la APP de Blynk podía crearse una cuenta, enviando un email. El servidor local Blynk puede enviar correos electrónicos si tiene configurado un fichero que se llama mail.properties y se envía el correo con las credenciales. No obstante esta opción de crear cuenta ha desaparecido de la APP (En CATEDU ya barruntábamos esto, que Blynk Inc al quitar crear nuevos usuarios es que pensaba quitar este servicio Blynk legacy).

No obstante, la creación de usuarios mediante emails era un problema pues menores de 16 años no pueden tener emails ni redes sociales, ni whatsapps (¿oigo risas?).

En el curso vas a utilizar los servidores de CATEDU luego tendrás asignado 12 cuentas de alumnos + un profesor 

Recibirás un email con los nombres de usuario y las contraseñas

¿Y fuera del curso? 

En este caso necesitarás tener un servidor Blynk legacy local que tal y como lo explicamos en los siguiente capítulos, montado en una Raspberry.

Entramos en la carpeta de Blynk en nuestra Raspberry, ya sea por VNC, o con una pantalla, teclado y ratón o por SSH y lo que hay que hacer es crear unos ficheros texto que se llamen emailusuario.Blynk.user los emails de los usuarios pueden ser inventados, por ejemplo en la figura puedes ver que en la raspberry hay dos usuarios user1@yo.es user2@yo.es luego los ficheros textos son user1@yo.es.Blynk.user y el otro es user2@yo.es.Blynk.user.

Entrando por VNC o pantalla, teclado y ratón:

userblynkvnc.jpg

Entrando por SSH

userblynkssh.jpg

El contenido por ejemplo del fichero user2@yo.es.Blynk.user es:

{"name":"user2@yo.es","email":"user2@yo.es","appName":"Blynk","region":"local","ip":"ip_local_raspberry","pass":"uffzlHwvejaeZZz2PzqmKuB22OACUDRLWvKEl7RCDQI=","lastModifiedTs":1663010486621,"lastLoggedIP":"192.168.1.73","lastLoggedAt":1635057921978,"profile":{},"isFacebookUser":false,"isSuperAdmin":false,"energy":99600,"id":"user2@yo.es-Blynk"}

Luego lo único que tienes que hacer para crear nuevos usuarios es crear ficheros texto que se llamen userx@yo.es.Blynk.user y con contenido igual que el anterior pero cambiando el numero 2 por x (si quieres respetar userx@yo.es pero puedes inventarte cualquier email ficticio)

¿Por qué puede ser que el contenido de  un fichero pueda tener más información o menos que otros?
Porque en esos ficheros txt tiene la información de los proyectos creados por el usuario 

¿Entonces si el fichero user1@yo.es.Blynk.user tiene toda la información del usuario y todas sus proyectos... si ese usuario quiere llevarse sus proyectos a otro servidor Blynk sólo tiene que copiar y pegar es fichero texto?
Respuesta : SI , así de sencillo, ese fichero texto (por lo tanto libre de virus) tiene toda la información.

¿En la APP no se almacena ningún proyecto?
Ninguno, todos los proyectos están almacenados en esos ficheros txt
si no hay conexión con el servidor, en la APP no aparece NADA

Vale, ya sé crear los nombres de usuarios ¿Y las contraseñas?
En teoría están encriptadas en el fichero texto, como puedes ver, sale uffzlHwvejaeZZz2PzqmKuB22OACUDRLWvKEl7RCDQI= eso significa alcorisa
Pero tranquilo, luego veremos en el panel de control cómo se pueden poner las contraseñas sin encriptar

+información aquí

Entrando en el Blynk Legacy: El panel de control

Como entro en el panel de control
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

Luego entramos con el usuario y contraseña que nos han proporcionado

Cambiando las contraseñas de los alumnos

Y podemos ver los usuarios creados con los ficheros textos mencionados anteriormente

userblynk.jpg

Entrando en un usuario PODEMOS GENERARLE UNA CONTRASEÑA, por supuesto la pones normal, sin encriptar
También puedes borrar el usuario si no nos interesa este usuario.

userblynk2.jpg

En la APP

Conectar con el nuevo usuario

Entramos en la APP de Blynk que hemos visto anteriormente como descargarla e instalara y entramos en Log In 
appblynk1.jpg

Y ponemos el nombre de usuario que hemos creado anteriormente, y la contraseña, la que hayamos definido en el panel de control

IMPORTANTE: Entra en CUSTOM y pon LA DIRECCIÓN IP DEL SERVIDOR BLYNK LEGACY

appblynk2.jpg

Crear un nuevo proyecto

Podemos ver los proyectos que hay ya almacenados, vamos a crear un nuevo proyecto:

pantallaNewProjectblynk.jpg

Nos preguntará por el DEVICE:

deviceBlynk.jpg

Empieza un nuevo proyecto, tienes un montón de energía y widgets para hacerlo:

Crea un nuevo proyecto, y así se crea en el servidor Blynk local un TOKEN que ahora veremos qué es

Aquí tienes la captura de un proyecto o dashboard creado para el kit Imagina TDR Steam

appblynk3.jpeg

Poner el TOKEN en ARDUINOBLOCKS

¿Cómo conseguir el TOKEN?
OPCION A: QUE LO HAGA EL ALUMNO En la APP

Es la opción más sencilla, entrar en Devices pulsar en el Token y se copiará en el portapapeles del móvil, luego ir a cualquier aplicación para poder enviarla al PC (email, whatsapp...) y pegarla en Arduinoblocks en la instrucción que luego veremos.

devices-app-blynk.png

OPCION B: QUE LO HAGA EL PROFESOR En el panel de control

Entramos en el panel de control del servidor Blynk y podemos ver en los usuarios creados los tokens

userblynk.jpg

Entrando en un usuario PODEMOS VER SUS PROYECTOS Y LOS TOKENS

RECUERDA: UN PROYECTO UN TOKEN

¿Qué se hace con ese TOKEN? Se pone en ARDUINOBLOCKS:

Entramos en ArduinoBlocks y vamos al bloque de comunicaciones IoT - Blynk legacy

ATENCIÓN:  ARDUINOBLOCKS CONNECTOR tiene que estar actualizado, al menos v5 (octubre 2022)

Tenemos que poner los datos de la IP servidor BLYNK LOCAL, y el TOKEN del proyecto

En el caso de que es un proyecto con ARDUINO o TDR-STEAM- ARDUINO con ESP01 sale :

arduinoblocksblynk2.jpg

En el caso de sea un proyecto con NodeMCU o ESP32 como en el curso del Rover con Arduino o IoT en el aula sale :

nuevoblinkconexion.jpg

Primer programa: Encender los pines rojo y verde

Vamos a ver un primer programa de la APP al TDR STEAM

Una vez dentro del proyecto de la App aparece todo un panel si nada, añadimos controles apretando al + que hay en la parte superior

embedded-image-e56miHr1.png

Seleccionamos el botón

embedded-image-zyPXlzqL.png

Nos aparece el botón

embedded-image-2pz1GM5g.png

Pulsamos sobre él para entrar en sus propiedades, le decimos que vaya de 0 a 1 (es decir que cuando se apriete, que envíe un 1) que sea tipo switch (no pulsador, sino interruptor), le ponemos un color rojo para indicar que es el led rojo, y como el TDR-STEAM el led rojo lo tiene en el D12 le decimos que el pin es DIGITAL y D12

botonrojogadget.jpeg

Hacemos lo mismo con el azul pero D13

En ARDUINO BLOCKS

En Arduinoblocks dejamos el token tal y como hemos aprendido anteirormente

embedded-image-ikTcrZO3.jpeg

¿Nada más?

 

Nada más !! así de sencillo. Le damos a subir (teniendo el programa Arduinoblocks conector minimizado, eso lo podemos ver enseguida pues detecta en que COM está conectado, en la figura sale COM5)

embedded-image-S8WvZER0.jpeg

Vamos a la APP de BLYNK, Pulsamos al botón de play ▶ de arriba arriba y vemos el estado NO TIENE QUE APARECER UN PUNTO ROJO si aparece es que nuestra placa no está conectada

Blink-chivato.png

Hay que tener algo de paciencia hasta que se comunica con la Raspberry, cuando no aparece el punto rojo, pulsamos en los botones y tienen que encenderse y apagarse correctamente los leds rojo y azul de nuestro TDR Steam

Para usuarios del servidor Blynk de CATEDU y la placa ARDUINO CON ESP32 WIFI
No sabemos por qué pero al darle al Play, el icono de la placa de arriba sale en rojo, como si no estuviera conectado, pero el proyecto funciona perfectamente. Si sabes por qué por favor ponte en contacto con nosotros https://catedu.es/informacion/

nose-iconorojoblynk.jpg


 

Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU

logo.png

Segundo programa RGB y el potenciómetro

LED RGB

En la APP de Blynk ponemos el gadget "Cebra"

zebra1.png

Y lo configuramos según sus pines. El led RGB en el TDR Steam está conectado a los siguientes pines

zebra2.png

Potenciómetro

El potenciómetro está conectado en A0 podemos insertar un gadget Label y lo configuramos como tal:

potenciometro-appblynk.png

¿En Arduinoblocks no hay que añadir nada?
Nada !!! cuando son gadgets que leen directamente de los pines (digitales o analógicos) NO HACE FALTA MÁS CÓDIGO que el de conectar el servidor Blynk

embedded-image-ikTcrZO3.jpeg



Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU

logo.png

Tercer programa Medir la luz del LDR

Nuestro segundo programa será al revés del TDR Steam a la APP

Ahora añadimos otro control level H

levelHgadget.jpeg

Elegimos de PIN el analógico,  el LDR está conectado al pin analógico A1 y como el LDR aumenta según la oscuridad vamos a poner que vaya de 1023 en formato negro.

propiedadeslevelH.jpg

Sin modificar nada del programa de ARDUINOBLOCKS vamos a darle al PLAY y ¡¡ Y FUNCIONA !!!



Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU

logo.png

Cuarto programa: Medir Temperatura y Humedad con el DHT11

Este caso es distinto, pues

Pero los dos miden dos variables Temperatura Y Humedad

🤔😳¿Cómo hacemos para medir dos variables en un sensor que está conectado a un sólo PIN?🤔😳

Solución PINES VIRTUALES: si, has leído bien, vamos a utilizar pines virtuales.

En ARDUINOBLOCKS

Vamos a ARDUINOBLOCKS y establecemos dos pines virtuales, uno para la temperatura y otro para la humedad, arbitrariamente he puesto V2 y V3 pero puede ser cualquiera.

dht11arduinoblockstdrsteam2.jpg

Fíjate que hay dos maneras de programar estos eventos:
- en el primero, utilizamos un bucle propio de Blynk que simplemente cada segundo lee el sensor y los almacenan los pines virtuales V2 y V3
- en el segundo no se ha utilizado ese bucle propio de Blynk sino simplemente dentro de Bucle hemos puesto otro bucle que se ejecuta cada 2 segundos, y dentro una funciona que se llama LECTURAS. dentro de lecturas esta la lectura de los pines virtuales V2 y V3

Da igual. Nosotros tenemos preferencia por el segundo método, nos parece más elegante y más controlable.

En la APP de Blynk

Y en Blynk incorporamos un Gauge que sea al PIN VIRTUAL V2.

Modificamos también los límites, pues por defecto sale 0 a 1023 y se vería muy bajo la temperatura, ponemos -10 a 30. Si es para el Rover marciano de Arduino, allí se puede llegar a -50ºC y si es para el TDR Steam será en Aragón, el récord lo tiene Fuentes Claras con -30ºC.

Para la humedad hacemos lo mismo:

Resultado :


Quinto programa: Lectura sensor LM35 y receptor infrarrojos

Podríamos hacer una lectura de estos sensores, sin necesidad de tratamiento ninguno, tal y como hemos hecho en la lectura de la luz con LDR, simplemente se añade un gadget a la APP de Blynk que :

Los resultados serían totalmente incorrectos !!!

En Arduinoblocks tenemos dos bloques específicos para tratar estas lecturas, las llevamos a pines virtuales y que los gadgets de la APP visualicen los valores de estos pines virtuales. Otro uso de los pines virtuales.

En Arduinobloks

Ponemos dentro de la función LECTURAS los siguientes dos bloques :

lecturapinesespecialesarduinoblocks.jpg

Como vemos, Arduinoblocks procesa la lectura de estos dos sensores, y simplemente se almacenan en los pines virtuales V7 y V8

En la APP de Blynk

Ponemos para la lectura de la temperatura, un display que visualice el número V7

valuedisplayLM35.jpg

Para el sensor de infrarrojos igual pero que visualice V8

vauledisplayIR.jpg

Lo subimos el programa Arduinoblocks al Arduino TDR Steam, pulsamos el play en la APP, esperamos a que se conecte y el sensor de temperatura muestra su valor perfectamente

Curiosamente dan unas lecturas algo diferentes el DHT11 y el LM35, el correcto es el LM35 pues el DHT11 no es un sensor muy preciso.

Para ver los códigos que se leen en Infrarrojos, hay que pulsar los números del mando a distancia.



Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU

logo.png

Sexto programa Leer eventos del TDR Steam

Hasta ahora hemos enviado eventos al TDR Steam, y leer sensores del TDR Steam pero .... ¿y leer un evento? por ejemplo leer si se pulsa los pulsadores D2 y D7

En la APP de Blynk

Añadimos un gadget que se llama LED

led-appblynk.png

y leerá de un pin virtual pin V4 y otro gadget para V5

led-appblynk2.png

En ARDUINOBLOCKS

Pondremos el siguiente código, simplemente lee que si se pulsa pues que encienda el led en el APP

eventoledblynk.png



Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU

logo.png

Séptimo programa: El timbre

El timbre es algo especial, si ponemos una música, el Arduino está tan ocupado y el código engorda que da muchas desconexiones, si es el ESP32 lo aguanta bien.

En la APP ponemos un slider asociado a un pin virtual, por ejemplo a V9

slidertimbre.png

Y en Arduinoblocks añadimos un bucle que lea ese pin virtual V9 y que lo almacene en una variable numérica, que lo hemos llamado timbre

Si esta variable, ha cambiado el valor, que haga un tono. si te fijas el valor máximo del slider se ha puesto a 2000, el máximo tono audible es 20.000, pero el slider no lo permite, por lo tanto, el truco es multiplicarlo por 10

arduinoblocks-timbre.png

Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU

logo.png

¿Todo junto?

Si que se puede pero con la placa Arduino alguna vez se desconecta, pues no tiene un microprocesador muy potente. Con ESP32 sí que lo aguanta bien.

En la APP el dashboard o proyecto queda:

resultadofinalAppBlynk.jpeg

Y en ARDUINOBLOCKS

programatotalArduinoblocks.png

Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU

logo.png