Bueno ya nos falta muy poco.
Ya tenemos nuestro sistema de reconexión preparado.
Estamos tranquilos de que si llegara a suceder algo el sistema de manera autónoma va a recuperar la
conexión y todo va a seguir bien pero acá en el club tenemos que agregar algo muy importante.
Hay una función que es clave y punto Luv se llama no tiene nada que ver en realidad con esto de manera
directa pero esta función tiene que estar siempre incluida en el club y lo que hacemos es mantener a
nuestro cliente vamos a decir entre comillas atento funcionando si nosotros no llamamos de manera continua
a esta función.
Esto no va a andar.
De hecho no puede pasar mucho tiempo entre llamada y llamada porque si pasa mucho tiempo lo que va a
pasar es si llegase a entrar un mensaje de afuera.
No solamente nos puedes llegar tarde y perdemos estas esta ventaja de la instantaneidad sino que incluso
puede colgarse el sistema así que ojo muy importante llamar a client punto Luv todas las veces por segundo
que podamos no se preocupen esto no va a generar ni carga para el sistema ni va a entorpecer nada pero
si nos pone una condición muy importante si yo voy a tener que llamar a client punto Luv todas las veces
que pueda por unidad de tiempo o por eso es que lo pongo dentro del LUV.
Pero ojo mucho cuidado con las líneas que voy a escribir acá abajo porque si acá abajo tengo líneas
que me van a generar un Grandi ley me va a trabar el código y para cuando vuelva el Luv cosas muy malas
pueden haber pasado entonces por ejemplo yo ahora quiero que cada cinco segundos nuestro Luv envíe un
mensaje por email QTTF con un valor y en un tópico determinado.
Bueno jamás pero jamás voy a tener que generar ese día ahí a fuerza de puro Dilthey.
Eso va a hacer que se nos el código y se nos caiga esta función así que vamos a hacer como ya aprendimos
en clases anteriores un algoritmo para enviar cada cierto unidad de tiempo un mensaje pero sin trabar
el código.
Entonces cómo lo vamos a hacer.
Se acuerdan por acá.
A ver vamos a ver las variables globales tenemos una variable lonko llamada último mensaje igual a cero
no vamos a hacerlo de la siguiente manera va a borrar este delay que es casi una mala palabra en este
tipo de códigos vamos a decir si milis.
Ya saben para qué sirve esto.
Menos last.
último mensaje que en la primera vuelta vale cero es mayor y acá pongo cada cuánto cada cuánto quiero
que se envíe nuestro mensaje.
Bueno para que ahora lo veamos bien lo vamos a hacer cada dos segundos y habrá cierro llaves.
Bueno lo que tengo acá adentro del IF en lo que va a suceder cada 5 segundos.
Pero para que esto funcione correctamente no bien se ejecute este IHF lo que tengo que hacer es last
meses igual o Last MSG para ser correctos.
Va a ser igual a milis lo igualo a milis para que en la próxima vuelta ya no se ejecute y tenga que
abrir es una diferencia de más de 2000 milisegundos para que se ejecute.
Bueno con estas dos líneas ya estoy tranquilo de que lo que sigue a continuación sólo se ejecutará cada
dos segundos.
Y no me va a dejar dos segundos trabado el código en esta posición si no es el momento de ejecutar esto
pues seguirá el loop girando y girando.
Y por suerte ejecutando Home esta función que tanto necesitamos.
Bueno habíamos creado una variable que se llamaba a subir rápido acá hasta Bauluz un int que es igual
a cero.
Es como para mandar algo.
Entonces voy a decir que value más más.
Qué hago con esto.
Bueno cada vez que enviamos un mensaje les sumo uno a este entero.
Nada complicado hasta ahora bien sigamos adelante.
Bueno llegó la hora de enviar el mensaje.
Entonces primero vamos a preparar un string con nuestro mensaje vamos a practicar un par de cosas como
para que ya les quede claro cómo manejarnos.
Un desafío que tenemos es que el mensaje es un char Array así se lo debemos pasar a la librería como
una array de caracteres.
En este caso fíjense que hemos preparado ya la variable y tiene una longitud máxima porque nosotros
lo hemos determinado así de 50 caracteres bueno cómo metemos un string ahí adentro Bueno primero vamos
a preparar qué es lo que queremos mandar.
Entonces voy a crear esta variable local la voy a llamar mes así bastante simple y voy a decir que va
a ser igual a vamos a poner valor.
Vamos a poner una flecha como para que quede algo más artístico y le voy a concatenar la variable value
pero no nos olvidemos value es una entero.
Así que sería muy apropiado acá que transformemos este entero en una string para concatenar correctamente
a valor.
Entonces vamos listo ya tenemos en mes nuestra variable de tipo string y ahí adentro está el mensaje
que vamos a mandar.
En definitiva nos saldrá algo así.
Valor 1 o 2 3.
Esperemos que así salga.
Entonces llegó el momento de pasar este string y transformarlo en un char Array y ponerlo adentro de
esta variable m s g cómo vamos a hacer esto.
Bueno lo vamos a hacer así vamos a decir mees punto.
Tú ahí está tu echar a Roy llámelo está acercando a Tom y plataformeo y a esto le debo pasar adonde
lo vamos a poner.
Cuál es ese va a hacer es echar a raya dónde lo vamos a poner.
Y era M S G si mal no recuerdo.
Después lo vio pasar el tamaño de S de S buffer era de 50 y con eso ya estaríamos acá.
No tengo que poner nada esto lo borra con eso tendría que andar perfecto ahora
vamos a sacar por pantalla o lo vamos a hacer.
Después de publicar para tener la certeza vamos a hacer Klint punto.
Pagables ahí está y entre comillas tengo que pasar bajo qué tópico voy a sacar este mensaje para acerto
bajo el mismo tópico.
Voy a recordar que en algún momento antes cuando hacíamos la conexión yo ya mandaba un mensaje bajo
un tópico que si que era sãlida.
Bueno vamos a seguir usando el mismo tópico para no recibir del otro lado cosas por tantos tópicos diferentes
nos manejamos con uno solo por ahora vamos a publicar bajo el tópico sãlida Koma y como segundo parámetro
a esta función le voy a pasar el mensaje entonces vamos m s e perfecto.
Bueno ahora sí voy a hacer lo que quería hacer hace un rato que era serial punto.
Print ln y vamos a decir.
Mensaje enviado
incluso vamos a poner acá el valor.
Por qué no lo voy a hacer así.
Rápido copiado de acá.
Y lo pego acá y punto y coma.
Bueno si no me faltaba ya estaríamos casi en condiciones de probar.
Acabo de grabar y vamos a chequear posibles errores hemos escrito mucho código sin testear acá me olvido
un punto y coma.
Vamos a ver en el 91 sic.
Ahí está si vamos
bueno esto ya compila.
Así que no nos queda más que cargarlo en la placa y ver qué sucede.
Procedemos a grabar esto en la placa.
Estamos a esperar un rato.
Con toda la expectativa esperamos este momento.
Por supuesto yo tengo preparado y hagan lo mismo.
La ventana de CLADE me QTTF desde luego que vamos a usar.
Bueno ya se grabó todo parece haber funcionado bien y me voy a venir a la terminal para ver que me muestra
acá.
Bueno ejecutamos la terminal lo que voy a hacer.
Bueno esto ya es una buena noticia veo que está enviando mensajes y el valor bueno al menos eso es lo
que me dice la la terminal que eso esté sucediendo en la realidad puede que no lo que voy a hacer es
resetear la placa para ver todo el proceso y conexiones conectando la red wifi acá.
Miren qué rápido se conecta ya.
A mi me QTTF y eso que en mi caso nuestros servidores me QTTF del otro lado del mundo.
Del otro lado del océano estamos atravesando una fibra óptica submarina de cuantos miles de kilómetros
y la verdad es casi instantáneo.
Bueno parece que todo está funcionando.
Yo me vio venir rápidamente a Cloud M QTTF.
Miren acá aparece mi ventana principal y voy a hacer clic en mi instancia la que habíamos creado a la
instancia y guión bajo uno.
Acá teníamos la información y me vengo acá a conexiones para descubrir a esta que tenemos una conexión.
Miren acá una conexión activa.
Eso es un buen síntoma somos nosotros es nuestra placa SPT 32 conectada al servidor.
Bueno acá CLADE me QTTF tiene una herramienta súper útil y es esta interfase web sockets los web que
son una herramienta que nos permiten conectarnos a través de un puerto como si fuera M QTTF pero desde
un navegador web.
Ojo que esta tecnología es cierto no es tan nueva pero hasta no hace mucho no existía así que es un
gran paso que podamos conectarnos a través de la web.
Miren esto en definitiva es un cliente que se ha conectado al servidor QTTF y miren cómo podemos ver
que bajo el tópico salida se está emitiendo este mensaje va llevando el string y esta herramienta tan
potente me va a permitir también escribir un tópico y enviarlo al servidor.
Esto me viene como anillo al dedo porque miren voy a achicar un poco acá la pantalla vamos a partir
en dos pedazos vamos a buscar cuando nos conectábamos a ver cuando nos conectamos al servidor.
Me QTTF
aquí estamos miren qué decíamos si la conexión es exitosa además de enterarnos y además de publicar
algo como primer mensaje lo que yo quería hacer era suscribirme al tópico entrada entonces yo desde
aquí puedo mandar un tópico con un mensaje al tópico entrada entonces vamos a escribir Hola este es
un mensaje de prueba algo largo.
Entonces yo voy a hacer clic en x.m pero estén atentos aquí a la pantalla.
Miren recuerden esto va a ir hasta el servidor que está del otro lado del mundo y de Lott y desde el
servidor va a ser enviado hasta la placa veamos en 3 2 1 y llegó vieron con la velocidad que llega es
casi instantáneo vamos de nuevo entrada como mensaje de prueba está vamos.
Probamos otra vez 3 2 1 y lleva Bono.
Tenemos nuestro servidor andando.
Conexiones que van y vienen en ambos sentido así que creo que ha sido un éxito y la verdad que estoy
más que contento.
Esto no se queda acá acompáñame en la próxima clase y vamos a hacer algo muy interesante.