Bueno simplemente a modo de repaso en la clase pasada habíamos Thiago nuestra función con Lebac que
es la encargada de atender cualquier llamado que tengamos desde el servidor hacia nosotros.
Esta función lo que va a hacer es recibir tanto tópico como mensaje bien para que lo entiendan de una
mejor manera.
En definitiva esto funciona como una interrupción nosotros que estamos en el mundo de Arduino y sabemos
bien lo que es una interrupción.
Esto es lo que hace coloq. está atento a recibir cualquier mensaje que llegue a nuestra puerta.
Bueno pero tenemos que seguir avanzando y llegó el momento de ingresar al Luv porque aunque no les parezca
borrar esto y estoy acá también esto se genera automáticamente.
No lo necesitamos aunque no lo parezca.
Todavía no nos hemos conectado al servidor me QTTF seguimos sin estar conectados.
Entonces lo que vamos a hacer en el Loop en cada iteración es comprobar si no estamos conectados para
conectarnos entonces de esta manera también nos aseguramos de que si por algún motivo se cae la conexión
ésta se recupere.
Miren qué función interesante y que le da a nuestra aplicación un grado de profesionalidad vamos a decir
si tenemos un método de Client que es con Nek usted así que nos va a devolver Tru si está conectado
o Fool's si no está conectado y yo lo que quiero saber es cuando el cliente no esté conectado entonces
por eso es que lo pongo de esta manera.
Seguramente cuando bajen el código completo lo vean así yo para que a todo el mundo le quede claro voy
a hacer algo que es lo mismo igual igual a fouls bien bueno qué vamos a hacer si el cliente no está
conectado esto cuándo se va a ejecutar.
Obviamente la primera vez que arranque la placa apenas la enchufamos el cliente no va a estar conectado
así que una vez que se conecte a Wi-Fi y se acepten todas estas configuraciones y caigamos en el club
este se va a dar con un cliente desconectado y lo va a conectar el otro caso como decíamos recién es
cuando por algún error algún problema en la conexión o en internet se nos desconecta el cliente.
Así que qué hacemos acá adentro.
Bueno pues bien a realizar la conexión pero para darle un poco de orden a esto lo vamos a hacer en una
función aparte así que le vamos a poner reconecta se va a llamar mi función.
Y bueno no la tenemos hecha así que es momento de hacerla.
Venimos vamos a hacer arriba por una cuestión de comodidad.
Me gustaría que Kohlberg nos quede arriba de todo porque es una de las funciones que después más vamos
a tocar estas funciones como la de conexión en el WiFi o la conexión que vamos a hacer ahora.
Una vez que funciona esto no lo tocamos nunca más o no deberíamos tener que tocar reconectado además
bajo el nombre Veidt Reco ahí esta no recibe ningún parámetro y aquí vamos a empezar a poner las líneas
que van a hacer la conexión a nuestro cérvidos bueno y acá dentro de lo que vamos a preparar es un bucle
lo vamos a hacer.
Esta abre y cierra vamos a decir mientras que el cliente no esté conectado sea mientras Clarín.com elected
sea igual a Fool's es lo mismo.
Vamos a hacer intentos de conexión vamos.
Entonces empezamos íbamos a imprimir por terminal seria el punto print LNE intentando Conexión M CUPET
bueno cada uno acá le pondrá el mensaje que más le parezca bien.
Vamos a crear un string y vamos a poner un cliente ahí está la variable el nombre que yo le doy y tenemos
que se TIAR un cliente una identificación para nuestro dispositivo para que cuando se conecte al servidor
porte esa identificación.
Hay algo interesante en la mayoría de los casos cuando se cae la conexión y yo intento es una reconexión
bien digo.
Es probable que la conexión anterior todavía no haya sido dado de baja del servidor y los servidores
no me dejan tener dos dispositivos con el mismo Heydi.
Este es un problema entonces nuestro cliente Heydi tiene que ser algo dinámico tendría le vamos a poner
como se llamaba nuestro proyecto IoT 1 el nombre de nuestro proyecto.
Le voy a poner un guión bajo para qué.
Para luego concatenar justo aquí a partir de aquí algún número aleatorio o alguna estrenã aleatorio
para de esta manera en cada intento de conexión tener un Heydi de cliente distinto.
Entonces vamos a decir que claramente ahí es igual a lo que tenía Kleine y que vendría a ser esto de
acá el guión bajo uno y un bajo más string
random
Koma MKX lo transformamos así ya vamos a ver como Cómo queda esto bueno aquí me olvidado de pasarle
el valor a random que va a ser cero X FF FF bueno no se preocupen que ya vamos a ver cómo luce pero
hay muchas maneras de hacer esto simplemente con agregarle un número aleatorio aquí al lado transformado
extremo.
Por supuesto tenemos el problema salvado después de esto ya tenemos preparado nuestro IDE de cliente
llegó el momento de realizar la conexión propiamente dicha y lo hacemos de la siguiente manera vamos
a decir sí y aplico la función para conectarnos es clave en punto Connect y le pasamos el cliente Heydi
nuestro usuario y la clave en realidad con esta sola línea ya no podría conectar lo que pasa es que
quiero obtener el resultado que obtengo valga la redundancia Quiero capturar.
Voy a decir para que quede bien dicho voy a capturar el resultado de esta operación para obtener así
si nos fue bien y nos podemos conectar o nos fue mal y hubo algún error porque también me interesa guardarme
ese error.
Entonces si esta operación es exitosa me va a devolver un Tru lo que estoy logrando con este Deif es
decir si se pudo conectar hago las dos cosas al vuelo si se pudo conectar cierro el la llave de este
If y voy a decir un enlace.
Para el caso de que si no se pudo conectar entonces sí se pudo conectar acá donde estoy marcando ahora
haré ciertas cosas y si no se pude conectar haré otras.
Bueno sí se pudo conectar.
Vamos a hacer lo siguiente Vamos a escribir sedería elpunto print ln y nos tenemos que enterar así que
vamos a decir conexión a M QTTF exitosa.
Hay que festejarlo.
Esperemos que ande todo bien.
Después de esto lo que podríamos hacer es ya mismo como sabemos que estamos conectados enviar un mensaje
al servidor por qué no vamos a decir claramente punto y acá viene publish vamos a usar mucho este método
y entre comillas entre paréntesis y entre comillas vamos a pasar primero el tópico le vamos a poner
de tópico.
Sãlida
para hacer algo estándar después podamos refinar a medida que esto empieza a tomar forma y el mensaje
que vamos a llamar primer mensaje.
Eso es lo que vamos a enviar enviamos el mensaje primero mensaje y el tópico es sãlida pero por otro
lado a sabiendas de que ya estoy conectado de otra manera no lo podría hacer estaría asumiendo un riesgo
yo ahora estoy seguro de que estoy conectado es que puedo publicar y también voy a poder Client punto
sus Graib.
Me voy a poder suscribir a un tópico le voy a poder decir al servidor hoy si alguien manda información
bajó este tema yo me quiero enterar yo lo quiero recibir y ahí se va a disparar la función Kolchak.
Entonces a qué tópico nos vamos a suscribir.
Bueno lo voy a inventar.
Ya mismo nos vamos a suscribir a entraba.
Así es el tópico al que nos suscribimos.
O sea que si alguien le manda a alguien algo al servidor algún dato bajo el tema o tópico entrada es
para nosotros quizás para otros también pero para nosotros seguro.
Bueno nos falta completar el ELS.
Qué pasa si esto falla así si la conexión no funciona por X motivo vamos a decir vamos a escribir sería
el punto print.
Vamos a poner.
Falló la conexión
ver ahí como andamos con los y coma veo que aparentemente venimos bien
vamos a hacer serio el punto print LN
a ver cómo lo pongo.
Quiero que se ve todo.
Bueno a ver como sale yo la mujer como Print así un espacio print y vamos a poner Clariond punto Toit.
Quiero saber el estado del cliente porque de esa manera me entero qué fue lo que falló.
Van a ver que este imprime un código de error y de acuerdo al código de error podemos tener una idea
de qué está pasando para poder solucionar el problema seria el punto print y vamos a poner.
Se intentará de nuevo en cinco segundos
para que esto no se nos dispare antes de los cinco segundos.
Bueno acá vamos a hacer algo poco ortodoxo pero que va a funcionar y vamos a forzar ahí cinco segundos
de espera.
Bueno tendríamos que ver ahora si se nos han colado errores esperemos que no. Vamos viendo esto si va
Compiler perfecto señal de que está todo bien.
Nos falta muy poco para lograr ya la conexión pero este esfuerzo créanme que vale la pena estamos dejando
un código muy prolijo ordenado con características de profesionalismo.
Así que acompáñame en la próxima clase por qué ahora sí se viene el gran momento realizaremos la conexión.