Avanzado: Blynk Legacy local
- Raspberry: Qué hay que hacer para empezar
- Rasbperry: Poner un Sistema Operativo
- Raspberry: Cambiar usuario y contraseña
- Raspberry: Conectarlo a la red
- Raspberry: Conexión SSH
- Raspberry: Apagar
- Raspberry: VNC
- Raspberry: Instalar Java 8
- Raspberry: Instalar y ejecutar el servidor Blynk local
- En Windows Instalar Java 11
- En Windows Instalar Blynk local
- En Windows Ejecutar Blynkserver
- En Linux: Insyalar Blynk Legay local
- Blynk Legacy: La APP
- Blynk Legacy: Crear cuentas
- Blynk Legacy: El panel de control
- Blynk Legacy: En la APP
- Blynk Legacy: Poner el TOKEN en Steamakerblocks
- Blynk Legacy: 1programa: Encender los pines rojo y verde
- Blynk Legacy: 2programa RGB y el potenciómetro
- Blynk Legacy: 3programa Medir la luz del LDR
- Blynk Legacy: 4programa: Medir T y H con el DHT11
- Blynk Legacy: 5programa: Lectura sensor LM35 y receptor IR
- Blynk Legacy: 6programa Leer eventos del TDR Steam
- Blynk Legacy: 7programa: El timbre
- Blynk Legacy: ¿Todo junto?
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
- Comunicarnos con la Raspberry por comandos SSH
- Una vez hecho esto que es lo básico instalaremos el servidor Blynk
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
¿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
Rasbperry: Poner un Sistema Operativo
¿Es el único sistema operativo que se puede instalar?
No, podemos instalar otros sistemas operativos en nuestra Raspbery (evidentemente uno sólo cada vez, poner dos a la vez en la rasp sería forzarlo demasiado). Por ejemplo:
- Podemos instalar un Linux-Ubuntu ligero pero que se puede usar en una aula de informática (ver libro del curso de Aularagon Monta tu aula de informática con Raspberry).
- Si no podemos vivir sin Windows, hay un Windows 10 especial gratis (sí has leído bien, los de Microsoft van entendiendo eso de si no puedes con ellos únete a ellos, pero no te hagas ilusiones, sólo vale para la Raspberry y no esperes una máquina que sustituya a tu PC va lentísimo).
- Sistemas operativos para aplicaciones concretas:
- Video juegos: Recalbox.
- Dómótica y control Home Assitant
- Nuestro sistema operativo de este curso (y el mejor que "rula en la Rasp") pues está adaptado a la arquitectura ARM de la Raspberry es RASPBIAN o actualmente lo llaman RASPBERRY PI OS
Hay dos opciones, elige la que quieras (nuestra preferida es la A):
Opción A Instalar el sistema operativo en la tarjeta sin NOOBS
Con esta opción no tienes que encender la Rasbperry.
Opción B Instalar la Raspbian en la tarjeta con NOOBS
Con esta opción SI que tienes que encender la Rasbperry con pantalla, teclado y ratón
Esto es válido para cualquier ordenador: Descargar la ISO de un Sistema Operativo, grabarlo en un pincho de forma autoarrancable, pero por curiosidad, no es tan fácil como en la RASPBERRY
Se añade esta presentación como curiosidad:
Raspberry: Cambiar usuario y contraseña
El usuario por defecto es pi y su contraseña es raspberry pero lo podemos cambiar perfectamente
Opción A remota con SSH
Entramos por SSH como hemos aprendido, y tecleamos
sudo passwd pi
y nos pide enseguida la contraseña, la tenemos que insertar dos veces no se puede ver.
Opción B local por pantalla
Entramos por VNC o conectamos una pantalla, teclado y ratón a la raspberry y en Preferencias- RaspberryPi configuration
Y entramos en System
Raspberry: Conectarlo a la red
Opción A La Raspberry con pantalla, teclado y ratón
Esta es más fácil, pero tienes que encender la Raspberry con teclado, pantalla y ratón:
Opción B La Raspberry sin pantalla, teclado y ratón
Con esta opción es más difícil, pero no tienes que encender la Rasbperry para la configuración, sólo manipular los ficheros de la tarjeta micro SD.
Texto que hay que poner en interfaces
auto wlan0
iface wlan0 inet static
address 192.168.1.xxx
gateway 192.168.1.1
netmask 255.255.255.0
wpa-ssid el_nombre_tu_red_wifi
wpa-psk la_contraseña_de_tu_wifi
dns-nameservers 8.8.8.8 188.244.82.1
Texto que hay que poner en wpa_supplicant.conf
# /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="nombre de tu router o SSID"
psk="tu contraseña del wi-fi"
key_mgmt=WPA-PSK
}
Raspberry: Conexión SSH
Controlar Raspberry pi de forma remota y de forma textual es muy rápido y eficaz, sobre todo para la robótica con AlphaBot.
SSH (Secure Shell) según Wikipedia es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder servidores privados a través de una puerta trasera. Te recomiendo visitar esta página de Luis Llamas.
Recuerda que lo que hemos hecho es:
- Hemos conectado la Raspberry a la Wifi
- Hemos activado el protocolo SSH y VNC en la raspberry
- Hemos fijado una IP y la sabemos para poder acceder a él.
Ya podemos trabajar por SSH con la Raspberry, no nos hace falta que conectemos la raspberry a una pantalla, teclado, etc....
YA PODEMOS ENCENDER LA RASPBERRY si has elegidos las opciones A de 3.-Raspbian y 4.-Conectando aún no habrás encendido la Raspberry.
Si trabajas con Windows
No lo tiene nativo, tenemos que instalar Putty
Y rellenamos los campos de la IP (la que hayas determinado, en la imagen es 192.168.1.111), puerto y el protocolo SSH, es recomendable grabar la sesión para tenerlo en futuras entradas.
Se abre una ventana pidiendo el usuario pi y contraseña por defecto rasbperry
Si trabajas con Linux
Linux tiene de forma nativa el protocolo SSH, lo activamos en el icono en negro que es el Terminal:
Supongamos que la IP fija que le hemos asignado a la Rasbperry la IP 192.168.1.131 Tecleamos
ssh pi@192.168.1.131
Te pide usuario y contraseña, por defecto es usuario pi y la contreseña raspberry, la tecleas no la puedes ver, te tiene que salir algo así en la pantalla:
Cuando te sale pi@raspberrypi: es que ya está preparado para recibir órdenes
cat@cat-Aspire-E5-571 ~ $ ssh pi@192.168.1.131
pi@192.168.1.131's password:
Linux raspberrypi 4.9.80-v7+ #1098 SMP Fri Mar 9 19:11:42 GMT 2018 armv7l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Mar 23 18:03:09 2018 from 192.168.1.131
pi@raspberrypi:~ $
Nota por si te pasa
Si después de un intento fallido, o realizar la conexión con otra computadora.... te sale este error al intentar conectarte por ssh:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that the RSA host key has just been changed. The fingerprint for the RSA key sent by the remote host is
Please contact your system administrator. Add correct host key in /home/user/.ssh/known_hosts to get rid of this message. Offending key in /home/user/.ssh/known_hosts:1 RSA host key for ras.mydomain.com has changed and you have >requested strict checking. Host key verification failed.
Entonces antes de intentar conectarte por ssh, hay que obligar a la Raspberry que reinicie las claves de conexión de ssh, ejecuta esta orden :
Supongamos que la IP fija que le hemos asignado a la Rasbperry en el punto 4 es 192.168.1.131 Tecleamos
ssh-keygen -R 192.168.1.131
Raspberry: Apagar
Apagar de forma caliente (es decir simplemente quitando de la fuente de alimentación la corriente) daña al sistema operativo Rasbpian dejando ficheros corruptos.
7.1 Opción de forma remota con SSH
Muy fácil, teclea
sudo poweroff
7.2 Opción local de forma gráfica
Igual que en otros sistemas operativos Windows o Linux tenemos que apagar desde el menú Shutdown
Raspberry: VNC
VNC es un programa que nos permite la conexión remota con los servidores pero de forma gráfica. Es el sistema elegido por RASPBIAN pues ya lo tiene incorporado, pero no activado.
Hay que tener claro que son dos programas: * VNC SERVER que es el programa que se ejecuta en la RASPBERRY y que aunque viene instalado, hay que activarlo. Es el programa que lanza el escritorio para que lo lea: * VNC VIEWER es el programa que tenemos que tener en nuestro ordenador para ver lo que lanza VNC SERVER.
En la imagen podemos ver un pantallazo de mi ordenador, el escritorio negro es mi escritorio y el de la careterra es el de la Raspberry:
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
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
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 :
Para más cosas
Por ejemplo, desinstalarlo, volver a la 11, etc.. visitar esta página : https://phoenixnap.com/kb/install-java-raspberry-pi
Raspberry: Instalar y ejecutar el servidor Blynk local
1 Descarga Blynk
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 conviene actualizarlo, recomendamos visitar la página https://github.com/Peterkn2001/blynk-server#blynk-server y coger la última versión de aquí
2 Configurar server.properties
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.
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 en el apartado Configuración avanzada del servidor local
3 Ejecutar el servidor Blynk local
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.
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....
4 Que la orden de ejecución se haga automáticamente cada vez que se reinicie la Raspberry
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 &
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
5 Probarlo
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
Si quieres generar certificados SSL propios para que no salga la anterior pantalla consulta aquí
Tienes que entrar con el usuario y contraseña fijada en server.properties :
# Default admin name and password. Will be created on initial server start
admin.email=admin@blynk.cc
admin.pass=admin
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
6 Para saber más :
- https://github.com/Peterkn2001/blynk-server#blynk-server
- Intalación de Blynk : How to Install a Blynk Local Server on Raspberry Pi
- Configuración de server.properties.
7 Para saber más : Configurar mail.properties
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 :
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 :
Para saber más
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
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
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 -> Archivos de programa -> Java -> Jdk11...-> carpeta bin y copiamos la ruta :
Nos vamos al sistema
Y configuración avanzada del sistema - variables de entorno- path - editar - nueva y pegamos la ruta que hemos copiado anteriormente
En Windows Instalar Blynk local
Descargamos el servidor Blynk server desde
https://github.com/blynkkk/blynk-server/releases
o desde 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í
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
En Windows Ejecutar Blynkserver
Entramos en comandos de windows como administrador
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
En Linux: Insyalar Blynk Legay local
Seguimos las instrucciones de 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
Blynk Legacy: La APP
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
Blynk Legacy: 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í
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.
Blynk Legacy: 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
Blynk Legacy: Poner el TOKEN en Steamakerblocks
¿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 :
Blynk Legacy: 1programa: 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
Seleccionamos el botón
Nos aparece el botón
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
Hacemos lo mismo con el azul pero D13
En ARDUINO BLOCKS
En Arduinoblocks dejamos el token tal y como hemos aprendido anteirormente
¿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
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/
Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU
Blynk Legacy: 2programa RGB y el potenciómetro
LED RGB
En la APP de Blynk ponemos el gadget "Cebra"
Y lo configuramos según sus pines. El led RGB en el TDR Steam está conectado a los siguientes pines
- Red D6
- Green D9
- Blue D10
Potenciómetro
El potenciómetro está conectado en A0 podemos insertar un gadget Label y lo configuramos como tal:
¿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
Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU
Blynk Legacy: 3programa 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
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.
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
Blynk Legacy: 4programa: Medir T y H con el DHT11
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 :
Blynk Legacy: 5programa: Lectura sensor LM35 y receptor IR
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 :
- Lea el pin D11 que es donde está el sensor de infrarrojos
- Lea el pin A2 que es donde está el sensor de temperaturas LM35
Los resultados serían totalmente incorrectos !!!
- El sensor de infrarrojos lanza un código que al leerlo el pin D11 en la APP aparecería encendidos y apagados sin poder leer qué código es lo que dice
- En el sensor de temperaturas, es un sensor conectado al A2 por lo que en la APP mediría desde 0 hasta 1023, y esto no sólo habría que mapearlo a temperaturas, sino tratarlo correctamente pues el LM35 da lecturas de dos decimales.
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 :
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
Para el sensor de infrarrojos igual pero que visualice V8
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
Blynk Legacy: 6programa 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
y leerá de un pin virtual pin V4 y otro gadget para V5
En ARDUINOBLOCKS
Pondremos el siguiente código, simplemente lee que si se pulsa pues que encienda el led en el APP
Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU
Blynk Legacy: 7programa: 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
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
Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU
Blynk Legacy: ¿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:
Y en ARDUINOBLOCKS
Financiado por el Ministerio de Educación y Formación Profesional y por la Unión Europea - NextGenerationEU