Curso IoT Avanzado (Sesión 5)
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
¿Y la puedo iniciar yo?
00:00:00
No me ha dicho nada.
00:00:04
Tiene que mandar si la grabación se ha iniciado, perfecto.
00:00:07
Vale.
00:00:10
Sí, correcto.
00:00:11
Voy a poner el código de entrada, que son menos dos minutos.
00:00:15
¿Cuántos estamos?
00:00:21
Pues pocos, yo creo.
00:00:23
Voy a ir poniendo el código y luego ya lo repetiremos para que vayan los que están aprovechando este ratillo.
00:00:26
Estamos a 26, ¿verdad?
00:00:43
Sí.
00:00:45
Vale, pues los que estáis, ahí tenéis el código, ¿vale?
00:00:47
Para iros registrando.
00:00:53
Luego lo iré actualizando.
00:01:01
Tengo una cosa, Jorge, sobre las cinco y cuarto así, ¿vale?
00:01:03
Vale.
00:01:08
Te lo digo porque como no voy a poder estar hasta y media, seguramente el código la última vez repítelo tú, como hay veinte o veinticinco, si puedes.
00:01:09
Vale.
00:01:19
Por si acaso, hombre, si están todos ahí diez, pues ya me encargo yo.
00:01:20
Pero si hay algún retrasado, que ya sabes que en todos los grupos hay algún retrasado, pues eso, ¿vale?
00:01:24
¿Luego vuelves?
00:01:34
Sí, sí, luego vuelvo. Voy a estar un ratillo que he desconectado y luego me vuelvo a conectar.
00:01:36
Vale.
00:01:42
Vale, no hay problema. Pero sí tengo un ratín ahí de lío.
00:01:43
Hola, buenas tardes. Juan Ramón, acabo de llegar. ¿Habéis dejado la clave para la...
00:01:54
Sí, pero como no estaba, se la pierdes.
00:02:01
Ya, ahora la acabo de ver. Gracias.
00:02:05
Venga.
00:02:08
Igual, Jorge, ¿podrías poner un texto de estos como el que pones cuando has tenido cinco minutos de descanso con la clave y así según vayas entrando?
00:02:15
O lo pones en el subtítulo por ahí. Eso igual estaría bien, el ponerte... No sé, lo estoy pensando ahora en OBS.
00:02:28
En la escena te pones ahí un subtítulo que te ponga el texto con el código de entrada, ¿sabes?
00:02:35
La típica rayita esta que aparece como en los televisorios. Y así nos evitamos tener que estar repitiéndolo por el chat tanto tiempo.
00:02:41
No, no sé. Es una tontuna, ¿sabes? Así pero en negro.
00:02:48
Voy, voy, voy.
00:02:55
Que sí, no hay que ser un linceo, macho.
00:02:58
A ver si...
00:03:03
Ahí, ahí. Mira, está muy bien.
00:03:10
¿Algo así?
00:03:18
Perfecto, sí. Si le pones delante el código de entrada, dos puntos, ya lo borras.
00:03:20
Buenas tardes.
00:03:26
Hola, buenas.
00:03:27
Una cosa que quería preguntaros. ¿Las sesiones están todas accediendo aquí al chat?
00:03:29
¿Puedo ver las sesiones que se han hecho hasta ahora, no?
00:03:33
No. No creo.
00:03:36
Entonces, ¿cómo puedo ver, por ejemplo, las dos últimas? ¿Yo entro aquí y la puedo ver? ¿O grabación?
00:03:41
A ver. Sí, aquí hay enlaces. No sé si funcionarán, pero voy a mirar.
00:03:46
Mira a ver si funcionan. Si funcionan, pues ya está. Ahí puedes acceder a la grabación.
00:03:51
Igual lo que no puedes hacer es descargarla.
00:03:57
No, no, descargarla no. Con verla me vale.
00:04:01
Las de Teams sí se pueden ver en la aplicación esta de Teams. Aparecen ahí en el chat todas.
00:04:04
Vale, aparecen en el chat todas.
00:04:10
Sí, lo único que tienen, no sé cuánto era, un mes o algo así de tiempo.
00:04:12
Sí, caducan, caducan, efectivamente.
00:04:16
Vale.
00:04:20
Para repasarlas. El otro día la que falté y alguna más. Y ahora que voy a tener estos días libres y por eso quería saber.
00:04:21
O sea, ¿los tengo ahí? ¿Los tengo en algún sitio más? ¿O es ahí solo?
00:04:27
Si tienes que acceder a alguna que no esté disponible, me la pides a mí y yo te la subo a la mediateca y os pongo un enlace.
00:04:30
Vale, bueno.
00:04:37
Si veo que funciona este bien, si no, te escribo un correo.
00:04:38
Correcto. Vale, esa es la idea.
00:04:40
Gracias.
00:04:43
Muy bien.
00:04:45
Vale, vamos a dar un minuto y medio más. Hay cinco. Y comenzamos. Buenas tardes.
00:04:50
Somos 23, Jack. Quitándonos a nosotros hay 21, faltan 4.
00:05:06
Quedan 3.
00:05:13
3, eso es. Somos 24 en total, así que 3.
00:05:14
Y sigue pasando lo mismo que el otro día. Pablo, Javier, Félix y otro Javier aparecen como dos veces.
00:05:17
Una vez actualmente en esta reunión y aparte en invitar a otros.
00:05:35
En otros usuarios del chat, sí, es verdad.
00:05:44
Pues yo solo me he metido una vez. Como me pide el nombre y apellidos, cuando le he metido el nombre y apellidos,
00:05:47
pues hay algún día que no he puesto el nombre y apellidos porque no he visto que me lo pidieran.
00:05:56
Pero debe ser que lo abre por dos lados. Una directamente en el… yo qué sé.
00:06:00
Bueno, sin más, vamos. Mientras tú puedas…
00:06:06
Claro, claro.
00:06:09
¿Quieres escuchar y participar?
00:06:11
Sí.
00:06:12
Vale.
00:06:20
Bueno, pues nada, son ya y cinco.
00:06:21
Entonces, antes de comenzar hoy con el tema nuevo, sí que quería consultaros.
00:06:24
Pues bueno, qué tal con la última clase que se fue así un poco más densa.
00:06:31
Si vais viendo un poco con más claridad todas las diferentes piezas del DevBuce,
00:06:38
todavía no hemos hecho en realidad nada de IoT en sí mismo, sino que hemos aprendido como la fase.
00:06:43
Y ahora con el tema de IoT es cuando ya empezará a encajar todo un poquito más.
00:06:49
Pero bueno, sí que me gustaría consultar, como es la primera edición de este curso,
00:06:54
pues un poco cómo lo vais viendo, si vamos bien de ritmo, si muy rápido, si demasiado despacio,
00:06:58
si se echan en falta prácticas, si sobran.
00:07:06
Así brevemente, tampoco…
00:07:10
Yo con la última sesión es con lo que me he aclarado más, porque echaba de menos un poco de práctica, la verdad.
00:07:19
Claro, quizá hay que intercalar más práctica entre medias de la teoría, ¿no?
00:07:27
Sí, sí, eso sí.
00:07:36
Vale, pues me lo apunto.
00:07:39
Las soluciones de lo que hemos ido haciendo están en algún sitio, ¿verdad?
00:07:43
Sí, están subidas en la plataforma.
00:07:48
¿Para dónde entrar? A ver si lo veo en general.
00:07:53
Ah, perdón. Esto es aquí.
00:07:56
Si entras en materiales y recursos, tienes por un lado lo de temario, que por cierto está subido ya el tema 3.
00:07:59
Y en ejercicios resueltos están los JSON.
00:08:08
Si esto lo importas en tu instalación de nodo de red, verás exactamente, por ejemplo, los que hicimos el lunes.
00:08:12
Te aparecerá tal cual está aquí.
00:08:20
Vale, o sea, que está en formato JSON. Yo esto lo importo y me salen todos los…
00:08:24
Tal cual está el tema.
00:08:28
Sí, sí, sí, vale.
00:08:31
Y ahí ya puedes curiosear, puedes ver cómo se ha hecho este nodo, cómo se ha resuelto este change.
00:08:32
Todo, o sea, lo tienes tal cual.
00:08:38
Genial.
00:08:40
Incluso la colocación. Esta curva rara que hay ahí la vas a tener. Todo está exactamente igual.
00:08:41
Vale, genial. Pues a ver si esto ya me lo curro un poco y tengo alguna duda más ya te pregunto, pero vamos, bien.
00:08:46
Yo muy contento, como siempre.
00:08:51
Jorge, yo estaba accediendo al fichero este que has puesto ahí de los ejercicios del tema 1.
00:08:53
Y no sé si está bloqueado, pero yo no puedo entrar en lo que es la parte de configuración.
00:08:59
De cómo están configurados los nodos.
00:09:05
Sí que puedo simular ingets y enviar mensajes y ver los mensajes en debug y tal,
00:09:07
pero lo que es la parte de configuración del nodo no puedo acceder a ello.
00:09:15
Qué cosa maravillosa. No puede ser. A ver, compárteme la pantalla, por favor.
00:09:19
Bueno, vamos a ver.
00:09:25
Ahora no puedo hacerlo porque es que lo he estado haciendo en otro ordenador esta mañana en clase.
00:09:27
Entonces en los minutos de descanso procuraré hacerlo para luego después enseñárselo.
00:09:31
Vale, es muy muy raro porque ten en cuenta que al final cuando yo te paso un JSON
00:09:37
lo que se pasa es absolutamente todo lo que hay en ese flujo.
00:09:43
Entonces no es posible que no te dejes configurar.
00:09:47
Vale, voy a ver si lo puedo hacer ahora mismo.
00:09:49
Voy a importarlo porque es que lo tengo en un... Ya te digo, es que he estado trabajando esta mañana en el aula
00:09:54
y entonces no lo tengo ahora mismo aquí en este ordenador.
00:10:00
Bueno, si quieres luego en el descanso intentalo y me dices.
00:10:05
Vamos a ver. Lo que voy a hacer va a ser importar el fichero tuyo.
00:10:10
Y entonces te lo voy a demostrar a ver si me pasa aquí lo mismo.
00:10:18
Bueno, no sé si... Buenas tardes. No sé si me estás compartiendo la pantalla.
00:10:30
Para que podamos ver.
00:10:57
Sí, me pasa lo mismo.
00:11:06
¿Y puedes compartir la pantalla por favor?
00:11:10
Aquí sí que lo veo. Sin embargo esta mañana era incapaderable.
00:11:16
Sí, aquí sí puedo. Pero esta mañana lo tenéis a la Linux.
00:11:27
No debería influir. Para nada.
00:11:33
Bueno, mañana lo voy a volver a intentar otra vez y eso te lo diré en la próxima sesión.
00:11:37
Vale. De tal forma, entiendo que lo que no te dejaba es que hacías doble clic en algo y no se mostraba.
00:11:43
Sí, o sea, se me resalta lo que es el rectángulo. El rectángulo donde está el ejercicio 1, por ejemplo.
00:11:51
Pero luego después, cuando voy a hacer clic sobre uno de los nodos, sobre el nodo Inyect, no se me abre para ver cuál es la configuración que tiene el nodo.
00:12:00
Entonces sí que puedo simular...
00:12:11
Bueno, ten en cuenta, por ejemplo, de este en concreto, este nodo Inyect está vacío.
00:12:14
Ya, me pasaba con todo.
00:12:22
Lo he probado con el ejercicio 1 y con el ejercicio 2 del tema 1.
00:12:27
Estos.
00:12:33
Ah, perdón, claro, que ahora no estoy compartiendo yo.
00:12:38
Sí, sí, estabas compartiendo. Lo que pasa es que yo estaba viendo mi pantalla.
00:12:41
Esto es aquí.
00:12:46
Sí, pero ¿no los tienes como enmarcados en rectángulos cada uno de los ejercicios?
00:12:52
No.
00:12:59
Eso es donde lo hicimos. No, eso no.
00:13:02
Pues a mí es que me aparecen como enmarcados en una tabla de importación. Si quieres, te voy a compartir mi pantalla.
00:13:06
Mira, para cuando lo hagas en el otro ordenador, una cosa que puedes hacer es, en vez de hacer doble clic, que a veces puede llegar a fallar, haces clic para que se seleccione y le das al intro.
00:13:14
Y eso debería abrir también las propiedades.
00:13:26
Pero no, compárteme y le echamos un vistazo.
00:13:30
Sí.
00:13:35
Estoy compartiendo.
00:13:54
Sí.
00:13:55
Vale.
00:13:59
¿Ves que tengo como un recuadro? Y está como...
00:14:01
Sí.
00:14:07
Bueno, pues en el momento que hago clic sobre cualquiera de las zonas de trabajo de ese recuadro, pues se me... digamos que se me ilumina lo que sería el rectángulo.
00:14:09
Y luego después no puedo hacer clic en lo que sería el nodo.
00:14:20
Vale, pues haz una cosa. Mira, por si acaso estuviera molestando el recuadro, haz clic en el recuadro.
00:14:25
Vale, y dale a suprimir. A ver qué hace. Vale, dale Ctrl-Z. No es lo que yo quería.
00:14:33
¿Vale? Elija el marco otra vez.
00:14:44
Botón derecho a desagrupar.
00:14:46
Botón derecho.
00:14:49
Agrup, ¿no?
00:14:51
Eso es.
00:14:55
Vale.
00:14:57
Entonces prueba eso, quitar el marco y luego comprobará si te deja entrar.
00:14:59
No vaya a ser que esté interfiriendo de alguna manera el navegador, quizás.
00:15:03
Pues vale, vale. Por lo menos ya tengo alguna herramienta para probarse.
00:15:07
Los recuadros esos son meramente estéticos.
00:15:12
Ya, pues por eso me ha sorprendido, ¿no? Porque es que, digamos, me dejaba bloqueada toda la zona dentro del recuadro.
00:15:16
Entonces ahí no podía hacer clic para ver la configuración del nodo.
00:15:23
Vale, vale.
00:15:29
Nada, prueba con eso y si no me dices.
00:15:30
De acuerdo.
00:15:33
A ver, Ismael dice que se ha conectado más tarde en su chat de reunión.
00:15:37
No me aparece el vídeo de otras reuniones. ¿Cómo puedo acceder a él?
00:15:42
Para eso te lo explica de nuevo, te lo explica en cuanto pueda Juanra.
00:15:45
¿De acuerdo, Ismael?
00:15:52
Vale.
00:15:57
Vamos a compartir.
00:15:59
Vale. ¿Tenéis descargado el tema 3?
00:16:01
Sí.
00:16:08
Vale. Estupendo. Pues nada, hoy vamos a empezar con la parte de MQTT.
00:16:10
La mayor parte de los que estáis aquí, o unos cuantos por lo menos, sí que habéis visto MQTT por la parte del SP32.
00:16:17
Pero aún así voy a contarlo un poco también añadiendo algo de información que no teníais.
00:16:25
Como, por ejemplo, el tema de las prioridades y el tema de los mensajes permanentes.
00:16:31
Los mensajes persistentes, perdón.
00:16:38
Entonces, para este curso está previsto, porque hay algunas actividades que vamos a hacer por parejas,
00:16:41
que utilizaréis el servidor de MQTT sin dormir.
00:16:52
Sin embargo, he estado revisando y he visto que hay versión ya de MQTT para Windows.
00:16:55
Con lo cual, quizá puede ser interesante que dediquemos diez minutillos a instalar el MQTT en nuestros ordenadores
00:17:01
para que tengamos esa independencia y no tengáis que depender de un servidor ajeno para hacer vuestras prácticas.
00:17:08
Vale, entonces, entrad por favor en esta dirección que os pongo en el chat.
00:17:16
¿Estoy compartiendo pantalla?
00:17:21
Sí, ¿no?
00:17:22
No, no estás compartiendo pantalla.
00:17:26
No, vale.
00:17:28
¿Seguro, no?
00:17:30
Yo no la veo.
00:17:32
O sea, claro, espera.
00:17:34
¿Así me ves?
00:17:36
Así te veo.
00:17:38
Vale, vale.
00:17:39
Es que estaba haciendo esta vista.
00:17:40
Vale.
00:17:56
¿Habéis hecho clic?
00:17:59
Sí, vale.
00:18:05
Entonces, para los que estéis con Linux, es muy sencillo.
00:18:06
Simplemente con hacer un apt-get install mosquito.
00:18:11
Mosquito es el nombre del servidor que vamos a utilizar de MQTT.
00:18:16
¿Vale?
00:18:22
Entonces, aquellos que estéis con Linux Math o con Debian o con Ubuntu o demás, el comando a ejecutar es...
00:18:23
Bueno, para Linux, apt-get install mosquito.
00:18:38
Mosquito.
00:18:51
Y, por si acaso, mosquito-clients.
00:18:54
Vale, esto para los que estéis con Linux.
00:18:57
Para los que estéis con Windows, pues tenéis aquí el instalador.
00:18:59
Normalmente, con máquinas modernas, tenéis que coger el primero, el que pone x64.
00:19:04
Y los que estéis con Mac, hay que hacerlo a través de brio.
00:19:10
Vale, hay que entrar en brio.sh y después, una vez instalado brio, pues hacer brio install mosquito.
00:19:15
Me vais diciendo, por favor, si os da algún problema la instalación.
00:19:21
A ver, la página es mosquito.org.
00:19:28
Sí, lo he copiado en el chat, el enlace.
00:19:31
Voy a poner también el comando para Linux.
00:19:36
Sí, pero como yo no puedo acceder directamente, por eso he quitado la página.
00:19:40
Ah.
00:19:43
Busco mosquito.org.
00:19:44
Mosquito con dos t.
00:19:47
Mosquito, sí.
00:19:50
Jorge, ¿la que tenemos instalada antes nos vale? ¿O la quitamos? ¿O esta se la machaca? ¿O cómo va?
00:19:53
¿Ya tenías instalado un mosquito?
00:19:58
Bueno, tenemos el MQTT que habíamos creado antes. No es lo mismo, ¿no?
00:20:01
No, tendrías el MQTT Explorer.
00:20:05
Ese.
00:20:08
Vale, vale. Yo no tengo nada que ver con esto.
00:20:09
Nada que ver. El MQTT Explorer es un cliente de MQTT y el mosquito es un servidor.
00:20:11
Este con que creéis uno en el aula, en uno de los ordenadores, es suficiente.
00:20:17
Y todos los alumnos y el profesor se pueden conectar a esta instalación.
00:20:21
O podéis crear uno para el instituto.
00:20:28
Una cosa, Jorge. Yo estoy instalándola en Windows y me sale...
00:20:34
Si quiero seleccionar componentes adicionales como el service, el estudio runtime, files, etc. ¿Qué hago ahí?
00:20:40
Pues no lo sé. ¿Me puedes compartir un segundo?
00:20:49
El service casi seguro. Sí, es lo que yo creo.
00:21:02
Vamos a ver cómo lo pone.
00:21:05
Vale.
00:21:09
Sí, déjalo por defecto.
00:21:19
¿Lo dejo todo así?
00:21:21
Sí.
00:21:22
Vale.
00:21:23
Y a ver si pide alguna cosa más rara para instalar.
00:21:26
Error.
00:21:30
¿Puede ser algo del antivirus?
00:21:35
Me he puesto los dos que había así por defecto y me ha ido bien. Vamos. No ha dado ningún problema.
00:21:43
¿Antes te lo hacían, Pablo?
00:21:49
Sí.
00:21:50
No, no ha salido el error ni nada.
00:21:52
A mí también me ha ido bien. No ha dado ningún problema.
00:21:55
Puede que hayas elegido 64 y sea 32 o al revés.
00:22:02
No creo. Yo creo que he recogido de 64.
00:22:08
A ver, pasa el ratón abajo a la izquierda de la pantalla. Pone mosquito-2015. Pasa el ratón simplemente por ahí.
00:22:15
Has elegido de 64 y tu ordenador es moderno, entiendo.
00:22:21
No sé. Dale a omitir. Yo creo que puede ser tema de antivirus, quizá.
00:22:28
Sí, es que no te deja copiar nada.
00:22:36
Y sin embargo es como que se está dejando...
00:22:41
Cuando se termina de ejecutar en Windows, ¿aparece algo en especial?
00:22:52
No, aquí no aparece nada. Yo me he quedado así un poco...
00:22:56
Ni tampoco.
00:22:59
No.
00:23:01
No crea icono ni nada por el estilo. No sé si tiene que crear algún icono.
00:23:02
No creo nada.
00:23:07
No, no debería. Porque es un servicio que se arranca, que corre detrás. Ahora vamos a ver si está bien instalado.
00:23:09
¿Alguien ha tenido algún otro problema para instalar?
00:23:15
¿Alguien ha tenido algún otro problema para instalar?
00:23:18
Ya puedes dejar de compartir, Carlos, si quieres.
00:23:20
Sí, sí, ya.
00:23:23
Ah, vale. Comparto yo.
00:23:25
Ahora vamos a comprobar, cuando tengamos esta la explicación inicial de MQTT, vamos a comprobar si nos funciona.
00:23:33
Vale.
00:23:49
Bueno, pues os cuento...
00:23:59
Perdona, Jorge.
00:24:01
Desde Linux, ¿hay que ir a la ventana de comandos?
00:24:03
Y ejecutar esto.
00:24:09
Bueno, primero recuerda que si estamos en... Si hace mucho que no hacemos un update...
00:24:12
Pues, apt-get update.
00:24:18
Un momento, no me lo corres, ¿vale?
00:24:19
Vale.
00:24:21
Por favor, ¿podéis poner el código de registro de sesión otra vez? Que no lo tengo.
00:24:30
Sí, está aquí. Espérate, lo escribo.
00:24:35
60ZI14.
00:24:41
Lo acabo de poner yo en el chat otra vez.
00:24:45
Ah, vale.
00:24:47
Vamos, está un poquito más arriba.
00:24:49
Sí, pero como es blanco sobre blanco aquí...
00:24:53
¿Cómo comprobamos si se ha instalado bien? ¿Dónde lo miramos?
00:25:11
Pues hasta que no hayamos configurado los nodos de red no vamos a poder comprobarlo.
00:25:14
Así que en un ratito lo veremos.
00:25:21
O sea, que no lo creemos que esté instalado, señales buenas y ya está.
00:25:23
Por ahora sí.
00:25:26
Se puede poner en el terminal mosquito-version.
00:25:35
Ah, vale.
00:25:39
Luego hay otra forma. ¿Puedo borrar ya esto?
00:26:10
¿Carlos?
00:26:17
A mí lo de mosquito-version no me va. ¿Habrá que levantar el servicio o se supone que al instalarlo ya se ha levantado el servicio en Windows?
00:26:23
Se supone que al instalarlo debería...
00:26:34
A mí tampoco me va.
00:26:39
Vale, vamos a hacer una cosa.
00:26:43
Los que tengáis Windows podéis ejecutar el...
00:26:46
¿Cómo se llama?
00:26:52
El cmd, no.
00:26:54
¿Cms?
00:26:56
No, el...
00:26:57
PowerShell.
00:26:59
El PowerShell, eso es.
00:27:01
Eso es, el PowerShell.
00:27:04
Y luego, una vez que eso aparece en los comandos, podéis hacer esto.
00:27:06
Telnet localhost 1883.
00:27:10
Si aparece después de hacer esto la palabra connected o conectado, significa que está bien.
00:27:14
No te he visto...
00:27:22
No...
00:27:28
¿Dónde lo has visto?
00:27:30
¿Estáis compartiendo la pantalla?
00:27:32
Estás compartiendo el documento del tema 3.
00:27:34
No...
00:27:40
¿Todo el mundo ve el documento del tema 3?
00:27:41
No, yo estoy viendo el...
00:27:43
Yo veo la pantalla.
00:27:45
Yo veo la pantalla.
00:27:47
Ahora sí, perdón.
00:27:49
El PowerShell, ¿cómo se arranca? Perdonad, porque no sé cómo se arranca.
00:27:51
Pues yo...
00:27:57
No sé si en Control-R, o sea, Command-R y ahí PowerShell.
00:27:58
Debería.
00:28:03
O tu tecla de Windows y escribes PowerShell.
00:28:05
Es que no soy muy de Windows, la verdad.
00:28:07
Sé que se puede hacer, pero no sé cómo.
00:28:09
Sí, ya lo he visto.
00:28:11
Dice que el Telnet no lo reconoce como un comando.
00:28:14
A mí también.
00:28:17
Vale.
00:28:19
Esto con Putty lo podemos hacer también.
00:28:22
Con Putty se puede hacer también, sí.
00:28:24
Pero ya es otro programa que hay que instalar.
00:28:26
Bueno, espera. Vamos a hacerlo...
00:28:28
Vamos a hacerlo...
00:28:30
Vale.
00:28:32
Vamos a hacer una cosa.
00:28:33
Como hay que instalar otro programa,
00:28:34
y ese programa sí que nos va a permitir...
00:28:36
Sí que nos va a permitir hacer...
00:28:38
Validar que la instalación es correcta.
00:28:41
Pues directamente nos lo descargamos.
00:28:43
Vamos a buscar en Google el comando...
00:28:46
Bueno, estos son enlace.
00:28:50
Vale.
00:28:55
Esto.
00:28:57
Y por otro lado, para Carlos...
00:28:59
Esto.
00:29:04
Vale.
00:29:12
Ahí aparecen varias opciones de descarga.
00:29:13
La de Windows, la de Linux y la de...
00:29:15
Y la de Ubuntu y...
00:29:18
Y la de Ubuntu y Mac.
00:29:22
¿Esta es la que teníamos antes?
00:29:28
Sí, este.
00:29:30
Para los que ya habéis hecho esta parte conmigo no hace falta...
00:29:31
Vale.
00:29:36
Y por cierto, ¿por qué estaba la gente haciendo cosas con PowerShell?
00:29:37
¿Me he perdido algo?
00:29:40
¿Había que abrir el PowerShell o qué?
00:29:41
Nada, nada. Es una forma de validar, de comprobar si...
00:29:43
Si estaba bien instalado.
00:29:47
Pero lo vamos a hacer mediante...
00:29:49
Lo vamos a hacer mediante...
00:29:51
Mediante el M.3 Programs.
00:29:53
Ok.
00:29:58
Tiene que aparecer algo como esto.
00:30:01
¿Hay algún usuario por defecto o algo?
00:30:17
No.
00:30:20
¿Y el validar certificado hay que activarlo también?
00:30:22
Tampoco, espera. Un segundito que lo cuento todo.
00:30:25
Es que a mí me desconecta el servidor.
00:30:29
Me sale un mensaje desconectado por el servidor y no...
00:30:31
Yo creo que no se ha levantado el servicio.
00:30:34
Vale, un segundito.
00:30:38
Espera, si queréis vamos a hacer una cosa.
00:30:48
Vamos a esperar a que estén todos y explico cómo se conecta...
00:30:50
Cómo se configuran aquí las cosas.
00:30:53
Vale, ¿alguien no lo ha podido terminar de instalar el MQTT Explorer?
00:30:59
A ver, Jorge, yo tengo el MQTT Explorer del curso anterior.
00:31:07
Lo tengo liberando.
00:31:10
Pero entonces no necesitamos, no vamos a necesitar
00:31:11
por ahora el servidor.
00:31:14
Sí, sí, sí, también, también.
00:31:16
Quiero que os lo quedeis configurado para no depender del servidor de Sendormir.
00:31:18
Entonces el MQTT Explorer lo vamos a utilizar para validar el servidor vuestro.
00:31:23
Ya, pues es que, bueno, vale.
00:31:29
O sea, ¿todo el MQTT Explorer te funciona?
00:31:32
Sí, el Explorer sí.
00:31:35
Lo que no tengo es...
00:31:36
El servidor no lo he conseguido.
00:31:38
Estoy con un lío informático que no lo he conseguido.
00:31:40
Lío informático que no lo consigo.
00:31:43
La pregunta es, ¿me sirve para trabajar hoy el Explorer o no es suficiente?
00:31:46
Sí, sí, sí, te va a valer.
00:31:50
¿Alguien no ha podido instalar el Explorer?
00:31:54
Os digo la configuración que tenéis que hacer.
00:32:00
Perdonad, Jorge, se supone que al dar doble clic sobre el icono de MQTT Explorer
00:32:03
te abre algo, ¿no?
00:32:08
Te tiene que abrir esto mismo que estás viendo.
00:32:10
Vale, pues déjame, no sé...
00:32:12
Ah, vale, sí, sí, ya me la abierto, ya me la abierto.
00:32:13
Acá ha tardado muchísimo.
00:32:15
Vale, gracias.
00:32:18
Entonces, vamos a hacer la conexión de MQTT con nuestro propio ordenador,
00:32:19
con el servidor que he instalado.
00:32:25
Entonces, en nombre vamos a ponerle localhost.
00:32:26
Vale, que es como la configuración de nosotros mismos.
00:32:30
Una pregunta, Jorge.
00:32:35
Yo tengo dos conexiones ya puestas y tengo Marcos Sendormir y tres Mosquito.
00:32:37
¿Puedo empezar a escribir en esta misma y luego al salvar se me salva como una nueva conexión?
00:32:42
Tienes que darle al Más.
00:32:47
Ah, al Más, vale, ya está.
00:32:49
Dale al Más, te pone Nueva Conexión.
00:32:51
Vale, es que no quería machacarla, digo, a ver si voy a estar aquí...
00:32:53
Gracias.
00:32:56
Dale al Más, Nueva Conexión y ponemos localhost.
00:32:57
Vale, con Validad Cepificado no lo queremos.
00:33:00
Y aquí en Host vamos a poner 127.0.0.1.
00:33:05
El puerto, ¿está bien?
00:33:12
Sí.
00:33:14
Perdona, Jorge.
00:33:15
A mí ya me aparece una conexión por defecto de localhost que ya parecía un host MQTT, eclipse.org.
00:33:16
¿Machacamos eso?
00:33:24
O dale al Más para que se te añade una nueva.
00:33:26
Mejor.
00:33:30
¿Al Más que aparece arriba a la izquierda?
00:33:32
Sí, sí.
00:33:34
El nombre es un nombre que vosotros podéis elegir.
00:33:36
Podéis poner yo mismo, mi ordenador o lo que sea.
00:33:38
¿Validate Certificate hay que marcarlo o no?
00:33:42
No, hay que dejarlo tal y como lo estoy haciendo.
00:33:45
Validate Certificate.
00:33:47
Negativo.
00:33:49
Sigue en equilibración.
00:33:50
Protocolo MQTT dos puntos barra barra.
00:33:51
Host es 127.0.0.1.
00:33:54
Puerto está bien por defecto.
00:33:57
Usuario vacío.
00:33:59
Clave vacía.
00:34:00
A ver, Jorge.
00:34:01
Como yo no tengo el servidor, ¿puedo trabajar con el tuyo?
00:34:02
¿Con el desintervir?
00:34:05
Sí.
00:34:06
Ahora daré los datos para el desintervir.
00:34:07
Vale.
00:34:11
En el momento en el que ya tengamos esto, le damos a conectar.
00:34:12
Y si todo va bien, pues tiene que quitarse esa ventana y aquí aparecer algo como lo
00:34:16
que veis aquí arriba del todo.
00:34:22
A mí me sale desconectado el servidor.
00:34:24
Vale.
00:34:26
Una cosita.
00:34:27
A mí me ha pasado eso también.
00:34:28
Vale.
00:34:29
Falta un punto.
00:34:30
A mí me ha pasado eso también y es que el servicio Mosquito no se arranca automáticamente.
00:34:31
O sea, tienes que arrancar la mano en Windows.
00:34:37
Sí.
00:34:39
Bueno, a mano.
00:34:40
Yo he hecho un control sub, me he ido al gestor de administrador de tareas y en la parte
00:34:41
última de servicios vas hacia abajo, como estamos ordenando eso fecalméticamente, y
00:34:49
donde pone Mosquito le das a ejecutar.
00:34:53
Vale.
00:34:56
Le das a iniciar y con eso ya funciona.
00:34:57
Vale.
00:35:00
¿Te importa, Jesús, compartir la pantalla?
00:35:01
Es que no tengo manera de mostrar yo eso.
00:35:04
Vale.
00:35:07
Un segundo.
00:35:08
Vale.
00:35:09
Vale.
00:35:10
Vale.
00:35:11
Vale.
00:35:12
Vale.
00:35:13
Vale.
00:35:14
Vale.
00:35:15
A ver si comparto la pantalla.
00:35:17
Es que como tengo varias...
00:35:19
¿Se ve algo?
00:35:30
Sí.
00:35:31
Es que a mí se me cierra todo y no veo.
00:35:32
Vale.
00:35:34
Pues yo lo que he hecho ha sido un control sub y he entrado al administrador de tareas,
00:35:35
que normalmente aparece aquí.
00:35:39
Pues me voy a las últimas servicios.
00:35:41
Me he bajado por aquí hasta que he encontrado a Mosquito.
00:35:45
Y aquí Mosquito me aparecía aquí como detenido.
00:35:48
El Mosquito Broker.
00:35:52
Le he dado botón derecho, le he dado iniciar y ya lo ha arrancado.
00:35:55
Y desde ahí pues ya la conexión del MQTT ya funciona.
00:35:59
Vale.
00:36:03
¿Le puedes dar doble clic en lugar de... al servidor Mosquito?
00:36:04
Eh...
00:36:09
Perdón.
00:36:10
Sí.
00:36:11
No, no.
00:36:12
Estabas bien.
00:36:13
Pero en el administrador de... ahí.
00:36:14
¿Aquí?
00:36:16
Sí.
00:36:17
Doble clic.
00:36:18
¿Doble clic?
00:36:19
Sí.
00:36:20
No me hace nada con el doble clic.
00:36:21
Vale.
00:36:24
Vale.
00:36:25
Yo le he dado botón derecho, le he dado iniciar y me ha iniciado el servicio.
00:36:26
Vale.
00:36:30
Mira, dale a abrir servicios.
00:36:31
Lo digo por si alguien quiere...
00:36:33
Ah, abrir servicios.
00:36:34
Si aquí en estos servicios buscas el MQTT, puedes dar opciones...
00:36:37
El Mosquito, sí.
00:36:43
Puedes dar opciones para que...
00:36:44
Ahí lo tienes.
00:36:47
Vale, aquí pone automático, pero entiendo que esto es cuando una vez que ha...
00:36:49
Que se ha reiniciado.
00:36:54
Que se ha reiniciado el ordenador.
00:36:55
Pero eso parece que es un browser.
00:36:57
No, es el Broker.
00:36:59
No, no.
00:37:00
Broker, Broker.
00:37:01
El Broker.
00:37:02
Es Mosquito Broker.
00:37:03
Entonces, si hay doble clic, te va a permitir elegir si lo quieres tener en ejecución siempre,
00:37:05
si quieres que se arranque automáticamente.
00:37:10
Este, por defecto, está automático.
00:37:13
Sí, lo que pasa es que como no he reiniciado, yo entiendo que por eso no me lo ha arrancado.
00:37:19
Tiene pinta de que es por eso.
00:37:26
Para acceder al administrador de tareas, lo que pasa es que no...
00:37:27
Porque si le vas a buscar, te lo busca en internet, no en el ordenador.
00:37:31
Yo hago un control al sub.
00:37:36
¿Se ve la pantalla o se ha ido todo?
00:37:40
Ahora sí.
00:37:42
Administrador de tareas.
00:37:43
Ahí ya lo tienes.
00:37:44
Te vas a servicios al final.
00:37:45
Aquí te puedes bajar a...
00:37:47
O abrir servicios aquí, lo que dice Jorge.
00:37:52
O si no, aquí te bajas, te encuentras en Mosquito y aquí me aparecía detenido.
00:37:54
Le hago botón derecho e iniciar y lo ha arrancado.
00:38:00
Y si no, aquí en lo que dice en servicios, buscamos otra vez el...
00:38:03
Aquí también tienes la opción de ir.
00:38:09
Sí, y aquí, claro, es que yo creo que no ha...
00:38:11
Aquí sí aparece como Mosquito Broker y pone con automático.
00:38:14
Lo que pasa es que como no he reiniciado la máquina, pues no sé, a lo mejor no lo ha arrancado por alguna razón.
00:38:18
Es probable.
00:38:24
Pero teóricamente ahora al arrancar la máquina debería arrancarlo automáticamente.
00:38:26
¿A alguien no le ha funcionado esto?
00:38:35
¿Alguien no ha podido conectarse con el MQTT Explorer a su propio ordenador?
00:38:37
Yo todavía no.
00:38:42
Está en ejecución, he dado esto, estaba detenido, lo he puesto en ejecución y ahora voy a ver si se conecta.
00:38:43
Aquí a mí esto por defecto viene con el certificado habilitado.
00:38:49
Lo he deshabilitado, he puesto localhost y no he puesto nada más.
00:38:53
Voy a conectar y ya se conecta, ya estamos en el MQTT Explorer.
00:38:58
Yo todavía no estoy porque he tenido que reiniciar.
00:39:03
¿Qué había que poner para conectarse en el MQTT Explorer?
00:39:07
¿Qué había que poner en el host?
00:39:11
Puedes poner localhost directamente, no hace falta ponerlo en el 127.0.0.1.
00:39:14
Ah, no hace falta.
00:39:18
No, el localhost es un alias del 127.0.0.1.
00:39:19
Ah, vale.
00:39:23
Con lo cual ya no necesitas nada más.
00:39:24
Sí, sí, ya me funciona, gracias.
00:39:29
¿Cómo habéis hecho para que se arranque automáticamente el mosquito?
00:39:32
¿Que lo habéis comentado como para que se iniciara automáticamente?
00:39:35
Sí.
00:39:40
¿Con CTRL a suprimir?
00:39:44
Sí.
00:39:46
Te tiene que salir a administrador de tareas.
00:39:47
Sí.
00:39:49
Y la pestaña del final del todo es la de servicios.
00:39:50
Sí.
00:39:53
Pues ahí en el listado que te aparece, hacia el final te tiene que aparecer mosquito.
00:39:54
Sí.
00:40:00
¿Le das botón derecho?
00:40:02
Aquí abajo está abrir servicios, aquí abajo.
00:40:05
O también ahí.
00:40:07
¿Se ve mi pantalla?
00:40:08
Sí, sí, se ve.
00:40:09
Vale, pues aquí en cuanto te pones en la de servicios te aparece abrir servicios.
00:40:10
Abre servicios y aquí tienes que buscar el mosquito.
00:40:15
Mosquito broken aparece y aquí hay que dejarlo en automático.
00:40:21
Pero bueno, esto yo no lo he tocado, esto estaba por defecto en automático.
00:40:27
Lo único es que no lo había arrancado.
00:40:30
Vale.
00:40:34
A ver, ¿podéis por favor levantar la mano todos los que tengáis el mosquito funcionando y el MQTT Explorer conectado al mosquito?
00:40:36
Yo lo que tengo que ver es cómo descompartir ahora.
00:40:55
Ah, pero eso es fácil. Si comparto yo, creo que tengo a ti.
00:40:59
Pues sí, vale.
00:41:03
Ah, sí, espera que tengo aquí un dejar de compartir. Ah, vale.
00:41:09
Vale, ya está.
00:41:12
Vale, y entonces... Vale, me falta gente.
00:41:15
Falta yo, que como estaba...
00:41:20
Sí, sí, sí.
00:41:22
A ver, José Miguel estaba con problemas, pero Juan Ramón, Darío, Juan Luis y Julio.
00:41:23
¿Estáis por ahí?
00:41:35
Darío, José Miguel, Juan Ramón.
00:41:42
Sí, sí, yo estoy por aquí esperando.
00:41:45
José Miguel, tú eres el que tiene problemas con el ordenador, ¿verdad?
00:41:47
Sí, pero yo no he podido instalar el servidor, entonces quería usarlo por lo menos por ahora con el de sin dormir.
00:41:50
Vale, luego comentaré cuáles son los parámetros de conversión.
00:41:57
Y Juan Ramón y Juan Luis.
00:42:02
Jorge, si son los mismos que en el curso anterior lo tengo todo.
00:42:05
Sí, sí, sí, son los mismos.
00:42:09
O sea, con el Homogy hubiera dominado su agrupación, y desde el momento donde imaginaba de formatear,
00:42:12
usarum.
00:42:20
Os cuento un poquillo qué es MQTT. Lo siento para los que ya lo habéis visto.
00:42:21
Esta es la introducción, esta explicación inicial hace poco.
00:42:41
Pero bueno, para contar un poquillo. Si tenéis cualquier duda me vais interrumpiendo.
00:42:44
MQTT básicamente es un protocolo de comunicaciones que se hizo pensando en que diferentes dispositivos
00:42:48
MQTT básicamente es un protocolo de comunicaciones que se hizo pensando en que diferentes dispositivos,
00:43:00
en que diferentes máquinas pudieran hablarse entre sí.
00:43:11
No es para transmitir imágenes, no es para transmitir audio.
00:43:14
Es para transmitir pequeños mensajitos entre un dispositivo y otro.
00:43:17
Aunque, como veremos ahora, también se puede utilizar para comunicar un ordenador con otro a través del servidor.
00:43:24
Como es un protocolo muy pequeñito, muy sencillo, muy ligero, es perfecto para microcontroladores.
00:43:31
Y de hecho está teniendo un montón de difusión.
00:43:40
Este proyecto inicialmente lo desarrolló un empleado de IBM, pero luego se liberó como software libre.
00:43:44
El protocolo es libre y hay varios servidores que permiten utilizarlo sin tener que pagar ningún tipo de licencia.
00:43:53
Cuando nos enfrentamos a una infraestructura de MQTT tenemos que tener claro que hay como dos roles diferentes.
00:44:05
Pero antes de explicar eso sí que me gustaría comentaros cuál es el problema que soluciona MQTT.
00:44:16
Sin saber esto quizá no se entiende muy bien para qué vale.
00:44:24
¿Cuántos sabéis lo que significa compartir puertos?
00:44:41
¿Cuántos sabéis tener que compartir un puerto o abrir puertos en el router y demás?
00:44:45
¿Os suena el concepto?
00:44:52
Sí. El puerto es lo que va detrás de los dos puntitos.
00:44:57
Cuando pones una dirección IP pones dos puntos, por ejemplo, 80-80.
00:45:02
Ese es el puerto que quieres abrir en caso de que no estuviera abierto.
00:45:08
Os cuento un poquillo muy básico a nivel de redes.
00:45:14
Esto es la gran nube de internet.
00:45:19
Y una de las patitas que tiene lleva hasta el router de nuestra casa.
00:45:27
Y colgando del router de nuestra casa tenemos diferentes dispositivos colgando.
00:45:35
Tendremos un portátil, aquí tenemos un ordenador de sobremesa, aquí tenemos un móvil, aquí tenemos la Playstation.
00:45:41
Lo que sea. Es decir, hay varios dispositivos y cada uno tiene una dirección IP.
00:45:52
Estas direcciones IP, las que tenemos aquí, son direcciones privadas.
00:45:57
Mientras que el router, en su parte de arriba, tiene una dirección que es pública.
00:46:04
Una dirección IP pública.
00:46:11
¿Qué es lo que hacemos cuando navegamos?
00:46:13
Cuando yo navego, cuando estoy conectado con este portátil y quiero salir a internet.
00:46:16
Digamos que el router finge que es él quien está pidiendo esa dirección.
00:46:21
Por ejemplo, si yo me voy a conectar a un servidor de Google, que está aquí.
00:46:28
Google se le realiza una conexión, pero él internamente lo que percibe es que esa dirección, o sea, esa petición, sale de esta IP.
00:46:32
De la IP de nuestro ordenador y llega a Google.
00:46:41
Google cuando quiere responder con el resultado de la comunicación o de la consulta, le responde a mi router.
00:46:44
Y mi router, sin que nadie se entere, le manda esa petición al ordenador interno que lo había agendado.
00:46:50
Estamos como camuflados, estamos lo que se dice nateados por esta dirección del router.
00:46:57
Hasta aquí se entiende un poco...
00:47:03
Estoy simplificando muchísimo, pero a grandes rasgos es como funciona más o menos nuestra conexión a internet.
00:47:06
¿Se entiende más o menos por aquí?
00:47:12
Entonces, cuando nosotros somos los clientes, es decir, cuando yo soy el ordenador que solicita información a un servidor de internet, esta estrategia funciona perfectamente.
00:47:14
Porque digamos que cuando yo me conecto a una página web, yo lo que estoy haciendo es conectándome al puerto 443 de ese ordenador.
00:47:26
Que es el responsable de proporcionar, de servir páginas web.
00:47:35
Si quiero mandar un correo, pues me conectaré a Hotmail, por ejemplo.
00:47:38
Y Hotmail tendrá abierto el puerto 25.
00:47:43
Entonces me conectaré a ese otro ordenador desde aquí, al puerto 25.
00:47:46
Cuando soy yo el que inicia la comunicación, todo va perfecto.
00:47:51
¿Pero qué significa esto?
00:47:55
Pero ¿qué sucede si yo quiero, por ejemplo, montarme mi propio servidor web?
00:47:57
Este ordenador de sobremesa, resulta que monto un servidor web, por ejemplo, un Apache.
00:48:02
Expongo su puerto 443.
00:48:08
¿Y cómo hago?
00:48:10
Para que si yo, si me voy a casa de un amigo, cojo mi portátil y me voy a casa de un amigo.
00:48:11
¿Cómo hago para acceder a este informador?
00:48:16
¿Cómo la hago?
00:48:19
Bueno, pues la cuestión es que para poder hacer eso, para yo poder entrar a un ordenador que está protegido por este router.
00:48:20
Lo que tenemos que hacer es, en el ordenador que está protegido por este router.
00:48:28
Vamos a poner aquí un ordenador que está protegido por este router.
00:48:35
Y vamos a poner aquí un ordenador que está protegido por este router.
00:48:39
Y vamos a poner aquí un ordenador que está protegido por este router.
00:48:43
Lo que tenemos que hacer es, en el router.
00:48:45
Tenemos que exponer un puerto.
00:48:54
Un puerto, ¿no? Que se dice, ¿no?
00:48:57
Exactamente.
00:48:59
Tenemos que decirle a nuestro router, por la parte pública, por la parte que linda con internet, por así decirlo.
00:49:00
Tenemos que exponer el puerto 443.
00:49:06
De forma que yo la comunicación la realizo desde casa de mi amigo hasta este puerto.
00:49:09
E internamente, el router lo que va a hacer va a ser fingir que él responde.
00:49:16
Pero en realidad quien responde es el ordenador que está por detrás.
00:49:27
Es decir, da la cara por mí. Mi router da la cara por mí.
00:49:32
Y esto ya permite que yo, desde casa de quien sea, me pueda conectar a un ordenador que está dentro de mi red.
00:49:35
Bien hasta aquí, ¿no?
00:49:43
Una pregunta. Imagínate que tienes dos ordenadores con Apache y, por lo tanto, dos puertos 443.
00:49:45
¿Cómo sabe a qué página web de los dos ordenadores de tu casa acceder?
00:49:53
Solo conoces la IP pública del router, ¿no?
00:50:01
Tienes que cambiarlo. No puedes.
00:50:05
No puedes, ¿no? Solo puede haber un servidor dentro de la casa para que vaya directamente a ese, ¿no?
00:50:07
No, puedes tener dos. Dos distintos puertos.
00:50:13
Pero el puerto que se muestra de cara a internet tiene que ser diferente.
00:50:17
Por ejemplo, uno puede ser el 443 y otro el 1443.
00:50:21
Ah, vale, vale.
00:50:25
O el 443 y el 444, el que tú elijas.
00:50:27
Vale, vale.
00:50:30
Aunque luego internamente, este puerto de este ordenador sea el mismo que este puerto de este ordenador.
00:50:32
Una pregunta. Cuando decías que cuando se hace la comunicación desde dentro hacia afuera, no hace falta hacer esto.
00:50:38
Cuando Google responde a esa petición y vuelve al router, ¿cómo sabe a qué ordenador tiene que ir?
00:50:47
Porque el router es muy listo y cuando hace este proceso que se llama nateado, se apunta quién le había pedido qué cosa.
00:50:55
Entonces, cuando viene la respuesta de ese servidor externo y le llega al router, mira la tabla y dice, vale,
00:51:02
fulanito había pedido una conexión al puerto no sé cuál de otro ordenador y esta respuesta que me viene no es para mí,
00:51:10
sino que se la tengo que hacer llegar a fulanito que está detrás de mí.
00:51:16
Entonces, se la reenvío.
00:51:20
Disculpa, lo que pasa es que me entran dudas.
00:51:23
Y si hay dos ordenadores que están accediendo a Google, ¿por qué no se mezclan las cosas?
00:51:25
Bueno, hay varias cosas, pero fundamentalmente cuando un ordenador se conecta a otro,
00:51:32
esa conexión, este ordenador, el ordenador que se conecta, lanza un dado y sale un número entre el 1025 y el 65000.
00:51:38
Ese es el puerto de origen.
00:51:46
Por ejemplo, vamos a suponer que ha salido el 20000.
00:51:48
Y ese ordenador además tendrá una dirección IP.
00:51:51
Tendrá la dirección, por ejemplo, 100.
00:51:54
Si este otro ordenador también se conecta a Google, este ordenador tiene que tener por narices una IP diferente,
00:51:57
supongamos que tiene la 101, y tirará un dado y le saldrá el puerto 27813.
00:52:03
Entonces, aquí, en la tabla de routing de este router, se queda apuntado qué IP, con qué puerto de origen y a qué puerto de destino,
00:52:09
le pidió a qué otra IP.
00:52:22
De forma que según vayan llegando las respuestas, él sabe quién pidió qué
00:52:27
y es capaz de devolverle al ordenador de la red interna que corresponda la información.
00:52:33
Vale, gracias.
00:52:39
Él va guardando un registro de quién ha pedido qué.
00:52:40
Pero de cara a internet, sólo navega la IP de nuestro router.
00:52:44
Es como si nuestro router pidiera un montón de cosas a la vez.
00:52:48
Funciona como una especie de proxy.
00:52:51
Sí.
00:52:54
Sí.
00:52:55
Vale, entonces, con esto bien, ¿no?
00:52:58
De esta manera, abriendo un puerto, yo podría conseguir que mi ordenador, que está donde sea, pueda acceder a servicios, a puertos que están en mi casa.
00:53:01
Con esto surgen dos problemas fundamentales.
00:53:10
El primero es que resulta que nos estamos quedando sin internet.
00:53:15
Perdón, sin internet no es tan grave la cosa.
00:53:21
Nos estamos quedando sin IPs públicas.
00:53:23
Es decir, esto es internet, pero dentro de internet hay un pequeño trozo de internet que es nuestro operador.
00:53:28
Por ejemplo, yo soy de Pepefone.
00:53:37
Y Pepefone tendrá n-cientos de clientes con n-cientos de routers.
00:53:43
Entonces, ¿qué es lo que sucede?
00:53:53
Pues que ahora, normalmente, a nuestro router, a la parte externa de nuestro router, no le están dando una IP que sea válida para navegar por internet.
00:53:55
No le están dando una IP real, una IP pública.
00:54:04
Sino que Pepefone lo que hace es, tiene aquí una especie de proxy.
00:54:07
De forma que estos routers, por defecto, se conectan a ese proxy.
00:54:11
Y es este proxy el que navega por internet.
00:54:18
Y luego va a Google o a donde sea.
00:54:21
¿Qué es lo que ve Google?
00:54:25
Pues Google ve como que es este ordenador, esta IP la que está navegando.
00:54:27
No ve lo que hay por detrás.
00:54:32
Entonces, si yo, desde casa de mi vecina, quiero conectarme a mi ordenador, no puedo.
00:54:34
Porque este camino, que tendría que venir aquí y pasar por esta máquina para luego llegar a mi casa.
00:54:40
Aquí tendríamos que configurar una redirección de puertos, tendríamos que abrir el puerto.
00:54:49
Y esta máquina azul que he pintado aquí, no tenemos el control sobre ella.
00:54:53
Porque pertenece a Pepefone, Telefónica, Movistar o a quien sea que nos preste el servicio.
00:54:57
Entonces, lo de abrir puertos cada vez va a ser más complicado.
00:55:03
De hecho, algunas operadoras te cobran por darte una IP privada o pública.
00:55:10
Otras operadoras directamente no te dicen.
00:55:16
Y otras te la dan si le das un buen motivo para ello.
00:55:18
Este es un primer motivo por el cual lo de tener un servicio dentro de casa se complica.
00:55:22
El otro motivo, quizá un poco más importante, es que...
00:55:28
El otro gran motivo es que resulta que abrir puertos, aunque para los que estamos puestos en tecnología resulte un proceso relativamente sencillo,
00:55:41
pues hay gente que no le es fácil o no quiere hacerlo, no sabe las claves o le da miedo que se estropeen las cosas.
00:55:51
Con lo cual tiene difícil eso de permitir que alguien desde fuera de Internet pueda llegar a conectarse a su ordenador.
00:55:59
Además tiene ciertos problemas de seguridad en caso de que abramos los puertos.
00:56:06
No es inocuo del todo.
00:56:12
Entonces, cuando yo quiero comunicar diferentes dispositivos entre sí, esta era una opción.
00:56:15
El crearme un servidor y que yo, por ejemplo, que mis dispositivos se conecten a mi servidor
00:56:23
y desde ahí mandarles comandos de enciende el relé o toma una medida de temperatura o lo que sea, pues esa era una forma de hacerlo.
00:56:28
Y poco a poco, por estos dos motivos que os he contado, pues eso empieza a ser un poco más complicado.
00:56:35
Entonces, en este escenario es cuando cobra sentido la infraestructura que montamos cuando instalamos un servidor de MQTT.
00:56:41
O un broker de MQTT, como se dice.
00:56:50
Esto funciona de la siguiente manera.
00:56:53
Tenemos aquí nuestro Internet.
00:56:55
Aquí tenemos un dispositivo, un microcontrolador, por ejemplo, que está conectado de una manera X a Internet, no sea igual.
00:57:01
Aquí tenemos otro dispositivo, otro SP32, por ejemplo.
00:57:11
Y ambos supongamos que están protegidos por un router.
00:57:16
Por un router al cual ni tenemos la posibilidad de abrir puertos, ni sabemos qué IP tienen, ni nada de nada.
00:57:21
Digamos que esto está como oculto.
00:57:28
La cuestión es que, por el motivo que sea, yo lo que quiero hacer es que este microcontrolador es un sensor, por ejemplo,
00:57:30
y este de aquí es un actuador.
00:57:38
Es decir, uno, por ejemplo, tiene un sensor de temperatura y el otro tiene un relé.
00:57:42
Y queremos que, cuando este sensor detecte que la temperatura excede los no sé cuántos grados,
00:57:45
le mande una orden a este otro para que active el relé.
00:57:51
¿Bien? ¿Nos ponemos un poco en ese contexto?
00:57:55
Sí.
00:58:01
Vale.
00:58:02
Entonces, si tenemos en cuenta lo que he comentado antes, de que este router no está configurado para abrirle puerto
00:58:03
y este router tampoco está configurado para abrirle puerto,
00:58:10
esta comunicación, que voy a pintar aquí punteada, es imposible.
00:58:13
No se puede realizar.
00:58:19
Porque no hay forma de que uno pueda hablar con el otro si ninguno de sus routers está abriendo el puerto.
00:58:20
No se puede dar.
00:58:27
Entonces, ¿cuál es la solución?
00:58:29
Pues la solución es, dado que esa comunicación directa entre un dispositivo y otro no es posible,
00:58:31
lo que hacemos es, montamos colgando de internet y pasando por un router, una máquina que tenga una IP directamente privada,
00:58:37
aquí montamos un bróker de MQTT.
00:58:48
¿Vale?
00:59:00
Entonces, en este caso, este bróker sí que tiene una IP pública,
00:59:01
porque esto lo podemos montar en algún servidor de internet, un VPS que vale entre 5 y 10 euros al mes, por ejemplo.
00:59:06
Y entonces, como ya tenemos un dispositivo que tiene IP pública, si el dispositivo A se quiere comunicar con el dispositivo B,
00:59:17
el camino que realizamos ahora es este.
00:59:25
Es decir, yo mando la información, le llega a este, y este es capaz de hacersela llegar a este otro.
00:59:28
Entonces, toda la comunicación se realiza mediante un intercambiador, que es este de aquí.
00:59:35
Y entonces ahora ya, con este escenario, podemos realizar cualquier comunicación entre diferentes dispositivos
00:59:43
sin que nos influya la configuración de red de cada uno de ellos.
00:59:50
Alguno puede estar por red móvil, con 3G, con 4G, con 5G.
00:59:54
Otro puede ser con fibra, otro puede ser con ADSL, otro puede ser con lo que sea.
01:00:00
Mientras ambos tengan acceso a internet a este servidor de aquí, todos los dispositivos se podrán conectar entre sí.
01:00:05
¿Dudas hasta el momento?
01:00:15
¿Se entiende qué es lo que soluciona, qué problema soluciona el servidor de MQTT o el protocolo de MQTT?
01:00:24
Entonces, lo que nosotros os acabamos de instalar en el ordenador es precisamente ese broker de MQTT, ese servidor.
01:00:33
Cuando nosotros estemos en el aula, si esto lo queréis montar, pues al final en el aula tendremos, no sé, 30 alumnos.
01:00:40
¿Qué soléis tener? ¿Un ordenador por cada pareja? ¿Uno por cada tres? ¿Uno por alumno?
01:00:47
Dependiendo del centro, ¿no? Supongo.
01:00:56
Dependiendo del centro, sí. Yo tengo uno para cada uno.
01:00:58
Pues en ese caso, si tenemos 30 alumnos más el profesor, pues habrá 31 ordenadores.
01:01:04
Uno de los ordenadores será el MQTT y los otros ordenadores serán los clientes.
01:01:09
Como está en la misma red de aire local, todos podrán hablar, ¿vale?
01:01:15
Un cliente, otro cliente, otro cliente...
01:01:19
Todos podrán hablar con el ordenador que decidamos que es el que actúa como broker, ¿vale?
01:01:22
Que en este caso es el que acabáis de configurar, por ejemplo.
01:01:27
Y entonces, una vez que todos estén conectados al mismo broker, se podrán realizar conexiones de este cliente a ese cliente,
01:01:32
o de este cliente a ese cliente, o de este... bueno, cualquier camino.
01:01:40
Una pregunta. Cuando el sensor en el equipo A se comunica con el broker, ¿llega?
01:01:46
Pero esa información para que llegue al actuador, ¿es el actuador el que tiene que preguntar al broker?
01:01:57
¿No es el broker el que le envía la información al actuador?
01:02:04
Porque si no, volvería a pasar lo mismo que antes, ¿no?
01:02:08
Claro. Aquí, efectivamente, he omitido una información y es que en esta infraestructura, o sea, en Internet...
01:02:10
Internet es un sistema que funciona siempre, siempre, siempre, siempre con un paradigma que se llama cliente-servidor.
01:02:18
Hay un ordenador que tiene un puerto abierto y recibe conexiones y un ordenador que abre un puerto al azar,
01:02:24
se conecta a otro ordenador que tiene un puerto abierto y entonces realiza conexiones.
01:02:32
Está bien, ¿no?
01:02:37
Entonces, lo que sucede en este caso es que tanto el ordenador... perdón, tanto el dispositivo A como el dispositivo B
01:02:39
inician ellos, hacen una petición a este servidor y esa comunicación se queda abierta permanentemente.
01:02:48
Hay lo que se conoce como un socket, ¿vale? Que es una especie de cable virtual entre un dispositivo y otro dispositivo
01:02:55
y se queda abierto, ¿vale? De forma que cuando A manda algo que va dirigido a B, no es que B abra un puerto...
01:03:05
o sea, perdón, no es que el broker abra un puerto hacia B cuando A le ha mandado algo, sino que esa conexión ya está siempre abierta,
01:03:14
está siempre establecida y simplemente cuando A manda algo para B a través del broker, el broker simplemente manda
01:03:21
a través de esa conexión que ha establecido B la información.
01:03:30
No sé si me he explicado. Es que este quizá no es un concepto de TCPIP, más una pregunta de TCPIP que de lo que sería el MQTT en sí.
01:03:35
¿Sí? ¿Me he conseguido explicar?
01:03:48
Sí, sí, perfectamente.
01:03:51
Sí, sí.
01:03:53
Entonces, como os decía, en este modelo hay dos roles fundamentales.
01:03:58
El rol del broker, que es el que centraliza todas las comunicaciones, y el rol de los periféricos, los dispositivos que se conectan.
01:04:06
Lo tenéis apuntado.
01:04:20
Aquí lo tenemos. Serían broker por un lado, que es lo que aparece aquí como un servidor, y los clientes, que son los que se quieren comunicar en realidad como ellos.
01:04:25
El broker simplemente distribuye información.
01:04:34
Ahora, ¿cómo funciona cuando un dispositivo quiere mandar información a otro?
01:04:36
Bueno, pues no es algo directo, como podríamos esperar. No es como un correo electrónico que tú mandas una dirección de Pulanito a Meganito.
01:04:43
Sino que aquí lo que sucede es que estos clientes pueden estar configurados de dos formas diferentes.
01:04:53
Pueden estar configurados como publicador o como suscriptor.
01:05:03
Un publicador lo que hace es emitir mensajes.
01:05:15
Es decir, pues soy un sensor de temperatura, pues cada dos minutos voy a publicar mi temperatura.
01:05:20
Y se la publico al broker.
01:05:27
Llamando mi temperatura, hay 23 grados centígrados.
01:05:29
Y se lo manda el broker.
01:05:33
Este cliente no sabe en realidad si alguien le está escuchando o no.
01:05:35
Simplemente él, cada cinco minutos, cada tiempo que tenga programado, va a decir 23 grados, 23 grados, 22 grados, 23,5.
01:05:41
Y es el broker el que va a decidir si este mensaje le llega a este cliente, a este cliente, a este cliente o a todos ellos o a ninguno.
01:05:49
¿En función de qué? Pues en función de cuántos de estos clientes hayan decidido suscribirse a esa información en concreto.
01:06:00
El tema de la privacidad no es importante aquí.
01:06:12
Es decir, cuando tú publicas información, puede ser que esa información la escuche todo el mundo.
01:06:19
Todo el mundo que esté conectado a su servidor MQTT.
01:06:24
No hay forma de decir, yo esta información solo se la mando a este cliente porque es información sensible y no quiero que los demás lo escuchen.
01:06:27
Cuando tú publicas, publicas para todo aquel que se haya suscrito a tu información.
01:06:35
Esto es como las revistas hace unos años.
01:06:39
Tú pagabas una suscripción y cada vez que salía un nuevo número te llegaba en tu buzón.
01:06:43
Pues lo mismo. Exactamente es el mismo concepto.
01:06:47
Que estabas suscrito a cuatro revistas, pues según se publicaba información, se publicaba un nuevo número de cada una revista, a ti te llegaba tu buzón.
01:06:50
Esto es lo mismo.
01:06:58
Con la diferencia de que en mi concepto de revistas, sí que tenía que mandar una revista a cada buzón.
01:07:01
Y aquí el que publica, manda la revista, manda la información solo a un punto, al broker.
01:07:08
Y el broker es el responsable, es como el distribuidor.
01:07:15
Es el responsable de hacerle llegar ese mensaje, esos 23 grados, a quien sea que está suscrito.
01:07:18
Voy a parar un segundillo para que me digáis si encaja o no encaja, o si se ve bien, o si hay alguna cosa que no quede clara.
01:07:26
¿Sí? ¿Bien hasta aquí?
01:07:34
Vale. Sí.
01:07:41
Ah, vale.
01:07:45
Entonces, un ejemplo típico podría ser... Bueno, de hecho, en el manual lo hemos puesto de esta manera.
01:07:47
Podría ser un hotel.
01:07:57
En un hotel hay un montón de sensores y hay ciertos actuadores que son capaces de alterar el comportamiento de las cosas.
01:08:00
Aquí, por ejemplo, vamos a suponer que esto es una habitación de un hotel.
01:08:09
Y el broker y el servidor de ordenador de red están en la centralita o están en internet, da igual.
01:08:14
Entonces, por ejemplo, en una habitación podríamos encontrarnos con que tenemos un sensor de temperatura y tenemos un sistema de aire acondicionado.
01:08:22
Entonces, aquí los dispositivos que son sensores, generalmente, a no ser que sean sensores configurables, los dispositivos sensores son siempre publicadores.
01:08:30
Vale, por lo que comentaba.
01:08:43
Yo soy un sensor de temperatura, pues cada X tiempo yo voy indicando qué temperatura hay en tal habitación.
01:08:45
Ahora veremos cómo se decide la habitación en la que estamos o cómo se decide el nombre de la revista, por así decirlo, que estamos publicando, el nombre del tema.
01:08:51
Entonces, primero sucede eso. Un publicador manda una cierta información.
01:08:59
Y ahora podríamos tener diferentes roles de dispositivos que tendrían o que podrían estar suscritos.
01:09:05
El más evidente es el sistema de aire acondicionado de esa habitación.
01:09:12
Este sistema de aire acondicionado tiene que estar suscrito a esa temperatura de esa habitación porque en función de esa temperatura tiene que decidir con cuánta fuerza trabaja o si se activa o si se desactiva.
01:09:17
O si tiene que estar en modo verano o en modo invierno.
01:09:27
De forma que este sistema de aire acondicionado estaría suscrito a lo que mande este publicador, a lo que manda este sensor.
01:09:31
Y en función de esa información es capaz de decidir cómo se comporta.
01:09:40
A su vez, puede ser que a la dirección del hotel le interese llevar una estadística de cuánta energía, por ejemplo, gasta cada una de las habitaciones.
01:09:45
Entonces, en ese sentido, este actuador, que es el aire acondicionado, que es capaz de generar calor o frío, a lo mejor también publica información en otro canal diferente indicando a qué hora ha arrancado el compresor, cuánto rato ha estado funcionando, cuántos kilovatios ha consumido al día, etc.
01:09:57
Un dispositivo puede tener un rol exclusivamente de publicador o puede tener un rol exclusivamente de suscriptor o pueden mezclarse las cosas.
01:10:16
Como por ejemplo en este caso en el que el actuador este es inteligente y no solo recibe información sino que también es capaz de proporcionarla para estadísticas o para lo que sea.
01:10:25
¿Bien hasta aquí?
01:10:34
Vale. ¿Tienes...?
01:10:37
¿Perdón?
01:10:40
No, que había dicho que sí.
01:10:42
Ah, vale, vale.
01:10:44
Todo bien, todo bien.
01:10:46
Vale. ¿Más cosas que tenemos aquí?
01:10:49
Pues, por ejemplo, podríamos querer tener un móvil en el cual, si en vez de ser una habitación de hotel fuera nuestra casa, a lo mejor nos interesa que nuestro móvil sepa en todo momento qué temperatura hay.
01:10:52
De forma que nuestro móvil, mediante un cliente de MQTT, se puede suscribir también a este publicador.
01:11:06
Es más, si a ese móvil le queremos programar también acciones manuales, ese móvil, aparte de ser suscriptor de este sensor de temperatura, podría ser también publicador de información o de datos manuales, de control manual de este aire acondicionado.
01:11:12
Por ejemplo, enciéndete en modo verano y ponte a 21 grados.
01:11:28
Esa información llegaría al broker, el broker se la pasaría al aire acondicionado que está suscrito al topic de control de esta unidad, y cuando el móvil publicara información, el broker la llegaría a llegar para que funcionara.
01:11:32
Y por otro lado, tenemos aquí anotado el node de red, que es, por así decirlo, quien podría gestionar, por ejemplo, este entorno gráfico que ve el móvil o un entorno gráfico.
01:11:46
El móvil podría estar conectado directamente con un cliente de MQTT, pero podría, a lo mejor, conectarse directamente a una página web que proporciona un node de red y desde esa página web realizar las comunicaciones.
01:12:00
Es decir, una vez que tenemos montada esta infraestructura, podemos tener tantos sistemas de suscripción o de publicación como nos interese para resolver el problema con el que nos estamos enfrentando.
01:12:10
Bien, hasta aquí.
01:12:24
¿Alguna duda? Por el momento.
01:12:28
Vale. Bueno, pues hemos dicho que cuando un publicador envía información, puede ser que alguien se suscriba a esa información o puede ser que no.
01:12:31
¿En función de qué pasa esto? Bueno, pues cuando alguien publica, publica en lo que se denomina topic. Un topic o un tema, si lo queremos traducir al castellano.
01:12:51
Entonces, básicamente un topic es una palabra que determina qué tipo de información se va a publicar ahí.
01:13:02
Por ejemplo, si tenemos abierto el MQTT Explorer. ¿Tenéis esto?
01:13:11
¿Vale? Pues, por ejemplo, podéis probar, veis en el apartado de la derecha, pone publish.
01:13:18
Pues yo, por ejemplo, si quiero simular ser un sensor de temperatura, pues puedo poner temperatura aquí.
01:13:30
Y aquí elegir raw, aunque podríamos mandar también un JSON, ahora que ya sabemos lo que son.
01:13:37
Pero vamos a mandar un raw y voy a mandar un 23 y le voy a dar a publicar.
01:13:43
Fijaos que en la parte izquierda ha aparecido una asociación. Ha aparecido que temperatura vale 23.
01:13:50
Si yo ahora actualizo esa información, cojo un 25 y la publico, pues lo que había antes se machaca y ahora simplemente hay un 25.
01:13:59
¿Podéis probarlo, por favor?
01:14:09
Probadlo.
01:14:12
Si ahora quiero publicar humedad, pongo un 42, se crea un nuevo topic, un nuevo tema.
01:14:14
Entonces, ¿qué es lo que hace el MQTT Explorer?
01:14:27
Pues el MQTT Explorer lo que hace es, nos permite publicar en cualquier tema que se nos ocurra y a la vez está suscrito a todos los posibles temas que haya.
01:14:30
Por eso yo estoy viendo automáticamente en cuanto publico algo, por eso aparece aquí a la izquierda cualquier cosa según la publique.
01:14:41
¿Vale? ¿Ven hasta aquí?
01:14:52
Jorge, ¿puedes guardar el topic? Porque cuando hemos sustituido temperatura por humedad, para volver a escribir algo con temperatura lo tengo que volver a escribir o hay un histórico que yo pueda seleccionar un topic anterior.
01:14:55
Ah, puedes hacerle doble clic, copiarlo y aquí volver a pegarlo.
01:15:11
No tienes una forma de...
01:15:19
Ah, espera, a ver, sí.
01:15:23
Mira, cuando eleges un topic, aquí en la izquierda, ¿ves que cambia automáticamente a la derecha?
01:15:24
Sí.
01:15:37
¿Vale?
01:15:40
O sea, no es como un histórico... Bueno, el histórico lo tenemos por otro lado.
01:15:45
El histórico, por ejemplo, si yo voy a mandar temperaturas, voy a mandar, por ejemplo, un 23 y un 21 y un 33.
01:15:49
Aquí, en este pequeño icono que aparece cuando tengo marcada la temperatura, me aparece un gráfico de cómo ha evolucionado.
01:16:02
Y, de hecho, si le hago clic en la parte inferior de la pantalla...
01:16:10
Un segundito que me quito...
01:16:14
En la parte inferior de la pantalla aparece esa información, de forma que según yo voy mandando nuevos datos, eso se refleja incluso marcando los tiempos.
01:16:19
¿Vale? Pues a tal hora ha llegado tal valor, a tal hora tal otro valor...
01:16:30
¿Vale? ¿Bien con la pregunta?
01:16:38
Sí. Sí, gracias.
01:16:42
Vale.
01:16:44
Entonces, esto que estáis viendo ahora, cada uno en vuestra casa, es vuestro propio servidor.
01:16:46
Ahí se podría conectar, como no tenéis abierto el puerto, nadie va a poder escribir en este servidor MQTT que no esté en vuestra propia red.
01:16:51
Entonces, lo que vamos a hacer ahora, para poder mandarnos mensajes entre todos, es nos vamos a conectar a un servidor común.
01:17:00
¿Vale?
01:17:08
Entonces, os voy a pedir que le deis a Disconnect, por favor.
01:17:09
Y ahora le vais a dar al botón de MÁS.
01:17:13
Los que ya tengáis configurado el MQTT S2B, no hace falta que hagáis nada.
01:17:15
¿Vale? Pero para los que no tengáis esto hecho, pues le dais a MÁS y rellenáis la información tal y como la estáis viendo en la pantalla.
01:17:19
¿Y sigue la misma contraseña y todo que teníamos antes?
01:17:33
Sí, así es.
01:17:36
Y además me ha conectado fenomenal, o sea, qué bien.
01:17:37
Estupendo.
01:17:40
Jorge, no sé si es que es problema mío de visión, pero es que no veo...
01:17:47
¿No se pueden hacer las pantallas más grandes para visualizarlo?
01:17:51
Pues...
01:17:54
En general.
01:17:55
A ver, un segundito.
01:17:56
Yo ocupo toda la pantalla y no soy capaz de verlo.
01:17:57
Espera, voy a tratar de...
01:18:00
Temporalmente.
01:18:03
¿Qué tal ahí?
01:18:05
Sí, y si te quitas tu fo...
01:18:06
Ahí, gracias.
01:18:08
Esto, como comentaba, es...
01:18:20
Es texto libre, el que queráis.
01:18:22
Todo lo demás sí que tiene que estar tal cual aparece.
01:18:25
Conectado.
01:18:39
Fantástico.
01:18:41
¿Vale?
01:18:44
Conectado.
01:18:46
Fantástico.
01:18:48
Jorge, lo que la gente hace es que te hago una pregunta.
01:18:50
Para instalar el servidor en Windows, por ejemplo,
01:18:53
¿lo tienes escrito en alguna parte?
01:18:56
¿Está en alguna parte escrito?
01:18:58
No, es que ya te digo, es ir a mosquito.org, darle a descargar y siguiente, siguiente, siguiente.
01:19:00
Es que, Jorge, en los apuntes del tema 3 hace referencia a un anexo 3
01:19:06
que hace ese...
01:19:12
Que no lo he publicado, sí.
01:19:14
Que no lo has publicado, eso es.
01:19:16
La información que aparece ahí es de cómo securizar ese...
01:19:18
Lo importante es cómo securizar lo que aparece ahí.
01:19:23
Esta palabra no es relevante, pero estará en la documentación que os entregaré.
01:19:26
Para esta primera prueba que hemos hecho, para trabajar en el aula,
01:19:35
con lo que hemos hecho hoy es suficiente.
01:19:38
¿Vale?
01:19:41
¿Alguien no ha podido configurarlo todavía?
01:19:48
¿Puedo cerrar esta ventana?
01:19:56
Espera, espera un poquito.
01:20:02
Ah, vale.
01:20:03
Vale.
01:20:11
¿Vale?
01:20:41
¿Vale?
01:20:42
¿Vale?
01:20:43
Yo lo que pasa es que estoy intentando, creo que estoy conectado, pero no se ve nada.
01:20:44
Escribo, por ejemplo, temperatura o he creado un topic que era luminosidad y no veo yo que se actualice.
01:21:14
Incluso meto la temperatura y no aparece ahí.
01:21:21
Vale, déjame que lo compro después. ¿Puedo cerrar esta ventana para poder...?
01:21:26
Sí, yo ya lo tengo.
01:21:29
Vale. Voy a quitar Sound de nuevo aquí.
01:21:31
Vale, a ver. Veo un coche que hace vrum vrum.
01:21:44
Un Javier Uveda que está por ahí.
01:21:58
Un alumno que es igual a 1.
01:22:00
Vale. Alumnos, modesto, con temperatura 40.
01:22:03
Vale, Darío. Pablo, eres el que no podía, ¿verdad?
01:22:13
Me he muteado. Sí, yo no podía.
01:22:20
Yo veo en la parte de arriba que pone lo de MQTT sin dormir, o sea que entiendo que estoy.
01:22:24
De esta manera voy a escribir otra vez a ver si es que estoy haciendo algo raro.
01:22:31
Me meto ahí en donde pone Topic, debajo de Publish. Voy a poner Pablo.
01:22:36
Rao está puesto y aquí voy a poner Hola.
01:22:45
Publicar.
01:22:51
Ahí está.
01:22:53
Pues ahora sí.
01:22:55
Espérate que lo vea.
01:22:57
Ahí sí, pero a mí, a ver.
01:23:00
Hay que hacer algo para verlo yo en directo en la ventana que tengo yo porque no...
01:23:03
No, no. Ten en cuenta que solo se ve a la izquierda.
01:23:09
Pero es que no lo vi a la izquierda.
01:23:13
Veo, no sé si lo que han escrito otros o...
01:23:15
Y tú, Pablo, igual a Hola.
01:23:19
No, no. Es dinámico. Tú, Pablo, igual a Hola. ¿No lo ves?
01:23:21
Yo no.
01:23:27
En mi ventana no, en la tuya sí.
01:23:29
Pero...
01:23:31
¿Qué cuelga?
01:23:33
Espera, espera, espera. Ya sé lo que puede estar pasando.
01:23:35
Dale a desconectar.
01:23:37
Desconectar.
01:23:39
Y dale a avanzado.
01:23:41
Avanzado.
01:23:43
Dime qué líneas aparecen.
01:23:45
Pues en Topic está vacío. Bueno, sale una almohadilla.
01:23:47
Y también sale $6 barra almohadilla.
01:23:52
¿Le voy a borrar a esos dos?
01:23:58
No, no. A borrar no. Tiene que aparecerte tal y como lo tengo yo.
01:24:01
Me sale así pero en orden inverso.
01:24:06
Me sale primero la almohadilla y en la siguiente línea sale lo de $6 barra almohadilla.
01:24:08
No pasa nada. Debería estar bien.
01:24:18
Y en cubos a mí me parece 0, 0 en los dos y a ti te salía 0, 2.
01:24:20
A mí me sale un 0 en los dos.
01:24:27
Vale, pues haz una cosa. Borra el de la almohadilla.
01:24:31
El de la almohadilla. Lo borro. Vale.
01:24:36
Y ahora le damos a almohadilla, aquí arriba en Topic.
01:24:38
Topic.
01:24:41
Y elijas $2.
01:24:43
Y le das a añadir.
01:24:45
Y aquí $2. Añadir. Vale.
01:24:48
Y ahora le damos a Back y a Conectar.
01:24:53
A Back.
01:24:56
Lo voy a salvar primero, ¿no?
01:24:58
Y ahora Conectar.
01:25:01
Fijaos, por cierto, que las comunicaciones, los mensajes que se mandaron antes, han desaparecido.
01:25:04
Es decir, el broker no tiene memoria.
01:25:11
De primeras, en principio no tiene memoria.
01:25:16
Eso significa que si yo me desconecto del broker y luego quiero ver qué cosas se habían mandado antes de yo estar conectado o en la conexión anterior, ya no lo voy a poder tener.
01:25:18
Simplemente se va a ver lo nuevo que se manda desde el momento en el que yo me desconecto.
01:25:27
Por ejemplo, esta temperatura.
01:25:32
La que hubiera antes de yo conectarme, pues no la he perdido.
01:25:34
La información que estamos viendo aquí es del Explorer.
01:25:40
La mantiene el Explorer.
01:25:45
Exactamente, la mantiene el Explorer.
01:25:47
No es que esté en el server, no es que esté en el broker.
01:25:49
El Explorer nos hace el favor de conservarla ahí.
01:25:54
Es decir, todo lo que llegue, nos lo mantiene ahí.
01:25:57
Y tampoco se puede ver quién la ha enviado.
01:26:01
Solo ves la información.
01:26:04
Eso es.
01:26:07
No hay forma de saber quién ha enviado qué mensaje.
01:26:08
Bueno, en realidad sí, pero requeriría ver los logs del sistema, los logs del servidor MQTT.
01:26:13
O si lo pones en el propio mensaje, ¿no?
01:26:19
Claro.
01:26:22
Ahí lo suyo es, por ejemplo, que si queremos que los mensajes se autentifiquen, por así decirlo, de quién los ha mandado, ahí sí que sería interesante mandar un jotasón.
01:26:23
Mandas un jotasón y dices, pues, autor 2.jorge, temperatura 2.22.
01:26:33
Jorge, cualquiera puede publicar en cualquier topic, ¿no?
01:26:55
Porque veo que en mi nombre está publicando alguien por mí, no sé yo.
01:27:00
Sí.
01:27:05
Sí, efectivamente.
01:27:06
Aquí no hay...
01:27:07
O sea, yo os digo, no es un protocolo especialmente pensado para seguridad.
01:27:08
De hecho, la seguridad ya veis que es mínima.
01:27:12
Y la seguridad se basa básicamente en que quien quiera conectarse a este servidor tiene que saber un usuario y una clave, que en el caso del servidor sin dormir sí que existe, pero en una instalación por defecto no existe.
01:27:14
Entonces, sí, efectivamente, en un hotel, si todo va por MQTT y no hay comprobaciones de cifrado ni nada así, cualquiera podría hacer que en una habitación se pusiera la temperatura a tope o se pusiera la mínima.
01:27:28
Simplemente sabiendo en qué topic tener que escribir.
01:27:44
¿Esto se puede sniffar?
01:27:48
O sea, quiere decir, ¿se puede estar leyendo de la red en abierto?
01:27:50
Sí, sí, sí, claro.
01:27:53
Con Wireshark tienes un disector de MQTT.
01:27:55
¿Has dicho un qué?
01:28:03
¿Wireshark lo conoces?
01:28:05
Muy poco.
01:28:08
Lo he probado, pero por probarlo.
01:28:09
No tengo detalle, no soy experto.
01:28:11
Vale.
01:28:14
O sea, Wireshark básicamente es un sniffer de red que te permite analizar todo lo que sea que está pasando por la red.
01:28:15
Y un disector, digamos que lo que te permite es, de un protocolo en concreto, ser capaz de entender las cabeceras, entender la carga y pintártela bonita, por así decirlo.
01:28:20
¿Un traductor?
01:28:31
Un visualizador de información.
01:28:34
Es decir, tú cuando mandas un paquete por internet o con un servidor, aparecen muchos bytes seguidos.
01:28:37
Unos son las cabeceras, otros son información de estado, otras información no sé qué.
01:28:42
Y una pequeña parte solo es lo que se conoce como carga.
01:28:46
Es decir, en este caso, el JSON, este que está mandando al 1.24 o el OLA 2.
01:28:49
Entonces, localizar el OLA 2 dentro de toda la carga es lo que hace el disector.
01:28:55
Te lo pinta bien, por así decirlo.
01:29:02
Pero sí, sí.
01:29:05
Con una respuesta más corta, sí.
01:29:07
O sea, sí que puedes sniffar el tráfico.
01:29:10
Lo único que tienes que estar entre medias.
01:29:13
Es decir, tú, el ordenador que sniffa este tráfico, tienes que ser capaz de estar entre medias, de escuchar los mensajes que realmente se están publicando.
01:29:18
O sea, si tú eres el servidor de MQTT, entonces es fácil.
01:29:29
Si el servidor de MQTT está en otro lado, pues entonces ya tienes que andar con configuraciones de red un poco más complicadas o por mirroring o cosas así.
01:29:32
Vale. Bueno, ¿alguna duda?
01:29:40
Bueno, pues si os parece, son casi media.
01:29:52
Aprovechamos para hacer un descanso de 5 minutos y luego continuamos con lo que nos queda por ver de MQTT y configuramos una red para que pueda hablar con el equipo.
01:29:58
Pues nos vemos en 5 minutillos.
01:30:10
Muy bien.
01:30:14
Venga, hasta ahora.
01:30:15
Subtítulos realizados por la comunidad de Amara.org
01:30:39
Subtítulos realizados por la comunidad de Amara.org
01:31:09
Subtítulos realizados por la comunidad de Amara.org
01:31:39
Subtítulos realizados por la comunidad de Amara.org
01:32:09
Subtítulos realizados por la comunidad de Amara.org
01:32:39
Subtítulos realizados por la comunidad de Amara.org
01:33:09
Subtítulos realizados por la comunidad de Amara.org
01:33:39
Subtítulos realizados por la comunidad de Amara.org
01:34:09
Subtítulos realizados por la comunidad de Amara.org
01:34:39
Subtítulos realizados por la comunidad de Amara.org
01:35:09
Subtítulos realizados por la comunidad de Amara.org
01:35:39
Subtítulos realizados por la comunidad de Amara.org
01:36:09
Subtítulos realizados por la comunidad de Amara.org
01:36:39
Subtítulos realizados por la comunidad de Amara.org
01:37:09
Subtítulos realizados por la comunidad de Amara.org
01:37:39
Subtítulos realizados por la comunidad de Amara.org
01:38:09
Subtítulos realizados por la comunidad de Amara.org
01:38:39
Subtítulos realizados por la comunidad de Amara.org
01:39:09
Subtítulos realizados por la comunidad de Amara.org
01:39:39
Subtítulos realizados por la comunidad de Amara.org
01:40:09
Subtítulos realizados por la comunidad de Amara.org
01:40:39
Subtítulos realizados por la comunidad de Amara.org
01:41:09
Subtítulos realizados por la comunidad de Amara.org
01:41:39
Subtítulos realizados por la comunidad de Amara.org
01:42:09
Subtítulos realizados por la comunidad de Amara.org
01:42:39
Subtítulos realizados por la comunidad de Amara.org
01:43:09
Subtítulos realizados por la comunidad de Amara.org
01:43:39
Subtítulos realizados por la comunidad de Amara.org
01:44:09
Subtítulos realizados por la comunidad de Amara.org
01:44:39
Subtítulos realizados por la comunidad de Amara.org
01:45:09
Yo aquí me voy a crear una nueva pestaña que se llame MQTT por ejemplo.
01:45:40
Y ahora localizad por favor uno de los nodos que se llame MQTT IN.
01:45:51
Y lo sacamos.
01:46:04
¿Lo tenemos ya?
01:46:10
Entonces, aprovechando que tenemos dos servidores de MQTT a nuestra disposición, vamos a crear dos configuraciones.
01:46:16
Esto es una cosa que no os había contado. ¿Os acordáis que uno de los primeros días os hablé de estas pestañas y la de la rueda no llegué a decir nada de ella?
01:46:24
Sí, sí, nos quedamos tristísimos todos. Menos mal que ahora...
01:46:40
¿Verdad? Sí, sí, hubo gente que me escribió todo diciendo que estoy muy indignado.
01:46:43
Bueno, pues hoy vamos a solucionar eso. Ahora vamos a ver para qué vale esta ruedecita de los nodos de configuración.
01:46:47
Bueno, vamos a hacerle doble clic al nodo de MQTT IN que acabamos de crear.
01:46:55
Y entonces esto nos pide como dos cosas obligatorias.
01:47:02
Por un lado nos pide a qué topic queremos suscribirnos.
01:47:05
Y por ahora vamos a hacer como el MQTT Explorer. Por ahora vamos a elegir que queremos suscribirnos a Almohadilla.
01:47:09
Almohadilla significa cualquier cosa.
01:47:16
Aunque ya veremos que luego esto puede acotarse un poquito.
01:47:20
¿Me sale una cosa más que a ti? ¿Me sale una opción?
01:47:26
Puede ser que la nueva versión tenga alguna cosa y demás, pero lo podéis dejar sin tocar como viene por defecto.
01:47:30
Vale, en nombre vamos a configurar primero cada uno el servidor de Sendormir.
01:47:37
Y luego configuramos el propio que tenéis instalado.
01:47:44
Entonces en propio le podemos dar por ejemplo MQTT Sendormir.
01:47:47
Y aquí en Server tenemos que darle al lapicito.
01:47:57
Que aparece justo a la derecha.
01:48:02
Porque eso lo que nos va a permitir va a ser añadir un nuevo servidor de MQTT.
01:48:03
Y nos tiene que aparecer esta ventana.
01:48:08
Y aquí vamos a configurar los datos según los estoy poniendo yo.
01:48:11
MQTT Sendormir.
01:48:14
Servidor MQTT.Sendormir.net.
01:48:18
El puerto es el 11883.
01:48:22
Y el resto se queda igual.
01:48:27
Y en la pestaña de Security ahora os digo lo que hay que poner.
01:48:29
Bueno, voy a poner una ventana aparte para que quien vaya más adelantado pueda ir escribiéndolo.
01:48:32
MQTT Sendormir.net.
01:48:40
En Server.
01:48:46
El puerto es el mismo que está.
01:48:47
Y ya está por ahora.
01:48:55
Comparte Jorge, ya no vemos nada.
01:48:56
No estás compartiendo Jorge.
01:48:57
El usuario y la contraseña, ¿no?
01:49:00
¿Estáis viendo algo vosotros?
01:49:04
Pero vamos a ver si podemos comprar algo.
01:49:06
No, no voy a comprar nada.
01:49:11
¿Venís a ver?
01:49:15
No.
01:49:16
No, no.
01:49:17
¿Venís a ver?
01:49:18
No, no, no.
01:49:19
¿Venís a ver?
01:49:20
No.
01:49:21
No, no, no, no.
01:49:22
No, no, no.
01:49:23
¿Estáis viendo algo vosotros?
01:49:24
Perdonad.
01:49:25
No veo nada.
01:49:26
No.
01:49:27
No se ve nada.
01:49:28
Pues...
01:49:30
Se ha quedado negro.
01:49:31
Se ha quedado negro, sí.
01:49:32
Hace tres minutos que no compartes.
01:49:34
Ajá.
01:49:36
Vale.
01:49:37
Pues no ha sido...
01:49:38
No ha sido de atreves.
01:49:39
Entonces, claro, no habéis visto como ha llegado a ningún sitio.
01:49:46
Repito el procedimiento.
01:49:49
¿Vale?
01:49:52
Entonces, hemos creado nuestro nodo de MQTTin.
01:49:53
Aquí, en nombre, MQTTin sin dormir.
01:49:57
Aquí, en servidor, le hemos dado el lápiz.
01:50:02
Y en el lápiz configuramos en la pestaña de conexión, tal y como lo tenéis aquí.
01:50:05
Y en la pestaña de security, donde pone un surname y password, vamos a poner estas dos cosas que os he dejado aquí.
01:50:10
En un bloc de notas.
01:50:18
Jorge, ¿puedes volver hacia atrás?
01:50:24
Es que yo me he perdido ahí cuando has cambiado de pantalla.
01:50:27
Sí, sí, te voy guiando.
01:50:31
¿Vale?
01:50:33
Has creado el...
01:50:34
Lo digo porque puedo ver gente que esté copiando justo esta parte.
01:50:35
¿Has creado el nodo MQTTin?
01:50:38
¿Lo has sacado al aray de trabajo?
01:50:40
Sí.
01:50:43
Eso sí.
01:50:44
Vale.
01:50:45
Dale doble clic.
01:50:46
Sí.
01:50:47
Y ahora, abajo en el nombre, pues pones MQTT sin dormir.
01:50:49
Sí.
01:50:51
Y arriba haces clic en el lápiz.
01:50:52
¿Pero en el lápiz donde pone server?
01:50:57
Eso es.
01:50:59
Ah, vale.
01:51:00
Vale, vale.
01:51:01
Y ahí tienes que llegar a esta pantalla.
01:51:02
Voy a llegar a esta pantalla, gracias.
01:51:04
Y el...
01:51:22
Sí.
01:51:23
El usuario y la contraseña hay que meterlo en security, ¿no?
01:51:24
Exactamente.
01:51:27
A mí en la pantalla que tienes puesta me sale en donde pone user TLS.
01:51:31
Otro check que pone connect.
01:51:39
Justamente encima pone connect automáticamente.
01:51:41
En inglés.
01:51:44
Ah, ¿puedes chequear ese?
01:51:45
Sí.
01:51:47
Es que ahí a ti no te sale ese, no sé.
01:51:48
No.
01:51:50
No, porque entiendo que lo hace por defecto a mí.
01:51:51
O sea, se conecta por defecto.
01:51:54
Que es lo que tiene sentido, vamos.
01:51:58
Vale.
01:52:05
Una vez que lo tengamos, le damos al botón de salvar que aparecerá aquí arriba a la derecha.
01:52:06
¿A dónde?
01:52:11
Aquí.
01:52:12
A mí me aparece update, pero porque yo lo tenía creado.
01:52:13
Entonces tienes que darle a salvar.
01:52:15
Debería aparecer update, o sea, ir.
01:52:18
ADD pone como añadir.
01:52:20
Añadir, perdón.
01:52:22
ADD.
01:52:23
Vale, lo tenemos.
01:52:28
Entonces, una vez que le demos a añadir, aquí le daremos a done.
01:52:31
Y cuando despleguemos, no hace falta hacer nada más, cuando despleguemos,
01:52:36
deberíamos, esto nos tiene que sonar, ¿verdad?
01:52:41
Este cuadradito que aparece abajo a la derecha.
01:52:43
¿Qué pone? Disconnected.
01:52:49
A mí me pone connecting.
01:52:51
A mí me pone connecting también.
01:52:53
Connecting.
01:52:55
Y ahora sí, todo va bien.
01:52:59
Tiene que pasar a verde y decir conectado.
01:53:00
Mientras conecta o no, os voy a pedir que saquéis un debug completo.
01:53:03
Y que unáis una cosa con la otra y desplegamos.
01:53:13
¿Vale?
01:53:23
Y que unáis una cosa con la otra y desplegamos.
01:53:25
Algo debo tener mal.
01:53:33
Comparte, Jorge, que te digo lo que tienes mal.
01:53:48
¿He dejado de compartir otra vez?
01:53:51
No, de broma, de broma, era para...
01:53:54
Yo te ayudo.
01:53:59
Ah, que se me ha borrado, que no he puesto el password y contraseña.
01:54:04
¿Podéis volver a dejar la password y contraseña?
01:54:13
Sí.
01:54:17
Esto en principio lo tenéis que tener en el PDF.
01:54:21
En el PDF con la documentación del sistema tiene que aparecer.
01:54:27
A mí me sale todavía connecting, qué raro que tarde tanto.
01:54:32
Mira ver el usuario y la contraseña.
01:54:36
Y mira ver el puerto, que esté bien cambiado, que sea el 11883.
01:54:39
¿Tienes alguna de esas cosas, Marcos?
01:54:51
Estoy mirando, porque sí, tenía el porso, estaba mal hace rato, pero no sé.
01:54:54
Voy a mirar un poco más, un momentito, a ver si es...
01:55:00
Voy a poner la contraseña otra vez, por si acaso.
01:55:13
Voy a poner la contraseña otra vez, por si acaso.
01:55:16
¿Puedes poner la configuración del MQTT del servidor?
01:55:19
Porque a mí no me deja tampoco.
01:55:25
Ahí la tienes.
01:55:29
Ya está.
01:55:46
¿Qué era en tu caso, Marcos?
01:55:48
Posiblemente sea la contraseña, porque la he vuelto a escribir y como no se puede ver la contraseña, no tiene nada para que te la visualice.
01:55:50
A mí me pone, cuando le voy a dar al deploy, me pone que contienes algunos nodos que no están correctamente configurados.
01:56:04
MQTT y...
01:56:13
¿Puede ser que no hayas puesto aquí una almohadilla en topic?
01:56:18
Ah, sí.
01:56:25
Pon la almohadilla y dale a Done.
01:56:29
Ahora sí.
01:56:36
Vale, perfecto.
01:56:38
Entonces, antes de empezar a leer cosillas propias de MQTT, sí que quería comentaros esto.
01:56:39
Lo que acabo de hacer yo aquí, cuando le he dado al lapicito, ha sido crear un nodo de configuración.
01:56:46
Estos nodos de configuración son especiales, en tanto a que no salen en la lista de la izquierda, sino que son nodos que se guardan en esta pestaña especial aquí a la derecha, que son los nodos de configuración.
01:56:52
Y tampoco se pueden arrastrar, no es una cosa que yo pueda utilizar.
01:57:05
Simplemente son nodos que están ahí, que guardan información de forma permanente, por ejemplo, para conexión de base de datos, para conexión a servidores de graficado de estadísticas, de MQTT, de...
01:57:08
Bueno, cientos de cosas que necesitan una configuración permanente y que no queremos hacer con variables, sino que queremos que estén permanentemente ahí.
01:57:22
Entonces, cuando yo le doy click a este MQTT sin dormir, se me despliega directamente la misma ventana que aparecía cuando yo hacía click en el lápiz de editar una conexión.
01:57:29
Ahora lo que haremos será crear otro nodo de configuración, cuando hayamos comprobado que esto funciona, para que se genere un nodo de configuración para yo conectarme a mi servidor propio, al que instalamos antes cada uno en su ordenador.
01:57:42
Bien hasta aquí con lo que es esta parte de la derecha de los nodos de configuración.
01:57:56
Por cierto, el numerito que aparece a la derecha nos indica cuántas veces está siendo utilizado ese nodo de configuración.
01:58:02
Si yo me borro este MQTT sin dormir, aquí aparecería un cero, como que no está siendo utilizado.
01:58:14
Pues vamos a mostrar la ventana de depuración, el debug, y ahora fijaos que si yo cojo con el MQTT Explorer y publico algo, por ejemplo, force igual a hola y le doy a publicar,
01:58:20
¿veis lo que aparece en mi MQTT?
01:58:50
Y en el mío también.
01:58:53
¿Por qué os ha parecido? Bueno, pues porque este nodo de MQTT está suscrito a cualquier cosa, eso que significa la almohadilla.
01:59:00
Aquí veo que Pablo acaba de publicar información del piso 3, habitación, luminosidad, y como payload ha metido un 12 en cadena de texto.
01:59:09
Darío ha publicado también hola.
01:59:19
Bueno, vais viendo diferentes cosas que se publican.
01:59:21
Cualquier cosa que publiquéis con el MQTT Explorer lo vais a poder ver aquí en la ventana de depuración, porque lo que hace este nodo es sacar lo que reciba del topic.
01:59:24
Y del servidor, del broker al que nos hemos conectado, directamente al nodo de depuración.
01:59:38
Ahí tenemos a Marcos, que aquí estás.
01:59:45
Jorge, yo no he podido conectarme todavía.
01:59:54
Compárteme la pantalla.
02:00:00
Y mientras, cuéntame Darío.
02:00:02
No me devuelve como un objeto como aquí, sino directamente me devuelve la palabra que yo he escrito.
02:00:04
Ah, pero porque en el nodo de configuración, perdón, en el nodo de debug, no has puesto el complete message.
02:00:11
Aquí hay un alumno que se quiere dar de baja.
02:00:25
¿Ves mi pantalla, Jorge?
02:00:28
A ver...
02:00:31
Era la temperatura.
02:00:33
Ah, vale.
02:00:35
Pues no estoy seguro si la estoy oyendo.
02:00:37
No, no la veo.
02:00:40
No, aquí está.
02:00:42
Le has hecho click cuando le dices qué quieres compartir.
02:00:53
Te pregunta dos veces qué quieres compartir.
02:00:57
Una abajo y otra el navegador te lo pregunta arriba.
02:00:59
Tienes que contestar ambas.
02:01:02
Jorge, perdona, yo no veo el área de debug.
02:01:13
No estoy capaz de verla.
02:01:17
No sé de qué he hecho que no lo veo.
02:01:19
Ah, ahora te lo enseño.
02:01:21
Mira, te falta el puerto.
02:01:23
El puerto está mal.
02:01:24
Es el 11883.
02:01:25
Y vete a Security.
02:01:30
Y ya de paso comprobamos.
02:01:31
Vale, es el dormir.net.
02:01:34
Y ahí está.
02:01:36
Y ya de paso comprobamos.
02:01:37
Vale, es el dormir.net.
02:01:40
Y ahí supongo que abajo pondrá espacio Mistela, ¿no?
02:01:41
Mistela con C.
02:01:45
Vale, actualizar.
02:01:54
Hay que hacer un deploy.
02:01:55
¿Dónde estás?
02:02:01
Aquí ya por ahí.
02:02:02
Sí, estaba por ahí.
02:02:04
Vale, pues dale otra vez doble clic ahí.
02:02:08
Algo no está bien estructurado.
02:02:11
Ah, porque el servidor es mqtt.sindormir.net.
02:02:13
No, no, no, no hay.
02:02:18
En server.
02:02:19
Eso es.
02:02:22
Vamos a ver ahora.
02:02:23
Clicamos, clicamos.
02:02:26
Perfecto.
02:02:27
Y para ver la depuración hay que darle a la cucaracha que
02:02:30
aparece arriba a la derecha.
02:02:34
Ahí.
02:02:36
Y ahí sí publicamos cualquier cosa.
02:02:38
Ahí, por ejemplo, Modesto está publicando la temperatura.
02:02:40
Gracias, Jorge.
02:02:47
Nada.
02:02:49
Vale, ¿quién me decía que no le funcionaba la depuración?
02:02:51
Carlos, el problema que tengo es que no estoy capaz de la
02:02:56
cucaracha.
02:02:59
Ah, hay un tirador.
02:03:01
Mira, no sé si nos lo puede enseñar Ángel,
02:03:03
que está en la pantalla.
02:03:05
Coge del tirador hacia la izquierda o bien a la flechita
02:03:07
de arriba a la derecha, que es un triángulo, ese lo despegas y
02:03:11
ahí te tiene que aparecer también.
02:03:15
Perfecto, gracias, Ángel.
02:03:17
Vale, vale, gracias.
02:03:21
Estupendo.
02:03:23
Pues lo voy a compartir yo.
02:03:24
Vale.
02:03:36
Entonces, bueno, bien con lo que hace este nodo de MQTT-IN.
02:03:38
MQTT-IN, como veis, es un nodo que solo tiene un tirador de
02:03:45
salida, con lo cual sabemos que lo que va a hacer es
02:03:49
proporcionar información de lo que llegue al MQTT, de lo que
02:03:51
sea a lo que estamos suscritos.
02:03:56
Vale, sí, ahora como veo, podemos utilizar el MQTT como
02:04:00
chat, en lugar del chat del Teams, que seguro que funciona
02:04:06
mejor.
02:04:10
Vale.
02:04:13
Entonces, ahora mismo, como decía,
02:04:14
estábamos suscritos a un topic en concreto en un servidor en
02:04:18
concreto.
02:04:22
¿Cómo hacemos para publicar?
02:04:26
Bueno, pues vamos a hacer una cosa.
02:04:28
Cada uno se va a suscribir.
02:04:30
Tenemos nombres duplicados, ¿verdad?
02:04:33
A ver.
02:04:35
Había varios Javieres.
02:04:38
Bueno, vamos a hacerlo con siglas, que creo que funciona
02:04:47
bien.
02:04:50
Entonces, os voy a pedir que en vez de suscribiros,
02:04:51
editamos otra vez el nodo de MQTT sin dormir,
02:04:57
y en vez de suscribirnos a almohadilla,
02:05:02
nos vamos a suscribir cada uno a sus iniciales.
02:05:04
Vale, sin más.
02:05:11
Y le damos a despegar.
02:05:12
Vale, ¿bien hasta aquí?
02:05:20
No, yo, ¿en dónde está el que no encuentro dónde estaba la
02:05:24
almohadilla?
02:05:27
A ver, pues.
02:05:28
Sí, doble clic en el MQTT in.
02:05:30
Sí, ahí le voy a dar.
02:05:33
Y donde pone topic, ahí tendrías que tener una almohadilla,
02:05:34
pues escribe tus iniciales.
02:05:37
Vale.
02:05:39
Es que creía que era en el nodo de configuración,
02:05:40
que me había metido ahí.
02:05:42
Ah.
02:05:43
No, el nodo de configuración, una vez que ya se haya
02:05:44
conectado, ya sabemos que está bien,
02:05:46
no hay que tocar nunca más.
02:05:48
Vale.
02:05:49
He hecho ese cambio, he despegado y ahora me parece
02:05:51
desconectado.
02:05:54
No puede ser.
02:05:57
No puede ser ese cambio, no puedo hacer que se desconecte
02:06:00
el servidor.
02:06:02
Arrastra el nodo y dale otra vez a despegar.
02:06:07
He vuelto a poner la almohadilla y se ha vuelto a conectar.
02:06:17
Ahora le pongo mis iniciales, MGR.
02:06:20
Despego y me aparece desconectado.
02:06:26
¿Comparto pantalla?
02:06:29
Sí, por favor.
02:06:31
Eso no puede pasar.
02:06:32
¿Podría pasar eso porque hubiera otro que hubiese quedado
02:06:33
el mismo topic con las mismas iniciales?
02:06:35
No.
02:06:37
No, no, porque lo que comentaba antes,
02:06:38
varios dispositivos pueden estar suscritos al mismo topic.
02:06:41
Aquí solo estamos escribiendo, ni siquiera estamos enviando.
02:06:44
Es muy raro.
02:06:47
De verdad.
02:06:48
Vale.
02:06:49
Un segundo.
02:06:50
No, de redes.
02:06:51
Compartir.
02:06:54
Vale.
02:06:55
¿Estás viendo la pantalla?
02:06:56
Sí.
02:06:57
Vale.
02:06:58
Vale, MGR.
02:06:59
Espera, espera, espera.
02:07:00
Espera.
02:07:01
Quita SMQTT Out que tienes ahí.
02:07:02
Sí, no le afecta.
02:07:05
Está funcionando.
02:07:06
Es que lo he conectado con mi local.
02:07:07
Ah, vale, vale, vale.
02:07:10
SMQTT va a probar.
02:07:11
Si quieres lo quito.
02:07:12
Vale.
02:07:13
Pero no le afecta.
02:07:14
Desconecta el cable.
02:07:15
Desconecta el cable, por si acaso.
02:07:16
Vale.
02:07:22
Entonces, si yo ahora le pongo aquí.
02:07:23
Despliega primero por si fuera el cable.
02:07:30
Armadilla.
02:07:33
Vale, le doy deploy.
02:07:35
Y está conectando, ¿vale?
02:07:37
Se conecta y funciona.
02:07:39
Si yo ahora le hago lo mismo, le quito la armadilla,
02:07:41
pongo MGR.
02:07:44
Down.
02:07:47
Deploy.
02:07:49
Me aparece desconectado.
02:07:51
Es la cosa más extrañísima.
02:07:53
No le veo ningún sentido.
02:07:56
A ver, dale.
02:07:58
¿Puedes ampliar la ventana para que sea un poco más grande?
02:08:00
¿Puede ser?
02:08:02
Sí.
02:08:03
Vale.
02:08:04
Vale, dale otra vez de nuevo a MGR.
02:08:06
Vale.
02:08:12
Y dale, dale.
02:08:13
No sé.
02:08:14
Es que es muy raro.
02:08:15
Dale click al lápiz para ver el nodo de configuración.
02:08:16
Si no, le pongo otra cosa que no sea MGR.
02:08:22
A ver si no le va a gustar.
02:08:24
No lo sé.
02:08:25
Voy a poner yo MGR de aquí.
02:08:30
Dale Security.
02:08:32
No me importa nada.
02:08:34
Es que si se ha conectado, no puede ver.
02:08:35
Si se conecta.
02:08:37
Si yo le pongo aquí la armadilla.
02:08:38
Sí, sí.
02:08:41
Ahí sí que lo hace.
02:08:42
Sí, pero cuando ha entrado.
02:08:43
Conectado.
02:08:46
Y si enviáis algún mensaje, pues se verá que está sujeto a la armadilla.
02:08:47
Que le dé Update.
02:08:51
O sea, una vez que ha entrado en la pestaña donde está el lapicero, ahí que dé actualizar.
02:08:53
Sí, pero yo creo que no le ha dado actualizar porque no habíamos hecho ningún cambio.
02:09:00
En vez de llamarle MGR, pon.
02:09:04
Es que me ha pasado también.
02:09:07
¿Ah, sí?
02:09:10
Sí.
02:09:11
Tienes que actualizar esa pantalla también.
02:09:12
Ah, pues dale al lapicero.
02:09:14
Dale al lapic.
02:09:15
Dale Update.
02:09:17
Y ahora dale a Donna otra vez.
02:09:18
Y Deploy.
02:09:20
Pero esto sería un fallo de...
02:09:22
Míralo.
02:09:23
¡Guau!
02:09:24
Pues esto es un fallo de Node-RED de la versión que estáis utilizando.
02:09:27
Esto no debería pasar.
02:09:29
Voy a hacer la prueba contraria.
02:09:32
¡Ah!
02:09:35
Curioso.
02:09:37
Curioso.
02:09:40
Correcto.
02:09:41
Muy curioso.
02:09:42
Cuando cambias el topic, hay que actualizar el servidor.
02:09:43
No tiene ningún sentido.
02:09:45
Ah, pues buen descubrimiento.
02:09:50
Muchas gracias.
02:09:52
¿Dejo de compartir?
02:09:54
Sí.
02:09:55
Sí, sí.
02:09:56
Vale.
02:10:01
Vale.
02:10:03
Vale.
02:10:09
Bueno, pues una cosa rara.
02:10:10
Vale.
02:10:12
Entonces, una vez que tengo ya mi nodo que está suscrito al topic con mis iniciales,
02:10:13
lo que voy a hacer va a ser buscar el mqtt-out.
02:10:18
Vale.
02:10:25
Y fijaos que este nodo, al contrario que el mqtt-in, espera que le llegue una entrada.
02:10:26
Así que vamos a coger un inject, tal cual.
02:10:31
Y sin modificarlo, que ya sabemos que esto lo que va a hacer va a ser mandar en payload un timestamp
02:10:34
y en topic nada, que ahora veremos para qué nos puede dar el topic, y lo vamos a dejar tal cual.
02:10:39
Y entonces, como veis, este nodo aparece con un error de configuración porque todavía no le hemos dicho
02:10:45
cuál es el nodo de configuración que tiene que utilizar.
02:10:51
De forma que hacemos doble clic y hay que indicarle dos cosas.
02:10:54
Primero, cuál es el servidor que queremos utilizar.
02:10:58
Por lo que hemos configurado uno, la mayoría de nosotros, elegimos el de Sendormir.
02:11:01
Y en el topic vamos a publicar en el mismo topic el en el cual nos suscribimos anteriormente.
02:11:05
Le decimos topic.java, le damos a Done, le damos a Despegar.
02:11:12
Y ahora en principio, si todo va bien, cuando yo le dé al timestamp,
02:11:19
este mensaje que acaba de aparecer aquí por MSG, en realidad no lo parece,
02:11:25
pero este mensaje ha viajado hasta Holanda y ha vuelto antes de salir por este segundo cablecito.
02:11:31
Porque el servidor de Sendormir de MQTT está en Holanda.
02:11:39
No, perdón, este está en Alemania, al norte de Alemania.
02:11:45
Poco más lejos todavía.
02:11:50
¿A alguien no le ha funcionado este camino completo de emisión desde MQTT out y recepción desde MQTT in que va a un debug?
02:11:55
Antes de continuar, vamos a dejar configurado, para que ya lo tengáis funcional, el otro nodo de MQTT.
02:12:12
Lo que voy a pediros es que agrupéis esto, lo copiéis y lo peguéis un poquito más abajo.
02:12:22
La parte de arriba la vamos a dejar tal cual, porque esta es la que hace uso del servidor de Sendormir.
02:12:39
Y la parte de abajo la vamos a utilizar para comprobar que el MQTT de nuestro ordenador, el que hemos instalado antes, funciona.
02:12:45
Esto para Carlos que no lo tiene funcionando, configurátelo si quieres para cuando esté correctamente instalado y luego ya trataremos de arreglártelo.
02:12:52
Nos vamos aquí, hacemos doble clic en el MQTT de abajo.
02:13:06
Y ahí en servidor vamos a elegir esta opción, añadir un nuevo broker de MQTT.
02:13:12
Y a continuación le damos al lápiz y esperamos aquí.
02:13:23
¿Estáis aquí?
02:13:30
Sí.
02:13:36
Pues entonces, en nombre podemos poner mi ordenador, porque este va a ser el servidor MQTT que está alojado en mi propio ordenador.
02:13:38
Servidor, pues localhost y todo lo demás ya está bien.
02:13:47
El puerto ya está bien, la seguridad no está habilitada con lo cual no nos va a pedir ni usuario ni contraseña.
02:13:53
No utilizamos TLS, el protocolo está correcto, con lo cual en cuanto lo tengamos le damos a añadir.
02:13:59
Es decir, solo hay que configurar el nombre y el servidor.
02:14:04
Jorge, nos apareció otra versión que pone conectar automáticamente, usar TLS. ¿Cuál marcamos?
02:14:08
La de conectar automáticamente marcada, usar TLS desmarcada.
02:14:16
Gracias.
02:14:22
Que debería ser el por defecto, ¿verdad?
02:14:25
Es como venían, si no tocamos nada.
02:14:28
Pues nada, lo tenemos, le damos a añadir.
02:14:34
Le damos a Done.
02:14:37
Y ahora, el nodo en sí, este nodo de abajo, de MQTT Out de abajo, perdón, In de abajo, está configurado para utilizar mi ordenador.
02:14:39
El nombre tendremos que cambiarlo para que quede claro que este es el MQTT local.
02:14:49
Aunque luego ya veremos que aquí normalmente no se pone esto, sino el mensaje que nos llega, pero ya lo cambiaremos.
02:14:54
¿Puedes repetir en dónde te has metido? ¿En cuáles hay que cambiarle el nombre, dices?
02:15:02
En el de abajo, en el MQTT de abajo, en el MQTT Out, In de abajo.
02:15:07
Y aquí cambiamos esto también, y nos aseguramos de haber elegido el servidor, el de mi ordenador.
02:15:14
¿Dónde has metido el nuevo broker? ¿Ha sido en el de arriba o en el de abajo?
02:15:23
En el de abajo, en el de abajo.
02:15:27
Ah, todo lo hemos hecho en el de abajo ahora, ¿no? Vale, vale.
02:15:29
Eso es.
02:15:31
Y por último, me queda por configurar el nodo de MQTT In de abajo del todo también.
02:15:33
Entonces ahora ya no queremos conectarnos al servidor de SinDormir, sino queremos conectarnos al de mi ordenador.
02:15:42
Entonces ahora, si todo va bien, después de desplegar...
02:15:50
Vale, en mi caso no se conecta. A ver un segundo.
02:15:56
Para mí sí que me conecta, ¿eh?
02:16:02
Sí, debería.
02:16:04
A mí me sigue pidiendo actualizar el servidor en ambos casos.
02:16:13
¿Que te sigue pidiendo qué, perdón?
02:16:21
Actualizar el servidor, tanto en el In como en el Out.
02:16:23
Como he cambiado, me pide actualizar. No sé por qué.
02:16:26
¿Pero qué significa actualizar?
02:16:31
Pues, lo que he hecho antes, en la pantalla de...
02:16:33
Dentro de la configuración, el server, me tengo que abrir con el lápiz y darle a Update.
02:16:37
Esto debe ser un fallo del nodo de red. ¿En qué versión...? ¿Puedes mirar qué versión estás?
02:16:43
Aquí lo tiene que poner.
02:16:49
No le pasa a nadie más, porque igual es mi equipo, ¿eh?
02:16:50
Pero le pasaba también a Carlos, creo.
02:16:53
Ah, vale.
02:16:55
A mí no se me conecta aquí en local ahora.
02:16:56
A mí no me pasa, a mí me funciona bien.
02:16:58
Me pone conectando, o sea, en color amarillo.
02:17:00
Vale, como a mí, ¿verdad?
02:17:02
Sí.
02:17:04
Vale, a mí esto me pasa porque yo, en mi MQTT local, sí que le puse claves.
02:17:05
Entonces, yo tengo que venir aquí, configurarlo, y espero que le pusiera la misma clave.
02:17:11
Pues, parece que no.
02:17:19
Bueno, no importa. Vamos a utilizar por todo el de...
02:17:21
De la versión 3.0.2.
02:17:25
¿La 3.0.2? Vale.
02:17:28
¿Alguien más? Bueno, todos deberían tener la 3.0.2.
02:17:31
¿La 3.0.3?
02:17:34
¿La 3.0.3?
02:17:35
¿La 3.0.3?
02:17:36
¿La 3.0.3?
02:17:37
¿La 3.0.3?
02:17:38
¿La 3.0.3?
02:17:39
¿La 3.0.3?
02:17:40
¿La 3.0.3?
02:17:41
¿La 3.0.3?
02:17:42
¿La 3.0.3?
02:17:43
¿La 3.0.3?
02:17:44
Vale. ¿Alguien más? Bueno, todos deberían tener la 3.0.2.
02:17:45
¿Cómo has configurado el receptor?
02:17:54
¿Cómo lo has configurado?
02:18:01
Simplemente eliges ya mi ordenador y el topic, JGA, el mismo. En mi caso, vamos.
02:18:03
Ese es el siguiente. Vale.
02:18:10
¿QoS se deja vacío, entonces?
02:18:12
QoS lo dejamos vacío, sí. Por ahora. Te explicaremos qué significa.
02:18:16
Vale, pero ahora tenemos que activar el servidor local, que es donde lo veo yo.
02:18:22
¿Dónde estaba eso?
02:18:26
Eso era lo del servidor local, es lo de los servicios que estuvimos viendo antes con Suso.
02:18:28
Vale, sí. Yo lo tengo activado ya y todo. Me iba bien, pero ¿dónde estaba...?
02:18:33
Tiene que haber una interfaz, ¿no? Donde vea que está publicando.
02:18:38
Ah, bueno. Si quieres verlo, si este está funcionando, puedes desconectar el MQTT Explorer de Sendormir
02:18:43
y conectarte al local QoS. Vamos.
02:18:53
Voy a probar si inserto y esas cosas.
02:18:59
¿Puedo comprobar desde una ventana de comandos si está funcionando o no?
02:19:04
Porque antes no conseguí descargarlo y creo que está instalado, pero no sé si está funcionando o cómo lo hago.
02:19:09
Pues mira, te vas al MQTT Explorer.
02:19:14
Me voy al MQTT Explorer un momento.
02:19:17
Y le das a desconectar.
02:19:20
Sí, sí, desconecto. Vale, bien. ¿Y ahora?
02:19:22
Vale. Le das al más para crear una nueva conexión, que no sé si esto lo hiciste antes.
02:19:25
No, no lo hice.
02:19:31
Vale, pues dale a más para crear una nueva conexión.
02:19:33
Perdóname, ¿dónde está el más?
02:19:36
Aquí.
02:19:38
¿Aquí?
02:19:39
Sí. Y le pongo localhost.
02:19:40
¿Y rellenas...? Perdón, rellenas los datos. Un segundo.
02:19:42
Ah, sí, como lo estás viendo aquí.
02:19:47
Localhost. MQ... A ver, un momento. MQTT host es...
02:19:50
¿Qué pone? ¿127.0?
02:19:54
.0.1, pero escribe si quieres localhost, es lo mismo.
02:19:57
Puerto 1883 y ya. Y conecto.
02:20:04
Eso es. Sí.
02:20:07
A mí me sigue apareciendo en amarillo como antes a ti.
02:20:09
Tanto... Vamos, el de local.
02:20:13
¿Qué me sugieres que pueda mirar para ver por qué?
02:20:16
El local... Yo creo que tenéis que poner...
02:20:22
En el 1 primero, ¿eh? 1883.
02:20:26
Sí, sí. Eso sí.
02:20:30
Pero eso lo tenía que ir así. Y aún así me sigue saliendo... Voy a mirar un poquito más, pero...
02:20:34
No, en el local 1083.
02:20:39
A mí me dice que estoy desconectado del servidor. O sea, el servidor es como si no estuviera...
02:20:42
Lo he bajado, pero es como si no estuviera funcionando.
02:20:47
El local 1083... No, el local 1883.
02:20:49
1883. Eso es.
02:20:57
Jorge. Sí.
02:21:12
¿Cómo se lanza el servidor?
02:21:14
Yo creo que lo tengo bajado, pero que a lo mejor no lo he inicializado.
02:21:19
Sí, muy probablemente te pase lo que el resto.
02:21:22
Dale control, suprimir.
02:21:25
Pero... Control, suprimir. Vale.
02:21:30
Puedes suscribir servicios. Servicios abajo y a la ventana.
02:21:34
También. Bueno, ahora que ya tienes ahí...
02:21:37
Ahora vete a la derecha del todo, a la pestaña de la derecha del todo, que pones servicios.
02:21:39
A ver, no.
02:21:45
Se me ha ido todo. Yo estoy en Linux.
02:21:48
Espera, compárteme la pantalla si quieres.
02:21:53
No, no puedo.
02:21:58
Ah, pues entonces...
02:22:00
Si estás en Linux puedes poner un PS.
02:22:02
Ah, estás en Linux.
02:22:05
Sí, sí, vamos a ver.
02:22:07
Si estás en Linux, escribe esto. Espera.
02:22:10
Bueno, perdón, perdón, perdón.
02:22:27
¿Ves? Eso es lo que...
02:22:33
Lo recuerdo mal. Si en lugar de estar pones el status te debería dar el estado mismo.
02:22:39
Sí, eso es.
02:22:48
Vamos a ver.
02:22:56
Ah, me saltó una ahí.
02:22:58
Perdón, lo estaba escribiendo mal.
02:23:00
Y a todos os ha funcionado en local.
02:23:05
A mí es que me sigue saliendo en amarillo la conexión.
02:23:08
En el otro sí.
02:23:11
Si te sirve de consuelo, a mí tampoco me funciona.
02:23:12
Tampoco, ¿no?
02:23:14
A mí sí me ha funcionado, eh.
02:23:15
Comprueba el puerto en los dos.
02:23:18
A mí sí funciona.
02:23:20
El puerto.
02:23:21
Si tienes 1083 en el uno o 11083 en el servidor y en el broker y en el no de red.
02:23:22
Sí, lo he mirado, pero bueno, lo voy a mirar otra vez.
02:23:29
Sí, la cuestión es que en mi caso es curioso porque la conexión desde el MQTT Explorer me funciona.
02:23:33
Pero no la conexión desde el Mosquito.
02:23:44
Ah, claro, claro que estoy tonto.
02:23:49
Perdonad.
02:23:51
Claro, a mí no me funciona por un motivo muy sencillo.
02:23:52
Yo estoy conectado a un servidor de MQTT que está en Alemania.
02:23:56
En localhost de este ordenador el MQTT es diferente.
02:24:04
Es decir, yo no me puedo conectar al servidor de Mosquito que tengo en mi ordenador.
02:24:12
Con lo cual esta parte a mí no me va a funcionar.
02:24:16
Bueno, en realidad sí me va a funcionar, pero haciéndolo así.
02:24:22
Un momento.
02:24:26
Jorge.
02:24:46
Sí.
02:24:47
Cuando he intentado arrancarlo con lo que me has puesto tú, me dice
02:24:48
You need mosquito.service not found.
02:24:53
Vale, ¿y cómo lo has instalado?
02:24:58
Pues siguiendo las instrucciones que ponía.
02:25:02
Repository, ppa, mosquito, dev, mosquito, tal, tal.
02:25:06
O sea, instrucciones de aquí.
02:25:11
Y luego update y ya.
02:25:12
Pero ¿y luego has hecho esto?
02:25:15
¿Has hecho esto?
02:25:18
Comprueba que hayas hecho este comando.
02:25:21
Porque es raro que no...
02:25:23
A ver.
02:25:27
Creo que se lo he hecho, pero lo voy a volver a hacer.
02:25:29
Y haz una cosa.
02:25:32
Acceso al chat sí que tienes, ¿verdad?
02:25:34
Sí.
02:25:37
El resultado que te dé este comando, mándalo por el chat de Teams.
02:25:42
No, vamos a ver, es que...
02:25:48
Tengo en un sitio la tablet donde tengo el chat y el ordenador está en otro sitio.
02:25:53
¿Sabes?
02:25:58
Bueno, a ver.
02:26:00
Me parece que lo que me has dicho está funcionando.
02:26:01
A mí me parece que faltaba una instrucción.
02:26:03
Vale, vale.
02:26:05
Estoy en ello.
02:26:06
A mí ya me funciona.
02:26:09
Era que había escrito mal la palabra localhost.
02:26:10
Vale.
02:26:14
Vale.
02:26:16
Entonces entiendo que ya todo el mundo tiene funcionando los dos...
02:26:17
A ver que os veo.
02:26:21
Los dos servidores de MQTT.
02:26:22
El de sin dormir y el que se ha instalado en su propia máquina.
02:26:24
Perfecto.
02:26:28
Una pregunta.
02:26:34
Me ha ocurrido conectar el in del MQTT local con el out del MQTT local.
02:26:36
Y ahí se ha puesto a enviar mensajes como un loco.
02:26:46
Claro.
02:26:52
Claro, eso es lo que se conoce como un agujero de gusano.
02:26:54
Un loophole, lo que le mandas por un lado vuelve a aparecer por el mismo lado
02:26:58
y te lo vuelve a tener que mandar, que lo vuelve a aparecer, que lo vuelve a mandar,
02:27:01
con lo cual la CPU se te habrá puesto a tope.
02:27:04
Y entonces, si te deja la máquina, si no está muy colgada,
02:27:09
desconecta y se desconecta de los dos nodos y la va a desplegar.
02:27:13
¿Qué es lo que pretendías conseguir con eso?
02:27:17
¿O estás experimentando?
02:27:20
Un experimento.
02:27:21
Hice como bien dices, lo que me comentas, quitar la unión y volver a desplegar,
02:27:23
pero me hizo gracia que en la cola de mensajes,
02:27:29
en el nodo de red tenía todo el churro de miles de mensajes ahí en scroll,
02:27:36
esperando a ser visto.
02:27:44
Y ahora se ha roto, se ha desconectado.
02:27:47
¿Ha muerto el nodo de red?
02:27:51
Sí, correcto.
02:27:53
Vale, sí, puede ser.
02:27:55
¿Esto es lo mismo que pasa cuando coges un switch de red
02:27:56
y conectas un cable de red a dos bocas del mismo switch?
02:28:00
Si no lo has probado, no lo pruebes.
02:28:04
No es buena idea.
02:28:07
Vale, gracias.
02:28:10
Pasa más o menos lo mismo, solo que los ordenadores se vuelven locos todos.
02:28:11
Claro, por eso, porque estamos realimentando un mensaje consigo mismo.
02:28:16
Lo que sí que puedes hacer, así como experimento,
02:28:19
es, ya que tenemos dos servidores de MQTT,
02:28:22
puedes hacer que uno haga de pasarela del otro.
02:28:25
Esto se puede hacer.
02:28:28
Lo que mandas, lo que recibes de tu MQTT local, por ejemplo,
02:28:29
hacer que le llegue al MQTT de sin dormir.
02:28:32
Y de esa forma interconectas dos servidores de MQTT, dos brokers.
02:28:37
Pero bueno, esto lo dejo como ejercicio avanzado.
02:28:43
Bueno, entonces...
02:28:47
Sí, yo creo que me está funcionando todo ya,
02:28:50
porque están los dos conectados.
02:28:52
Lo que no puedo hacer es,
02:28:54
ver dos veces el Explorer, el MQTT Explorer.
02:28:56
No te deja.
02:28:59
Solo puedo ver uno, ¿no?
02:29:00
Y luego lo demás pensar que lo he hecho bien y que está funcionando.
02:29:02
Sí, lamentablemente este programa solo te permite conectarse
02:29:06
a un servidor MQTT por separado.
02:29:09
Pero, por lo menos en Linux, permite lanzarlo dos veces.
02:29:13
Es decir, si tú ahora volvieras a lanzar el comando de MQTT Explorer,
02:29:16
te abrirá otra ventana, y en esa otra ventana puedes conectarte
02:29:19
a otro servidor diferente.
02:29:22
Llevo un rato intentándolo y no consigo lanzarlo de nuevo,
02:29:24
pero bueno, vale.
02:29:27
Pero el caso es que están funcionando los dos.
02:29:28
Vale, perfecto.
02:29:30
Pues nada, por ahora, el servidor de MQTT local
02:29:32
que nos hemos instalado en nuestra máquina,
02:29:35
pues está muy bien para que sepáis cómo se hace
02:29:37
y para que podáis tener un punto de partida en el aula.
02:29:39
Porque muy probablemente, en el aula, no estoy seguro,
02:29:43
que os haya salido el servidor de MQTT local
02:29:46
y muy probablemente, en el aula, no estoy seguro,
02:29:49
ya me confirmaréis los que os habéis pegado con el tema,
02:29:52
pero es posible que desde el aula no podáis acceder
02:29:55
al servidor MQTT sin dormir.
02:29:57
Corregidme si alguien lo ha probado y funciona.
02:29:59
Vale, por las políticas, por las restricciones
02:30:03
de acceso a la red de la Comunidad de Madrid.
02:30:05
¿Alguien lo pudo probar de cursos anteriores?
02:30:09
Yo le metí una VPN y lo conseguí.
02:30:13
Bueno, claro, pero es que eso no es...
02:30:17
Bueno, se puede hacer con una VPN hasta que se den cuenta
02:30:20
de que la gente sale por VPNs y las corten también.
02:30:23
Bueno, que lo suyo es, para trabajar en el aula,
02:30:29
os instaláis un ordenador con un servidor Mosquito
02:30:31
y la configuración se hace como hemos estado viendo.
02:30:34
Lo único que los alumnos, en lugar de poner localhost
02:30:37
para conectarse, tienen que poner la dirección IP
02:30:40
del ordenador que tiene instalado ese Mosquito,
02:30:43
el ordenador del profesor en este caso.
02:30:46
Pero ¿no va a dar problemas porque normalmente
02:30:48
las tienen por DHCP y funcionaría así, tú crees?
02:30:50
Funcionaría hasta que el DHCP decida darte otra dirección.
02:30:54
Es decir, si el curso, si de esto las hacéis martes y jueves,
02:30:57
por ejemplo, es posible que del martes al jueves
02:31:01
tengáis la misma IP, pero que del jueves al siguiente martes
02:31:04
os hayan dado una IP diferente.
02:31:07
Vale.
02:31:09
Entonces os tocará revisar la configuración
02:31:11
o bien pedirle a quien administre la red en vuestro centro
02:31:14
que os asignen una IP fija a vuestro ordenador.
02:31:18
Ya.
02:31:22
Paramos, lo de cambiar la IP una vez a la semana
02:31:25
tampoco sea especialmente...
02:31:28
Normalmente suelen tener las mismas.
02:31:30
Yo siempre lo he visto, cuando manda el protocolo
02:31:32
ahí para pedir una IP de vuelta con la máxula,
02:31:34
suelen tener la misma siempre.
02:31:36
Sí, eso depende de la configuración del DHCP del router.
02:31:39
Vale, pues entonces, como os decía,
02:31:45
la parte del MQTT local,
02:31:47
toda esta parte la vamos a borrar
02:31:51
porque vamos a jugar a partir de ahora solo
02:31:53
con la parte del MQTT sin dormir
02:31:55
porque nos permite que nos hablemos entre todos los alumnos.
02:31:59
Mientras que el otro solo nos permite conectarnos
02:32:03
a yo conmigo mismo.
02:32:05
Un poco más aburrido.
02:32:07
Vale, entonces.
02:32:09
Volvemos otra vez a tener una configuración
02:32:11
en la que tengo un MQTT out
02:32:15
que escribe lo que le llegue por MQTT en un debug
02:32:17
y un MQTT in que manda al topic JGA un timestamp.
02:32:21
Resulta que con este nos hemos suscrito,
02:32:29
este es un MQTT in, un nodo de suscriptor,
02:32:32
nos hemos suscrito a JGA.
02:32:35
Significa eso que si yo mando...
02:32:37
A ver, voy a conectar de nuevo antes sin dormir.
02:32:41
Un segundito.
02:32:45
Sin dormir.
02:32:53
Conectar.
02:32:55
Antes hemos estado abriendo jerarquías, ¿verdad?
02:32:59
Si yo mando JGA y aquí pongo...
02:33:01
Son las 19.31.
02:33:05
Este mensaje está claro que va a llegar, ¿no?
02:33:07
Vale, voy a publicarlo aquí.
02:33:11
Me vengo...
02:33:13
¿Por qué ha puesto?
02:33:17
¿Este es el payload?
02:33:19
Sí, pero esto me lo ha mandado alguien que no he sido yo.
02:33:21
Ah, vale, vale.
02:33:23
Vale, entonces aquí tengo
02:33:27
que me ha llegado el mensaje de eso en las 19.31.
02:33:29
Me ha llegado por duplicado, que esto ya veremos a qué se debe.
02:33:33
Y la cuestión es que esto ha funcionado.
02:33:37
Pero entonces ahora yo no quiero publicar esto directamente en JGA.
02:33:39
Sino que lo quiero publicar en JGA barra hora.
02:33:43
Para que quede un poquito más ordenado.
02:33:47
Le doy a publicar, pero voy a borrar primero mis mensajes de depuración.
02:33:49
Le doy a publicar.
02:33:53
¿Y qué habrá pasado?
02:33:55
Nada.
02:33:59
¿Por qué?
02:34:01
Si pone horas, las 19.31 lo pone.
02:34:03
Sí, voy a poner 19.32.
02:34:09
Aquí sí.
02:34:11
Vale, JGA.
02:34:13
Ha llegado, son las 19.32.
02:34:15
Pero aquí ya no de red no me ha llegado.
02:34:17
¿Por qué?
02:34:21
Porque no estás suscrito a...
02:34:25
Correcto.
02:34:27
Aquí fijaos que solo estoy suscrito al topic JGA.
02:34:29
Es decir, solo me van a llegar aquellas cosas que sean topic directamente JGA.
02:34:33
Si yo quiero que me llegue JGA y todo lo que cuelgue de JGA sería así.
02:34:41
JGA barra almohadilla.
02:34:49
Voy a volver a despegar.
02:34:51
Voy a escribir.
02:34:53
Son las 19.33 ya.
02:34:55
Este mensaje ya me ha llegado aquí.
02:34:59
Voy a pinear esto.
02:35:01
Y ahora si escribo en fecha.
02:35:03
Y aquí pongo 26 de abril.
02:35:07
Le doy a enviar.
02:35:09
Este mensaje también me llega.
02:35:11
¿Por qué?
02:35:13
Porque al suscribirme a JGA barra almohadilla es cualquier cosa que cuelgue.
02:35:15
Es más, si yo hago fecha.
02:35:21
Año barra mes barra día.
02:35:23
Y aquí publico 26.
02:35:27
Este mensaje también me llega.
02:35:31
Y fijaos que es interesante porque este nodo.
02:35:33
El nodo de MQTT IN.
02:35:39
Hace una cosa interesante que es muy potente.
02:35:41
Porque en la parte de payload sólo manda lo que sería la carga.
02:35:45
Lo que sería el contenido del mensaje.
02:35:49
Y el resto, la ruta que yo he mandado, el topic.
02:35:51
Me lo conecta, me lo pone en msg.topic.
02:35:55
Que es muy interesante.
02:35:59
Entonces yo con esto puedo hacerme ciertos.
02:36:01
Utilizando los nodos de switch.
02:36:03
Puedo ir segregando mensajes.
02:36:05
Es decir, los mensajes que llegan al topic JGA barra fecha.
02:36:07
Que se manden para una cadena de proceso.
02:36:11
Los que se manden a JGA barra comando.
02:36:13
Que se manden para otro lado.
02:36:15
Y así de esa manera yo puedo ir separando.
02:36:17
Lo que me llega a un topic de MQTT.
02:36:19
Y generar diferentes acciones en función de lo que llegue.
02:36:21
Lo que quería enseñaros era por un lado.
02:36:29
Que llega separado la parte del topic.
02:36:31
Que es de la parte del payload.
02:36:35
Cada uno en su propiedad.
02:36:37
Y por otro lado.
02:36:39
Que si yo me suscribo simplemente a JGA.
02:36:41
Solo es aquello que sea JGA exactamente.
02:36:43
Cualquier cosa que cuelgue de ahí.
02:36:45
No me va a llegar.
02:36:47
A no ser que ponga una almohadilla.
02:36:49
Jorge, a mi en mi caso.
02:36:55
Estoy poniendo la barra y la almohadilla.
02:36:57
Y se me queda como con error.
02:36:59
No me acepta la almohadilla.
02:37:01
Puede ser que estés modificando.
02:37:05
Puede ser que estés modificando.
02:37:07
En lugar del MQTT IN.
02:37:09
El MQTT OUT.
02:37:11
Pues puede ser.
02:37:13
Y yo una cosa Jorge.
02:37:17
A ti te sale el payload topic y tal.
02:37:19
Y yo lo que he hecho ha sido.
02:37:21
Desde el MQTT adentro.
02:37:23
He creado MMC barra ahora.
02:37:25
Marco Moler Costa barra ahora.
02:37:27
Me llega a mi node red.
02:37:29
Pero no me llega topic y payload.
02:37:31
Pero no me llega topic y payload.
02:37:33
Puede ser que tu MSG.
02:37:35
No le hayas activado el complete.
02:37:37
MSG OBJECT.
02:37:39
A mi MSG.
02:37:41
A mi MSG.
02:37:43
Si, al debujo.
02:37:45
Al debujo. A ver voy a poner.
02:37:47
Complete.
02:37:49
¿Dónde tendría que haber puesto esto?
02:37:51
Aquí. Haciendo doble clic en el nodo de depuración.
02:37:53
Que aparezca complete MSG OBJECT.
02:37:55
A la hora de poner output.
02:37:59
Tengo MSG payload.
02:38:01
Tengo que poner complete.
02:38:03
Complete.
02:38:05
Porque si no, solo te va a sacar el payload.
02:38:07
De todo el JSON que te llega.
02:38:09
Despliega y comprueba.
02:38:11
Eso, no había desplegado.
02:38:13
No me estaba saliendo.
02:38:15
Ahora ya sí.
02:38:17
Y Jorge una duda.
02:38:19
En el que has puesto ahí.
02:38:21
JGA barra fecha barra año.
02:38:23
Barra mes.
02:38:25
Barra día.
02:38:27
En el payload tienes un 26.
02:38:29
Pero está entre comillas.
02:38:31
Si.
02:38:33
Porque resulta que.
02:38:35
MQTT Explorer.
02:38:37
Cuando tu le mandas. A ver si lo encuentro.
02:38:39
Cuando tu le mandas un 26.
02:38:41
El no sabe.
02:38:43
Que tipo de dato es.
02:38:45
Entonces el lo manda como un.
02:38:47
Como una cadena de caracteres.
02:38:49
Entonces en principio.
02:38:53
Esto nos tocaría convertirlo.
02:38:55
Si yo quiero procesar esto como un número.
02:38:57
Nos tocaría convertirlo.
02:38:59
Mediante algún nodo de change.
02:39:01
O mediante algún nodo de función.
02:39:03
Si yo quiero por ejemplo esto.
02:39:05
Guardarlo en una base de datos que sea solo numérica.
02:39:07
Por así decirlo.
02:39:09
Pero yo por ejemplo lo mando.
02:39:11
He puesto un 26 también.
02:39:13
Y me lo manda como número.
02:39:15
A ver pero voy a mandar un 27.
02:39:21
Publicar.
02:39:23
Eh.
02:39:27
27.
02:39:29
Me llega como.
02:39:33
Si.
02:39:37
Me llega como texto.
02:39:39
Ah.
02:39:45
Ya se porque.
02:39:47
O no.
02:39:53
Que era 28.
02:39:55
Ah pues no.
02:40:01
Pues es curioso.
02:40:07
Es curioso.
02:40:09
A ver.
02:40:11
Es posible que esto sea más bien.
02:40:13
Por la.
02:40:15
No tanto por como lo manda el MQTT Explorer.
02:40:17
Sino por como se recibe.
02:40:19
Y como se genere la salida.
02:40:21
Eh.
02:40:23
Por parte del.
02:40:25
Por parte del nodo de MQTT In.
02:40:27
Vale es posible que esto.
02:40:31
Dependa más de la versión de Node-RED.
02:40:33
Que de quien lo envía.
02:40:35
Vale.
02:40:37
Vale en mi caso.
02:40:39
Si quisiera tratarlo como número.
02:40:41
Me tocaría hacer.
02:40:43
Me tocaría hacer algún tipo de procesado.
02:40:45
Para cambiar esto a un.
02:40:47
A un número.
02:40:49
A mi como.
02:40:51
Cuando lo he.
02:40:53
En la hora de configurar.
02:40:55
El MQTT In.
02:40:57
Me ponía dos opciones.
02:40:59
Autodetect.
02:41:01
Bueno al configurar perdón.
02:41:03
La salida.
02:41:05
Me ponía configurar autodetect.
02:41:07
Y he puesto.
02:41:09
Como lo tenías tú.
02:41:11
Que es la versión anterior.
02:41:13
Que pone autodetect.
02:41:15
Stream or buffer.
02:41:17
Igual es por eso.
02:41:19
Yo como tengo una versión antigua.
02:41:21
Esa opción no me aparece.
02:41:23
Entonces probablemente esa opción de salida.
02:41:29
Si que sea capaz de discernir.
02:41:31
Entre lo que son números y darles tipo número.
02:41:33
O textos y darle tipo texto.
02:41:35
O JSON.
02:41:37
Y darle estética de JSON.
02:41:39
Estética de JSON.
02:41:41
Dejando como viene por defecto.
02:41:47
Que probablemente sea más.
02:41:49
Más cómodo de manejar.
02:41:51
Jorge yo creo que me he perdido algo.
02:41:53
Porque a mi no me está funcionando.
02:41:55
Me ha funcionado todo.
02:41:57
Pero cuando.
02:41:59
Es con lo del añadir.
02:42:01
A mis iniciales.
02:42:03
El barra almohadilla.
02:42:05
Ahí ya no me está funcionando.
02:42:07
¿Puedes por favor.
02:42:09
Compartirme la pantalla?
02:42:11
Si.
02:42:13
Vale.
02:42:15
Vale.
02:42:17
Voy a aprovechar.
02:42:19
Juanra el código de salida.
02:42:21
Lo voy a poner yo también por aquí.
02:42:23
Ya pero no está activo.
02:42:25
El trabajo no me salía para poder meterlo.
02:42:27
Es que creo que se habilita a menos cuarto.
02:42:29
Quedan 4 minutos.
02:42:31
Y lo voy a poner en un color.
02:42:39
Que se vea.
02:42:41
Vale.
02:43:09
Si, si.
02:43:13
Carlos.
02:43:21
Ya estoy. ¿Me puedes enseñar el nodo?
02:43:23
Pues mira.
02:43:25
Vamos a ver.
02:43:27
Te digo como lo tengo configurado.
02:43:29
El mqttin.
02:43:31
Es este.
02:43:33
Lo tengo como server.
02:43:35
Que le he añadido aquí lo que es la almohadilla.
02:43:37
Después.
02:43:41
Lo que es el.
02:43:43
Si, esto tiene que estar bien.
02:43:45
Si aparece el puntito verde de conectado.
02:43:47
Significa que la configuración del servidor está bien.
02:43:49
Aquí no hay que tocar más.
02:43:51
Vale.
02:43:53
Si yo ahora cojo.
02:43:55
Me vengo por ejemplo aquí al.
02:43:57
A este.
02:43:59
Aquí no he hecho nada.
02:44:01
Aquí lo que tengo es suscrito al mismo.
02:44:03
No, ahí no estás suscrito.
02:44:05
Ahí estás publicando en.
02:44:07
Ahí estás diciendo donde publicar.
02:44:11
Pon un barra algo.
02:44:13
Por ejemplo.
02:44:15
Pero.
02:44:17
Barra hora por ejemplo.
02:44:19
Si.
02:44:21
Pero si yo entonces cada vez que quiera publicar algo.
02:44:27
Esto lo tengo que cambiar.
02:44:29
Si en lugar de publicar una hora.
02:44:31
Yo tengo la temperatura.
02:44:33
Esto lo tendría que cambiar.
02:44:35
Eso es.
02:44:37
Vale, pues entonces eso es el asunto.
02:44:39
Vamos a probarlo.
02:44:41
Si yo me vengo aquí a.
02:44:43
Y entonces he puesto la hora.
02:44:45
Y entonces a la zona tiene un 43.
02:44:47
Lijo.
02:44:49
Pues aquí sí que lo veo.
02:44:51
Me vengo.
02:44:53
A en el de red.
02:44:55
Y así.
02:44:57
Es que no he desplegado.
02:45:03
A lo mejor.
02:45:05
Ah, vale.
02:45:07
Sí.
02:45:09
Público.
02:45:13
Estás publicando en local.
02:45:21
No en sin dormir.
02:45:23
A mí antes también.
02:45:25
Vuelve a enviarlo.
02:45:27
Pero ahí en el otro lado.
02:45:29
Tienes que.
02:45:31
En el explorer.
02:45:33
No te has cambiado en el explorer.
02:45:35
Ah, vale.
02:45:39
De acuerdo.
02:45:41
De acuerdo.
02:45:43
Ya está.
02:45:45
Gracias.
02:45:47
Jorge.
02:45:55
Una pregunta.
02:45:57
Yo que estoy enviando un timestamp.
02:45:59
Y le he puesto intervalo de 5 segundos.
02:46:01
Me está enviando la fecha.
02:46:03
¿Cómo es la?
02:46:05
Pero me lo envía en este formato.
02:46:07
De un churro de números.
02:46:09
¿Cómo se puede hacer para que te lo ponga en formato de fecha?
02:46:11
Claro, es que timestamp.
02:46:15
En realidad lo que manda.
02:46:17
La información real que mandas.
02:46:19
Es el churro de números.
02:46:21
No hay ninguna fórmula que te recibe.
02:46:23
Dándole clic en el número.
02:46:27
Debería convertirlo, ¿no?
02:46:29
Claro, si lo haces desde Node-RED, sí.
02:46:33
Claro, desde Node-RED, sí.
02:46:37
Pero en el.
02:46:39
En el explorer.
02:46:41
Claro, en el explorer.
02:46:43
Recibe el churro de números.
02:46:45
En el explorer recibe el churro.
02:46:47
Mira aquí por ejemplo.
02:46:49
ASG como AVG.
02:46:51
Que ahora es igual a todo este churro.
02:46:53
¿Qué me dices?
02:46:57
No se ve.
02:46:59
Por algún motivo se me está descompartiendo la pantalla.
02:47:03
¿Bien ahora?
02:47:11
Vale.
02:47:17
Claro, efectivamente.
02:47:19
Pues aquí los que habéis publicado la hora.
02:47:21
En vuestro topic.
02:47:23
Aquí aparece como un numerito normal.
02:47:27
En principio.
02:47:29
El MQTT Explorer no tiene forma.
02:47:33
De traducir esto a fecha.
02:47:35
Pero, si nos vamos.
02:47:37
Si yo copio esto.
02:47:39
Y me voy a un navegador.
02:47:41
Y le digo conversor.
02:47:43
Converter.
02:47:45
De UnixTime.
02:47:47
Cualquier página que salga te va a valer.
02:47:51
UnixTimeStampConverter.
02:47:55
Y aquí pegamos.
02:47:57
Lo único que hay que tener cuidado.
02:47:59
Porque Node-RED.
02:48:01
No utiliza la hora de UnixStandard.
02:48:03
Sino que añade milisegundos.
02:48:05
Con lo cual los tres últimos.
02:48:07
Te los tienes que quitar.
02:48:09
Le das a convertir.
02:48:11
Y te dice que ha sido el miércoles 26 de abril.
02:48:13
Las 17.43.
02:48:15
Hora de Greenwich.
02:48:17
Y hora local.
02:48:19
Las 19.43.
02:48:21
Vale.
02:48:23
Saque este numerito.
02:48:25
Quitándole los últimos tres decimales.
02:48:27
Que son milisegundos.
02:48:29
Hay varias herramientas que tienes.
02:48:31
Un Linux. También puedes decirle que te lo convierta.
02:48:33
Y entiendo que hay nodos.
02:48:37
También de Node-RED.
02:48:39
Que son capaces de convertirte esto.
02:48:41
A una fecha casi segura.
02:48:43
Y si no se puede hacer con.
02:48:53
Se puede hacer con una función.
02:48:55
Seguro.
02:48:57
¿Se podría hacer con algún nodo en Node-RED.
02:49:03
Antes de enviar lo mqtt?
02:49:05
A ver.
02:49:07
¿Se puede hacer con algún nodo en Node-RED.
02:49:09
Previo al envío a mqtt.
02:49:11
Para convertirlo al texto correspondiente.
02:49:13
Con algún nodo.
02:49:17
Que venga por defecto.
02:49:19
Diría que no.
02:49:21
No de los que vienen.
02:49:23
A ver.
02:49:27
Déjame que lo revise.
02:49:29
No.
02:49:35
No.
02:49:37
Se podría hacer con un nodo de función.
02:49:39
Pero el resto de los que vienen.
02:49:47
Yo creo que no permiten.
02:49:49
Convertir de fecha de UNIX.
02:49:51
A fecha.
02:49:53
Aun así de todas formas.
02:49:57
Esto por ejemplo.
02:50:01
A ver que hace.
02:50:07
Esto es un código que me he bajado de internet.
02:50:17
A la página de Node-RED.
02:50:19
Porque hay un montón de nodos de referencia.
02:50:21
Este en concreto convierte un timestamp.
02:50:23
A horas, minutos, segundos.
02:50:25
Y todo lo demás.
02:50:27
¿Cómo funciona esto?
02:50:29
No.
02:50:31
A ver.
02:50:33
Esto manda un timestamp.
02:50:35
Vamos a escucharlo directamente.
02:50:37
Borro aquí.
02:50:39
Hay una función.
02:50:41
Perdona Jorge.
02:50:43
Aquí lo tendríamos.
02:50:45
Es muy parecido a C++.
02:50:49
O a C.
02:50:51
Yo lo he paseado.
02:50:55
Con una función.
02:50:57
Con la fecha.getFullYear.
02:50:59
Y así.
02:51:03
Esa es la función.
02:51:05
Vale.
02:51:09
Esto ahora mismo.
02:51:11
Esto ya sale como Json.
02:51:13
Si publicas esto.
02:51:17
En vez de mandarlo por ahí.
02:51:19
Y esto ya tiene que aparecer como un mensaje.
02:51:21
Real.
02:51:23
Si mando esto.
02:51:25
JGA.
02:51:27
Lo estoy mandando a JGA directamente.
02:51:29
Nos vamos al Node-RED.
02:51:31
Y en JGA.
02:51:33
Aquí está.
02:51:35
Fecha.
02:51:37
Que me viene de esta manera.
02:51:39
Ah no, perdón. Esto lo quité antes.
02:51:45
Pero voy a borrar esto para que no me moleste.
02:51:47
Vale.
02:51:49
Estoy publicando en.
02:51:57
JGA.
02:51:59
Desendormir.
02:52:01
Esto debería haber salido.
02:52:09
Y aquí me tendría que haber llegado en algún sitio.
02:52:11
Y no me ha llegado.
02:52:19
Ah, porque no está en.
02:52:23
A ver.
02:52:25
Claro, porque tiene que estar en payload.
02:52:31
Porque esto lo que hace es convertir.
02:52:33
Convertir payload.
02:52:37
En, o sea, enviar payload.
02:52:39
Si aquí solo estamos estableciendo esto.
02:52:41
Pues no carga.
02:52:43
Entonces.
02:52:45
Le decimos que esto es.
02:52:47
Un objeto.
02:52:49
Y ahora msg.payload.
02:52:51
Es igual a todo esto.
02:52:53
Que es lo que no le gusta.
02:52:57
No, sí le gusta.
02:53:03
Borramos.
02:53:07
Enviamos.
02:53:09
Nos vamos a mqtt.
02:53:11
Y aquí en JGA.
02:53:13
Efectivamente.
02:53:15
Ahí ya tenemos que nos ha llegado en forma de JSON.
02:53:17
Pues toda la información.
02:53:19
Esto es importante, no lo había comentado.
02:53:21
Pero todo lo que le llegue.
02:53:23
A un nodo para enviar.
02:53:25
Tiene que venir en payload.
02:53:27
No coge msg directamente y lo manda por mqtt.
02:53:29
Sino que solo manda.
02:53:31
Lo que está en payload.
02:53:33
De hecho eso lo podemos ver si hacemos click.
02:53:35
En la parte de documentación.
02:53:37
De JGA.
02:53:39
Y aquí nos lo dice.
02:53:41
Si la propiedad no está establecida.
02:53:43
No se mandará ningún mensaje.
02:53:45
Bien con esto.
02:53:51
Vale, genial.
02:54:13
Nos quedan unos minutillos.
02:54:17
Sí que quería enseñaros.
02:54:19
Esto lo vamos a dejar aparcado.
02:54:21
Sí que quería enseñaros.
02:54:23
Una cosa que creo que es importante.
02:54:25
Y que en algunos proyectos.
02:54:27
Nos puede ahorrar.
02:54:29
Algunos dolores de cabeza.
02:54:31
Vamos a suponer.
02:54:33
Que yo tengo esa configuración que hablábamos antes.
02:54:35
Quiero demotizar mi casa.
02:54:37
Tengo un interruptor.
02:54:39
De estos que cada vez que lo pulso.
02:54:41
Manda un mensaje diferente. Encendido o apagado.
02:54:43
Y tengo una lámpara.
02:54:45
Que cuando recibe ese mensaje por mqtt.
02:54:47
Si recibe encendido.
02:54:49
Activa el relé.
02:54:51
Y si recibe apagado. Apaga el relé.
02:54:53
¿Qué sucede?
02:54:55
Por ejemplo si el servidor mqtt.
02:54:57
Lo tengo fuera de mi casa y se va la luz.
02:54:59
Se va durante dos segundos.
02:55:01
Cuando vuelve.
02:55:03
¿Qué va a hacer la lámpara?
02:55:05
No se si he planteado bien el escenario.
02:55:11
¿Te escucho muy bajito?
02:55:19
Si.
02:55:21
Digo que irá a buscar el topic.
02:55:23
Al servidor.
02:55:25
Y ahí.
02:55:27
Lo que le diga el estado.
02:55:29
Que diga mqtt.
02:55:31
Lo que debería de hacer.
02:55:33
Vale.
02:55:35
Vamos a comprobarlo.
02:55:37
Es decir.
02:55:39
Yo voy a.
02:55:41
Publicar.
02:55:43
Por ejemplo en JGA.
02:55:45
Voy a publicar.
02:55:47
Lámpara 1.
02:55:49
Y aquí voy a publicar.
02:55:51
El dato de on.
02:55:53
Y aquí lo tenemos.
02:55:57
JGA. Lámpara 1. On.
02:55:59
Ahora. Voy a cerrar.
02:56:01
El mqtt explorer.
02:56:03
Y voy a volver.
02:56:05
A conectarme para simular.
02:56:07
Que se ha ido la luz de mi casa.
02:56:09
Me vuelvo a conectar.
02:56:11
¿Y qué es lo que me encuentro?
02:56:15
¿Dónde está ese.
02:56:17
JGA. Lámpara 1?
02:56:19
No está. Por lo que os comentaba.
02:56:27
Al principio de como funcionan.
02:56:29
Los brokers de mqtt. Un broker de mqtt.
02:56:31
Cuando alguien publica algo.
02:56:33
Al recibir esa publicación.
02:56:35
Y justo en ese momento.
02:56:37
Mira a ver.
02:56:39
Que clientes están suscritos.
02:56:41
A ese topic.
02:56:43
Y a todos los que estén suscritos a ese topic.
02:56:45
Les hace llegar el mensaje.
02:56:47
¿Vale?
02:56:49
En este caso que se ha planteado.
02:56:51
El interruptor mandó el mensaje de on.
02:56:53
En un momento dado.
02:56:55
La lámpara recibió esa orden.
02:56:57
De encenderse.
02:56:59
El interruptor mandó el mensaje de on.
02:57:01
De encenderse.
02:57:03
Pero como se han ido los plomos en mi casa.
02:57:05
Al volver a arrancar la luz.
02:57:07
La lámpara se ha vuelto a suscribir.
02:57:09
El interruptor se ha vuelto a suscribir.
02:57:11
Pero como nadie ha pulsado el interruptor.
02:57:13
No hay nada publicado.
02:57:15
Nuevo.
02:57:17
En JGA. Lámpara 1.
02:57:19
¿Se entiende el problema?
02:57:21
¿Entonces quedaría encendida o apagada?
02:57:25
Quedaría apagada.
02:57:27
Bueno, depende de la configuración.
02:57:29
Depende de cómo esté programada esa lámpara.
02:57:31
Pero lo normal es que si no le dices nada.
02:57:33
Esté apagada.
02:57:35
¿No guarda las variables en ningún sitio?
02:57:37
¿Cómo perdón?
02:57:39
¿No guarda las variables en ningún sitio?
02:57:41
Depende de cómo esté programada.
02:57:43
Si la lámpara que estamos haciendo nosotros.
02:57:45
Es una lámpara hecha con SP32.
02:57:47
Yo podría guardar en la memoria flash.
02:57:49
El último estado que se configuró.
02:57:51
Y así cuando vuelve a recuperar la luz.
02:57:53
Recupera su estado.
02:57:55
De las preferencias y vuelve a cargarlo.
02:57:57
Pero la mayor parte de las lámparas.
02:57:59
Que podemos comprar por ahí.
02:58:01
No son tan inteligentes.
02:58:03
Simplemente se va la luz y cuando vuelve.
02:58:05
Se quedan apagadas porque es.
02:58:07
Lo que la gente espera por así decirlo.
02:58:09
¿Eso no se podría arreglar con el tema de elota.
02:58:11
Que nos contaste o no?
02:58:13
Se puede solucionar.
02:58:15
Elota lo que nos permite es.
02:58:17
Cargar un código nuevo en la lámpara.
02:58:19
Cuando tú has detectado que algo no funciona bien.
02:58:21
O que quieres que cambie el comportamiento.
02:58:23
Sin embargo.
02:58:25
Con MQTT podemos.
02:58:27
Solucionar eso.
02:58:29
Si le decimos.
02:58:31
¿Se puede guardar en MQTT.
02:58:33
Una variable por defecto.
02:58:35
Un valor por defecto en alguna celda.
02:58:37
Digamos.
02:58:39
Hablaremos de eso.
02:58:41
Hablaremos el lunes.
02:58:43
Porque hay una.
02:58:45
Una cosa que se llaman últimas voluntades.
02:58:47
Como testamento.
02:58:49
Vamos el ASCII.
02:58:51
En caso de que un nodo.
02:58:53
O en caso de que un cliente.
02:58:55
Lleve un tiempo sin contestar.
02:58:57
Podemos hacer que publique una especie de mensaje de despedida.
02:58:59
Un testamento.
02:59:01
Pero lo que quería contaros ahora.
02:59:03
Es esta parte de aquí.
02:59:05
¿Veis este retain?
02:59:07
O si lo queréis ver en MQTT.
02:59:11
Cuando yo publico algo.
02:59:13
¿Veis este retain.
02:59:15
Que permite elegirse a true y a false.
02:59:17
Pues dejadme que os lo enseñe.
02:59:19
Primero con MQTT Explorer.
02:59:21
Si yo cojo y publico.
02:59:23
Exactamente lo mismo.
02:59:25
jgea barra lampara1 a on.
02:59:27
Y le digo retain.
02:59:29
Y le digo publicar.
02:59:31
Aquí vuelve a aparecer.
02:59:33
¿Verdad?
02:59:35
Me voy a dar a desconectar.
02:59:37
Ya se ha borrado todo.
02:59:39
Vuelve a conectar.
02:59:41
¿Veis que sigue apareciendo?
02:59:43
Lampara1 a on.
02:59:45
Si, si, si.
02:59:49
De esa manera.
02:59:51
Cuando yo publico un mensaje con la bandera.
02:59:53
Con el flag de retain activado.
02:59:55
Eso hace que el servidor MQTT.
02:59:57
El broker.
02:59:59
Almacene ese valor.
03:00:01
Lo almacene permanentemente.
03:00:03
De forma que si alguien.
03:00:05
Posteriormente a la publicación original del mensaje.
03:00:07
Se conecta.
03:00:09
Es como que recibe el último número.
03:00:11
Recibe lo último que se haya publicado.
03:00:13
Esto.
03:00:15
Voy a borrarlo.
03:00:17
Desde MQTT Explorer le quito el retain.
03:00:19
Y lo publico en blanco.
03:00:21
¿Vale?
03:00:23
Y aquí desaparece.
03:00:25
Y voy a hacer lo mismo para que lo veáis.
03:00:27
Y con esto ya concluimos.
03:00:29
Voy a hacer lo mismo desde MQTT Explorer.
03:00:31
Voy a publicar en jgea.
03:00:33
Lampara2.
03:00:35
En este caso.
03:00:37
Y le voy a decir un true.
03:00:39
Al retain.
03:00:41
Y en este caso.
03:00:43
Le voy a dar un booleano.
03:00:45
Que le voy a decir que lo ponga true.
03:00:47
¿Vale? ¿Bien con los cambios? Es decir.
03:00:49
El inject.
03:00:51
He puesto en payload un booleano true.
03:00:53
Y en el MQTT out.
03:00:55
El que hace de publicador.
03:00:57
Le he puesto para que publique.
03:00:59
En Lampara2.
03:01:01
Y que tenga un retain a true.
03:01:03
Para que el mensaje se mantenga.
03:01:05
Entonces vamos a despegar.
03:01:07
Aquí ahora mismo veis que no aparece nada de jgea.
03:01:09
Envío.
03:01:11
Aquí veo que aparece.
03:01:13
Este mensaje de jgea con la lámpara true.
03:01:15
Y ahora.
03:01:17
Si yo le doy a desconectar.
03:01:19
Y vuelvo a conectar.
03:01:21
Este jgea.
03:01:25
Con Lampara2.
03:01:27
Vuelve a aparecer.
03:01:29
¿Vale? Y este Lampara1.
03:01:31
No me lo ha quitado. Ah vale. Hay que quitar aquí el retain.
03:01:33
Este fuera.
03:01:35
Vale.
03:01:37
Y este Lampara2 es decir que está bien.
03:01:39
Da igual cuantas veces me desconecte.
03:01:41
Y vuelvo a conectar.
03:01:43
Que en jgea siempre aparecerá.
03:01:45
Este Lampara2.
03:01:47
Igual a true.
03:01:49
Pero yo lo que no entiendo es.
03:01:51
Porque el mensaje se manda.
03:01:53
Y ya está. Y el que no lo ha cogido no lo coge ¿no?
03:01:55
Pero entonces ¿quién es el que lo retiene ahí?
03:01:57
El broker.
03:01:59
Cuando marcamos que un mensaje queremos que se retenga.
03:02:01
Es el broker.
03:02:03
El que le dejas el marrón de cada vez.
03:02:05
Que alguien se suscriba nuevamente.
03:02:07
A este topic.
03:02:09
Lo primero que haces es mandarle el mensaje como si te hubieras suscrito.
03:02:11
Vale. Creo que me había perdido.
03:02:13
Lo de que cuando alguien se suscribiera.
03:02:15
Vale. O sea que tiene un instalador.
03:02:17
Cuando alguien se suscriba al topic.
03:02:19
Si, si, si.
03:02:21
No es que te hubieras perdido.
03:02:23
Sino que yo no lo había contado.
03:02:25
Cuando tú te suscribes por primera vez.
03:02:27
Todos los mensajes que estén marcados como retain.
03:02:29
Se les entregan a los suscriptores.
03:02:31
Que se suscriban en ese momento a los topics.
03:02:33
Como si se acabaran de mandar.
03:02:35
Aunque el mensaje se mandara hace 3 días.
03:02:37
Jorge, ¿eso que te ha pasado con Lampara 1?
03:02:39
Es que a mí también me ha pasado.
03:02:41
Y si se desconecta, si te vuelves a conectar.
03:02:43
Vuelve a aparecer otra vez.
03:02:45
Aunque ya le has quitado el retain.
03:02:47
Sí, porque le tienes que dar aquí.
03:02:49
A esta curva.
03:02:51
Sí que lo hice mal.
03:02:53
Lo hice mal antes.
03:02:55
Y entonces ahora ya.
03:02:57
Esto lo elimina del servidor.
03:02:59
Si ahora desconecto.
03:03:01
Y vuelvo a conectar.
03:03:03
Se puede hacer el retain.
03:03:05
Desde Node-RED.
03:03:07
Como lo acabas de hacer.
03:03:09
Y desactivarlo.
03:03:11
Desde el MQTT Explorer.
03:03:13
Y viceversa.
03:03:15
¿No queda de alguna forma?
03:03:17
¿Quién ha hecho la retención?
03:03:19
No se queda almacenado.
03:03:23
Quién ha ocasionado la retención.
03:03:25
No se puede saber.
03:03:27
Y sí, se puede hacer al revés.
03:03:29
Puedes mandar un mensaje, por ejemplo.
03:03:31
Voy a duplicar este nodo.
03:03:33
Y este nodo.
03:03:35
Y entonces este lo que va a hacer es
03:03:37
mandarlo con retención.
03:03:39
Y este va a mandarlo sin retención.
03:03:41
Entonces despliego.
03:03:43
Aquí no aparece ningún JGA.
03:03:47
Envío.
03:03:49
Aquí tenemos JGA.
03:03:51
Que está en True.
03:03:53
Y aquí tenemos JGA.
03:03:55
Que está en True.
03:03:57
Vale.
03:04:03
Le voy a desconectar.
03:04:05
Le doy a conectar.
03:04:07
JGA.
03:04:09
Aquí lo tenemos como que este mensaje estaba retenido.
03:04:11
¿Vale?
03:04:13
Y en principio, si ahora vuelvo a mandar este mismo mensaje.
03:04:15
Pero, con este.
03:04:17
Que tiene el retain a false.
03:04:19
Lo borrará.
03:04:21
No es que lo borre, no va a desaparecer del MQTT Explorer.
03:04:23
Sino que simplemente, si ahora.
03:04:25
Yo le doy a desconectar.
03:04:27
Y vuelvo a conectar.
03:04:29
¿Vale?
03:04:33
A ver, no me lo he quitado.
03:04:35
Ah, a ver.
03:04:37
No, perdón, perdón. Es que me he liado.
03:04:39
Para quitar un mensaje.
03:04:41
Que esté retain.
03:04:43
Que esté retenido.
03:04:45
Lo he contado mal.
03:04:47
Lo que se hace es mandar.
03:04:49
Con el flag de retener.
03:04:51
Se manda un mensaje vacío.
03:04:53
Eso que tiene que conectar las cosas.
03:05:01
Y mirar la documentación.
03:05:03
Entonces, vamos a empezar de nuevo.
03:05:05
Desconecto.
03:05:07
Conecto.
03:05:09
Vale, ya no tengo ningún JGA.
03:05:11
Envío un mensaje.
03:05:13
Que tiene la retención.
03:05:15
Desconecto.
03:05:17
Conecto.
03:05:19
Compruebo que aquí me ha llegado.
03:05:21
Y que el mensaje está retenido.
03:05:23
¿Vale?
03:05:25
Mando este que lo manda vacío.
03:05:29
Desconecto.
03:05:33
Vuelvo a conectar.
03:05:35
Y sigue retenido.
03:05:39
Vale, pues un segundito porque...
03:05:41
Lo estaba echando a memoria.
03:05:43
Y no es así como se desactiva un retain.
03:05:45
En el caso de que...
03:05:51
El que se queda sin duda es el broker.
03:05:53
¿Qué pasaría?
03:05:55
Se pierde toda la memoria.
03:05:57
No se puede recuperar.
03:05:59
Ya...
03:06:01
No.
03:06:03
Una pregunta, Jorge.
03:06:09
Sí.
03:06:11
Una de las características del...
03:06:13
Una de las características del...
03:06:15
Es que es muy liviano.
03:06:21
Es que te escucho terriblemente bajito.
03:06:25
Y además alguien está levantando el micrófono.
03:06:27
Vale, perdón.
03:06:29
Lo que te estaba diciendo es que una de las características
03:06:31
de este servidor es que es muy liviano.
03:06:33
Y si nosotros a todos los clientes
03:06:35
y todos los topics
03:06:37
y las suscripciones
03:06:39
le ponemos la característica esa de retain.
03:06:41
Pues le estamos obligando a mantener
03:06:43
ahí una cierta envergadura al servidor.
03:06:45
Bueno, pero
03:06:47
esa carga se la lleva el servidor.
03:06:49
De cara a que nuestros dispositivos
03:06:51
que son pequeñitos y con recursos
03:06:53
muy limitados funcionen bien
03:06:55
no les afecta para nada.
03:06:57
Ya, ya, ya.
03:06:59
Pero ya tenemos que almacenar y
03:07:01
proveer una determinada
03:07:03
capacidad
03:07:05
de espacio para el servidor.
03:07:07
Sí, pero es...
03:07:09
O sea, como te digo,
03:07:11
un ordenador tiene unas
03:07:13
capacidades de memoria, de almacenamiento
03:07:15
y de cómputo
03:07:17
muy, muy
03:07:19
superior a un microcontrolador.
03:07:21
Entonces, no me preocuparía. Es que hay que estar reteniendo.
03:07:23
En este caso, unos pocos bytes
03:07:25
no es algo que me preocupara.
03:07:27
Si eso hiciera que el protocolo tuviera que
03:07:29
mandar más información de golpe
03:07:31
o que se complicara más el protocolo
03:07:33
o que tuviera que hacer cosas extrañas, entonces sí
03:07:35
podría llegar a perjudicar al eslabón más débil
03:07:37
que es el microcontrolador.
03:07:39
Pero aquí, que se lo coma
03:07:41
un ordenador que tiene RAM infinita
03:07:43
por así decirlo, y disco duro infinito
03:07:45
no me resulta preocupante.
03:07:47
En este caso de retener
03:07:49
la información, ¿retiene
03:07:51
un solo valor para cada
03:07:53
topic o guarde histórico?
03:07:55
El último. Solo se puede
03:07:57
mandar lo último.
03:07:59
O sea, solo se puede retener lo último que se haya mandado.
03:08:01
Un nuevo valor
03:08:03
retenido pisa al antiguo.
03:08:05
¿Vale?
03:08:09
Vale, pues
03:08:15
investigo para el lunes
03:08:17
porque pensaba que me lo sabía
03:08:19
de memoria, pero veo que no funciona.
03:08:21
Investigo cómo se hace para desde MQTT
03:08:23
quitar un valor que está
03:08:25
retenido y abrimos la clase
03:08:27
con... abrimos la clase de lunes
03:08:29
con esta información.
03:08:31
Miércoles.
03:08:33
Es verdad que el lunes es fiesta.
03:08:35
Gracias, Jesús.
03:08:37
Otra
03:08:39
pregunta.
03:08:41
Antes que te vayas.
03:08:43
En el caso de que el broker
03:08:45
se quede sin luz, me
03:08:47
dice que pierde todos los datos
03:08:49
pero se podrían guardar esos datos
03:08:51
y en el
03:08:53
momento que vuelva
03:08:55
a estar en servicio
03:08:57
se cargue con valores por defecto
03:08:59
o con los mismos valores.
03:09:01
Correcto. Sería un desarrollo
03:09:03
propio.
03:09:05
Utilizar una base, guardar
03:09:07
los datos en base de datos
03:09:09
Eso es.
03:09:11
Pero eso no lo soporta de forma nativa
03:09:13
por lo menos Mosquito
03:09:15
que es el servidor de MQTT que yo conozco.
03:09:17
¿Lo podrías hacer
03:09:19
con MQTT?
03:09:21
Perdón, con NodeREF.
03:09:23
¿Podrías hacer que NodeREF almacene
03:09:25
todo lo que reciba?
03:09:27
El año pasado estuve haciendo
03:09:29
un proyecto en el instituto con eso.
03:09:31
Pero solamente
03:09:33
encontré nodos que se conectaban
03:09:35
a MySQL.
03:09:37
Oracle no he visto
03:09:39
que haya nodos
03:09:41
que se conecten.
03:09:43
Pero aunque no haya
03:09:45
nodos específicos de Oracle
03:09:47
hay un
03:09:49
nodo específico
03:09:51
hace años que no trabajo con base de datos en serio
03:09:53
hay un estándar de comunicación
03:09:55
entre base de datos que permite hablar
03:09:57
es un lenguaje común para toda la base de datos.
03:09:59
No recuerdo ahora
03:10:01
cuáles eran las siglas.
03:10:03
Pero eso te permite hablar con cualquier gestor de base de datos.
03:10:05
Vale, vale, lo buscaré.
03:10:07
Bien, gracias.
03:10:09
Si me acuerdo
03:10:11
te lo busco.
03:10:13
SQL es el lenguaje
03:10:17
pero hay una especie de conector
03:10:19
ODBC, correcto Pablo, muchas gracias.
03:10:21
ODBC, si buscas...
03:10:23
Espera, vamos a buscarlo.
03:10:25
Si buscas aquí en la gestión de los paquetes
03:10:27
instalar
03:10:29
ODBC
03:10:31
Pues aquí tienes
03:10:35
unos cuantos.
03:10:37
Tienes para
03:10:39
el de Microsoft
03:10:41
MSSQL
03:10:43
Con ODBC en principio
03:10:47
es un lenguaje común.
03:10:49
O sea que debería dejarte hablar con Oracle
03:10:51
y no hay nada de Oracle.
03:10:53
Pues el año pasado no encontré esto.
03:10:55
Bueno, bien.
03:10:57
Lo busco ya.
03:10:59
Tienes varios además.
03:11:01
Ya lo busco y lo miro.
03:11:03
Bien, gracias.
03:11:05
Vale, estupendo.
03:11:07
Pues nada, que disfrutéis
03:11:09
que disfrutéis
03:11:11
el puente.
03:11:13
Las pequeñas vacaciones.
03:11:15
A ver si de verdad podéis descansar.
03:11:17
Igualmente.
03:11:19
Nos vemos en el próximo vídeo.
03:11:21
Igualmente.
03:11:23
Gracias.
03:11:27
Y que nadie se olvide de firmar la salida.
03:11:29
No, ya han firmado todos. Han faltado tres.
03:11:33
Con lo cual
03:11:35
están todos firmados.
03:11:37
Bueno.
03:11:39
Muy bien. Pues nada, Jorge.
03:11:41
Que tengas un buen fin de...
03:11:43
Igualmente.
03:11:45
- Idioma/s:
- Autor/es:
- Juan Ramón García Montes
- Subido por:
- Tic ctif madrideste
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 10
- Fecha:
- 28 de abril de 2023 - 9:29
- Visibilidad:
- Clave
- Centro:
- C.TER.INN.Y FORM CTIF MADRID-ESTE
- Duración:
- 3h′ 11′ 46″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 1.14