4 BLYNK LEGACY
- Conseguir la App BLYNK LEGACY
- Crear cuentas
- Entrando en el Blynk Legacy: El panel de control
- En la APP
- Poner el TOKEN en ARDUINOBLOCKS
- Endender LED
- Encender gradualmente LED
- Medir la luz del LDR
- Medir Temperatura y Humedad con el DHT22
- Medir el campo magnético
- A por los motores
- A divertirnos con un Joystick
- Proyecto final
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
con Bynk IoT que sí que lo encuentras en el buscador de Google Play
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
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
No nos tiene que dar ningún virus
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.
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í:
- https://blynk.uptodown.com/android/descargar
- https://blynk.en.uptodown.com/android/download/3921223
- Github: https://github.com/BlynkMobile
- Desde este repositorio nuestro
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:
Entrando por SSH
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
- En el curso de CATEDU
- Habrás recibido un email con la URL para entrar en la administración web del Blynk Legacy, con usuario y contraseña
- Fuera del curso de CATEDU usando tu servidor local
- Desde cualquier ordenador conectado en la misma red local que la raspberry, ejecutas en un navegador la siguiente dirección:
- Si la IP de la Raspberry es 192.168.1.112 entonces entramos en:
- 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
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
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.
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
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
- Si es dentro del curso de CATEDU habrás recibido un email de las IPs y de los puertos que hay que poner en esta APP de Blynk Legacy
- Si es fuera del curso, la IP DE LA RASPBERRY, O SEA DEL SERVIDOR LOCAL BLYNK y puerto 9443
Crear un nuevo proyecto
Podemos ver los proyectos que hay ya almacenados, vamos a crear un nuevo proyecto:
Nos preguntará por el DEVICE:
- En Arduinoblocks en el Aula, la placa es el TDR STEAM colocado en un Arduino con el ESP01 conectado, luego DEVICE Arduino Uno CONNECTION TYPE Wifi
- En Rover con Arduino, la placa es un NodeMCU v2, luego DEVICE NodeMCU CONNECTION TYPE Wifi
- En ESP32 en el Aula, la placa es un ESP32 con el Imagina TDR STEAM, luego DEVICE ESP32 DevBoard CONNECTION TYPE Wifi
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
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.
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
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
- DENTRO DEL CURSO CATEDU Habrás recibido un email con las IPs y los puertos a poner en Arduinobloks
- SI ES EN TU SERVIDOR BLYNK LOCAL Hay que poner la IP de la Raspberry o tu servidor local y EL PUERTO 8080
En el caso de que es un proyecto con ARDUINO o TDR-STEAM- ARDUINO con ESP01 sale :
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 :
Endender LED
Vamos a empezar a hacer algo....
Si antes hicimos un intermitente por D4, ahora vamos a encender el LED en D0:
Y el servidor BLYNK hará de puente entre nuestra App y el NodeMCU :
Primer programa con Blynk: Encender D0 : 1 Conseguir el Token
Empezamos en la APP Blynk creamos un nuevo proyecto:
En la siguiente pantalla pregunta por el dispositivo, le decimos ESP8266 y le ponemos un nombre:
Y nos dice que el Token nos lo ha enviado por correo electrónico MENTIRA, el token lo vemos tal y como hemos visto anteriormente.
Recuerda : Un proyecto en BLYNK = Un Token
Primer programa con Blynk: Encender D0 : 2 Poner los controles
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
Seleccionamos el botón
Nos aparece el botón
Pulsamos sobre él para entrar en sus propiedades y cambiamos que vaya de 1 a 0 pues recuerda que este pin va al revés RECUERDA QUE EL NODEMCU TRABAJA CON LOGICA INVERSA
Pulsamos en PIN y le decimos que sea el GP16
¿Pero no era el D0? ¿Qué es eso del GP16?
La nomenclatura de los pines cambia, el D0 es el GP16, viene de GPIO General Port Input Output. El D4 es el GP2
¿Por qué los fabricantes nos lían? 🤔
Primer programa con Blynk: Encender D0 : 3 ARDUINOBLOCKS
Ahora le tenemos que decir a nuestro NodeMCU la configuración de la Wifi, y el Token que hemos recibido, ¿cómo? muy fácil, con ARDUINOBLOCKS
Abrimos un proyecto y ponemos esta instrucción :
EL TOKEN ES EL QUE HEMOS CONSEGUIDO
Novedad: las capturas a veces cambian, ahora el nombre de la wifi y la clave está en el mismo bloque de Blynk Iniciar
Donde :
- WIFI SSID el nombre de la Wifi donde queremos que se conecte nuestro rover
- WIFI CLAVE la contraseña de la WIFI
- IP Servidor PONEMOS LA IP del servidor Blynk Legacy.
- En el curso CATEDU habrás recibido un email con las IPs y el puerto
- Fuera del curso, tendrás que poner la IP local de tu servidor y el puerto 8080
- Codigo Auth es el TOKEN que has conseguido
¿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)
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
Luego al botón:
Y podemos ver cómo se enciende y apaga el led D0
Recuerda : Un proyecto en BLYNK = Un Token
RETO: AHORA CON D4
Encender gradualmente LED
Para ello vamos a incorporar un Slider
Y de propiedades que vaya al GP2 y que vaya al revés de 1023 a 0
El programa en ARDUINOBLOCKS es el mismo !!! no hace falta tocar nada de lo visto anteriormente !!! O sea el nombre de la wifi, su contraseña, la IP del servidor Blynk Legaci, y el token, que es el mismo pues estamos en el mismo proyecto o dashboard.
Medir la luz del LDR
Ahora añadimos otro control Gauge
Elegimos de PIN el analógico (sólo hay uno). Recuerda que el LDR está conectado al pin analógico.
Y como va al revés, vamos a poner el medidor al revés: de 1023 a 0
¿Y en Arduinoblocks?
Es el mismo !!!! no hay que tocar nada !!!
Medir Temperatura y Humedad con el DHT22
Este caso es distinto, pues
- En el Rover marciano con Arduino el DHT22 está conectado al pin D5 digital del NodeMCU
- En el Arduinobloks en el aula, el DHT11 de la placa Imagina TDR Steam está conectado al pin D4 digital del Arduino
- En el IoT en el Aula el DHT11 de la placa Imagina TDR Steam está conectado al pin D4 digital del ESP32
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.
- Para el kit de ROVER MARCIANO CON ARDUINO poner pin D5
- Si el sensor es AZUL entonces DHT11 si el sensor es BLANCO entonces DHT22
- Para el kit que tenga la placa TDR STEAM IMAGINA es decir los cursos ARDUINO BLOCKS EN EL AULA y ESP32 EN EL AULA poner pin D4
- Si el sensor es AZUL entonces DHT11 si el sensor es BLANCO entonces DHT22
- Si el sensor es AZUL entonces DHT11 si el sensor es BLANCO entonces DHT22
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:
- Pin virtual V3
- Límites 0% a 100%
Resultado :
Medir el campo magnético
El programa en ARDUINOBLOCKS es: (no cambiamos el bloque iniciar con el nombre de la wifi, su contraseña, la IP del servidor Blynk Legacy y el Token pues estamos añadiendo Gadgets al mismo proyecto o dashboard :
Y el programa en Blynk
Ten en cuenta que va al revés, cuando hay un imán, se pone a 0 NODE MCU TRABAJA CON LÓGICA INVERSA
El resultado es (acercando un imán):
Reto:
- Escribir un programa que encienda el pin D4 cuando se acerque un imán
A por los motores
Cambiamos nuestro programa de ARDUINOBLOCKS utilizando unos pines virtuales para controlar los motores, arbitrariamente le hemos puesto V1 y V2 de tal manera que cuando se reciba un valor de estos pines virtuales, fijan la potencia de los motores:
Ponemos dos sliders verticales
Y configuramos uno para V5 y otro para V6:
No te olvides de pulsar el botón de la Shield para que le de energía a los Motores
A divertirnos con un Joystick
Este elemento es muy gamificador y nos posibilitará ir hacia atrás
Hay que tener en cuenta que los valores del Joystick son los siguientes :
Luego la programación en Arduinoblocks es la siguiente :
Proyecto final
Vamos a juntarlo todo :
En Arduinoblocks
Creamos una función SENSORES que lee los tres sensores digitales en tres pines virtuales
Unas funciones adelante, atrás derecha e izquierda (he multiplicado el valor de la potencia por dos para que sea más sensible el Joystick)
Configuramos Blynk Legacy para que nos lea nuestra Wifi, nuestro Token la IP de nuestro servidor Blynk Legacy y si se recibe los valores V0 y V1 del Joystick que vayan a las variables X e Y
Y finalmente el programa principal
El proyecto es público y lo tienes en este enlace (hay que estar logueado en Arduinoblocks)
http://www.arduinoblocks.com/web/project/486534
La APP Blynk
Ponemos los siguiente controles
- El Joystick con los pines virtuales V0 y V1
- El Gauge de Temperatura a V2
- El Gauge de Humedad a V3
- El Gauge de efecto Hall a V4
- El Gauge de Luz al analógico
- Un botón al D4
El panel está completo :