1
00:00:00,520 --> 00:00:07,540
Bueno simplemente a modo de repaso en la clase pasada habíamos Thiago nuestra función con Lebac que

2
00:00:07,540 --> 00:00:14,310
es la encargada de atender cualquier llamado que tengamos desde el servidor hacia nosotros.

3
00:00:14,350 --> 00:00:22,330
Esta función lo que va a hacer es recibir tanto tópico como mensaje bien para que lo entiendan de una

4
00:00:22,330 --> 00:00:23,140
mejor manera.

5
00:00:23,140 --> 00:00:28,660
En definitiva esto funciona como una interrupción nosotros que estamos en el mundo de Arduino y sabemos

6
00:00:28,660 --> 00:00:30,370
bien lo que es una interrupción.

7
00:00:30,370 --> 00:00:38,090
Esto es lo que hace coloq. está atento a recibir cualquier mensaje que llegue a nuestra puerta.

8
00:00:38,110 --> 00:00:46,900
Bueno pero tenemos que seguir avanzando y llegó el momento de ingresar al Luv porque aunque no les parezca

9
00:00:47,060 --> 00:00:50,520
borrar esto y estoy acá también esto se genera automáticamente.

10
00:00:50,520 --> 00:00:53,580
No lo necesitamos aunque no lo parezca.

11
00:00:53,620 --> 00:01:00,670
Todavía no nos hemos conectado al servidor me QTTF seguimos sin estar conectados.

12
00:01:00,670 --> 00:01:07,660
Entonces lo que vamos a hacer en el Loop en cada iteración es comprobar si no estamos conectados para

13
00:01:07,660 --> 00:01:14,500
conectarnos entonces de esta manera también nos aseguramos de que si por algún motivo se cae la conexión

14
00:01:14,730 --> 00:01:15,870
ésta se recupere.

15
00:01:15,880 --> 00:01:22,990
Miren qué función interesante y que le da a nuestra aplicación un grado de profesionalidad vamos a decir

16
00:01:23,080 --> 00:01:37,480
si tenemos un método de Client que es con Nek usted así que nos va a devolver Tru si está conectado

17
00:01:37,570 --> 00:01:46,360
o Fool's si no está conectado y yo lo que quiero saber es cuando el cliente no esté conectado entonces

18
00:01:47,140 --> 00:01:48,820
por eso es que lo pongo de esta manera.

19
00:01:48,880 --> 00:01:55,260
Seguramente cuando bajen el código completo lo vean así yo para que a todo el mundo le quede claro voy

20
00:01:55,290 --> 00:02:06,110
a hacer algo que es lo mismo igual igual a fouls bien bueno qué vamos a hacer si el cliente no está

21
00:02:06,110 --> 00:02:09,920
conectado esto cuándo se va a ejecutar.

22
00:02:10,460 --> 00:02:15,860
Obviamente la primera vez que arranque la placa apenas la enchufamos el cliente no va a estar conectado

23
00:02:15,950 --> 00:02:21,890
así que una vez que se conecte a Wi-Fi y se acepten todas estas configuraciones y caigamos en el club

24
00:02:22,540 --> 00:02:28,470
este se va a dar con un cliente desconectado y lo va a conectar el otro caso como decíamos recién es

25
00:02:28,520 --> 00:02:35,320
cuando por algún error algún problema en la conexión o en internet se nos desconecta el cliente.

26
00:02:35,570 --> 00:02:37,800
Así que qué hacemos acá adentro.

27
00:02:37,800 --> 00:02:44,000
Bueno pues bien a realizar la conexión pero para darle un poco de orden a esto lo vamos a hacer en una

28
00:02:44,000 --> 00:02:49,470
función aparte así que le vamos a poner reconecta se va a llamar mi función.

29
00:02:49,760 --> 00:02:54,870
Y bueno no la tenemos hecha así que es momento de hacerla.

30
00:02:54,870 --> 00:02:59,260
Venimos vamos a hacer arriba por una cuestión de comodidad.

31
00:02:59,270 --> 00:03:04,790
Me gustaría que Kohlberg nos quede arriba de todo porque es una de las funciones que después más vamos

32
00:03:04,790 --> 00:03:11,270
a tocar estas funciones como la de conexión en el WiFi o la conexión que vamos a hacer ahora.

33
00:03:11,750 --> 00:03:16,900
Una vez que funciona esto no lo tocamos nunca más o no deberíamos tener que tocar reconectado además

34
00:03:16,950 --> 00:03:24,380
bajo el nombre Veidt Reco ahí esta no recibe ningún parámetro y aquí vamos a empezar a poner las líneas

35
00:03:24,380 --> 00:03:30,530
que van a hacer la conexión a nuestro cérvidos bueno y acá dentro de lo que vamos a preparar es un bucle

36
00:03:32,050 --> 00:03:33,020
lo vamos a hacer.

37
00:03:33,090 --> 00:03:43,790
Esta abre y cierra vamos a decir mientras que el cliente no esté conectado sea mientras Clarín.com elected

38
00:03:44,100 --> 00:03:46,710
sea igual a Fool's es lo mismo.

39
00:03:46,710 --> 00:03:51,990
Vamos a hacer intentos de conexión vamos.

40
00:03:52,020 --> 00:04:04,380
Entonces empezamos íbamos a imprimir por terminal seria el punto print LNE intentando Conexión M CUPET

41
00:04:06,100 --> 00:04:10,810
bueno cada uno acá le pondrá el mensaje que más le parezca bien.

42
00:04:12,040 --> 00:04:21,040
Vamos a crear un string y vamos a poner un cliente ahí está la variable el nombre que yo le doy y tenemos

43
00:04:21,040 --> 00:04:29,770
que se TIAR un cliente una identificación para nuestro dispositivo para que cuando se conecte al servidor

44
00:04:30,730 --> 00:04:33,970
porte esa identificación.

45
00:04:33,970 --> 00:04:42,400
Hay algo interesante en la mayoría de los casos cuando se cae la conexión y yo intento es una reconexión

46
00:04:42,400 --> 00:04:43,200
bien digo.

47
00:04:43,210 --> 00:04:48,130
Es probable que la conexión anterior todavía no haya sido dado de baja del servidor y los servidores

48
00:04:48,130 --> 00:04:52,360
no me dejan tener dos dispositivos con el mismo Heydi.

49
00:04:52,390 --> 00:05:00,910
Este es un problema entonces nuestro cliente Heydi tiene que ser algo dinámico tendría le vamos a poner

50
00:05:00,910 --> 00:05:07,930
como se llamaba nuestro proyecto IoT 1 el nombre de nuestro proyecto.

51
00:05:07,930 --> 00:05:11,740
Le voy a poner un guión bajo para qué.

52
00:05:11,860 --> 00:05:20,020
Para luego concatenar justo aquí a partir de aquí algún número aleatorio o alguna estrenã aleatorio

53
00:05:20,770 --> 00:05:28,180
para de esta manera en cada intento de conexión tener un Heydi de cliente distinto.

54
00:05:28,180 --> 00:05:38,380
Entonces vamos a decir que claramente ahí es igual a lo que tenía Kleine y que vendría a ser esto de

55
00:05:38,380 --> 00:05:46,870
acá el guión bajo uno y un bajo más string

56
00:05:50,330 --> 00:05:51,020
random

57
00:05:54,160 --> 00:06:04,490
Koma MKX lo transformamos así ya vamos a ver como Cómo queda esto bueno aquí me olvidado de pasarle

58
00:06:04,580 --> 00:06:13,520
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

59
00:06:13,610 --> 00:06:19,790
hay muchas maneras de hacer esto simplemente con agregarle un número aleatorio aquí al lado transformado

60
00:06:19,810 --> 00:06:20,150
extremo.

61
00:06:20,150 --> 00:06:28,880
Por supuesto tenemos el problema salvado después de esto ya tenemos preparado nuestro IDE de cliente

62
00:06:28,970 --> 00:06:37,280
llegó el momento de realizar la conexión propiamente dicha y lo hacemos de la siguiente manera vamos

63
00:06:37,280 --> 00:06:49,100
a decir sí y aplico la función para conectarnos es clave en punto Connect y le pasamos el cliente Heydi

64
00:06:49,670 --> 00:06:56,630
nuestro usuario y la clave en realidad con esta sola línea ya no podría conectar lo que pasa es que

65
00:06:56,630 --> 00:07:05,470
quiero obtener el resultado que obtengo valga la redundancia Quiero capturar.

66
00:07:05,480 --> 00:07:12,380
Voy a decir para que quede bien dicho voy a capturar el resultado de esta operación para obtener así

67
00:07:12,820 --> 00:07:18,980
si nos fue bien y nos podemos conectar o nos fue mal y hubo algún error porque también me interesa guardarme

68
00:07:19,430 --> 00:07:20,510
ese error.

69
00:07:20,510 --> 00:07:27,830
Entonces si esta operación es exitosa me va a devolver un Tru lo que estoy logrando con este Deif es

70
00:07:27,830 --> 00:07:39,040
decir si se pudo conectar hago las dos cosas al vuelo si se pudo conectar cierro el la llave de este

71
00:07:39,040 --> 00:07:41,680
If y voy a decir un enlace.

72
00:07:41,830 --> 00:07:49,690
Para el caso de que si no se pudo conectar entonces sí se pudo conectar acá donde estoy marcando ahora

73
00:07:49,690 --> 00:07:54,310
haré ciertas cosas y si no se pude conectar haré otras.

74
00:07:54,490 --> 00:07:56,630
Bueno sí se pudo conectar.

75
00:07:56,770 --> 00:08:05,070
Vamos a hacer lo siguiente Vamos a escribir sedería elpunto print ln y nos tenemos que enterar así que

76
00:08:05,070 --> 00:08:11,410
vamos a decir conexión a M QTTF exitosa.

77
00:08:12,120 --> 00:08:13,490
Hay que festejarlo.

78
00:08:14,940 --> 00:08:16,200
Esperemos que ande todo bien.

79
00:08:18,930 --> 00:08:26,370
Después de esto lo que podríamos hacer es ya mismo como sabemos que estamos conectados enviar un mensaje

80
00:08:26,460 --> 00:08:35,070
al servidor por qué no vamos a decir claramente punto y acá viene publish vamos a usar mucho este método

81
00:08:36,270 --> 00:08:43,740
y entre comillas entre paréntesis y entre comillas vamos a pasar primero el tópico le vamos a poner

82
00:08:43,740 --> 00:08:46,340
de tópico.

83
00:08:46,970 --> 00:08:47,460
Sãlida

84
00:08:50,800 --> 00:08:57,250
para hacer algo estándar después podamos refinar a medida que esto empieza a tomar forma y el mensaje

85
00:08:57,670 --> 00:09:01,780
que vamos a llamar primer mensaje.

86
00:09:01,780 --> 00:09:09,490
Eso es lo que vamos a enviar enviamos el mensaje primero mensaje y el tópico es sãlida pero por otro

87
00:09:09,490 --> 00:09:16,330
lado a sabiendas de que ya estoy conectado de otra manera no lo podría hacer estaría asumiendo un riesgo

88
00:09:16,800 --> 00:09:25,000
yo ahora estoy seguro de que estoy conectado es que puedo publicar y también voy a poder Client punto

89
00:09:25,440 --> 00:09:27,250
sus Graib.

90
00:09:27,580 --> 00:09:35,530
Me voy a poder suscribir a un tópico le voy a poder decir al servidor hoy si alguien manda información

91
00:09:35,530 --> 00:09:40,980
bajó este tema yo me quiero enterar yo lo quiero recibir y ahí se va a disparar la función Kolchak.

92
00:09:41,350 --> 00:09:45,370
Entonces a qué tópico nos vamos a suscribir.

93
00:09:45,380 --> 00:09:47,170
Bueno lo voy a inventar.

94
00:09:47,170 --> 00:09:50,480
Ya mismo nos vamos a suscribir a entraba.

95
00:09:50,590 --> 00:09:54,490
Así es el tópico al que nos suscribimos.

96
00:09:54,490 --> 00:10:02,020
O sea que si alguien le manda a alguien algo al servidor algún dato bajo el tema o tópico entrada es

97
00:10:02,020 --> 00:10:06,160
para nosotros quizás para otros también pero para nosotros seguro.

98
00:10:07,560 --> 00:10:10,500
Bueno nos falta completar el ELS.

99
00:10:10,960 --> 00:10:18,750
Qué pasa si esto falla así si la conexión no funciona por X motivo vamos a decir vamos a escribir sería

100
00:10:18,780 --> 00:10:21,620
el punto print.

101
00:10:23,440 --> 00:10:24,790
Vamos a poner.

102
00:10:24,790 --> 00:10:28,090
Falló la conexión

103
00:10:32,670 --> 00:10:38,100
ver ahí como andamos con los y coma veo que aparentemente venimos bien

104
00:10:41,290 --> 00:10:46,700
vamos a hacer serio el punto print LN

105
00:10:50,760 --> 00:10:52,030
a ver cómo lo pongo.

106
00:10:52,090 --> 00:10:53,300
Quiero que se ve todo.

107
00:10:53,390 --> 00:11:06,720
Bueno a ver como sale yo la mujer como Print así un espacio print y vamos a poner Clariond punto Toit.

108
00:11:06,970 --> 00:11:11,890
Quiero saber el estado del cliente porque de esa manera me entero qué fue lo que falló.

109
00:11:11,890 --> 00:11:18,010
Van a ver que este imprime un código de error y de acuerdo al código de error podemos tener una idea

110
00:11:18,010 --> 00:11:27,950
de qué está pasando para poder solucionar el problema seria el punto print y vamos a poner.

111
00:11:27,950 --> 00:11:32,870
Se intentará de nuevo en cinco segundos

112
00:11:37,190 --> 00:11:41,210
para que esto no se nos dispare antes de los cinco segundos.

113
00:11:41,210 --> 00:11:48,890
Bueno acá vamos a hacer algo poco ortodoxo pero que va a funcionar y vamos a forzar ahí cinco segundos

114
00:11:49,100 --> 00:11:50,440
de espera.

115
00:11:51,220 --> 00:12:02,460
Bueno tendríamos que ver ahora si se nos han colado errores esperemos que no. Vamos viendo esto si va

116
00:12:02,470 --> 00:12:06,520
Compiler perfecto señal de que está todo bien.

117
00:12:06,610 --> 00:12:13,540
Nos falta muy poco para lograr ya la conexión pero este esfuerzo créanme que vale la pena estamos dejando

118
00:12:13,540 --> 00:12:19,960
un código muy prolijo ordenado con características de profesionalismo.

119
00:12:19,960 --> 00:12:27,400
Así que acompáñame en la próxima clase por qué ahora sí se viene el gran momento realizaremos la conexión.
