Saltar navegación

IoT Avanzado - Sesión 6

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 4 de mayo de 2023 por Tic ctif madrideste

7 visualizaciones

Descargar la transcripción

Tiene los conectores de tal forma que se parecen a Arduino y que puedes, teóricamente, conectar 00:00:00
algún shield de Arduino ahí encima. 00:00:09
Y entonces lo que quería hacer era eso, una pequeña integración entre el 1200 a través 00:00:11
del IOT2050 de Siemens, usarlo como bróker de mosquito también y enviar mensajes con 00:00:18
Arduino y hacer una mezcla, mezclar a Arduino con el Siemens, con el S7-1200 en 1215. 00:00:27
Sí, pues te va a funcionar bien, porque yo el proyecto aquel lo hice con un Arduino 00:00:35
Uno, que es el más básico. 00:00:40
Sí, sí, sí, lo que quiero hacerlo con un Arduino Uno porque, claro, ahí tengo conectividad 00:00:42
de red física, de cable, entonces quería hacerlo por cable, no WiFi, o sea, conectar 00:00:46
directamente lo que es el, en 1215 lleva dos conexiones de red, entonces conectar una 00:00:53
directamente al IOT y del IOT conectar otra directamente al Arduino y que se hablasen 00:00:59
entre ellos ahí, pero usando MQTT en lugar de por ahí cualquier protocolo raro de Siemens 00:01:06
o alguna cosilla de estas. 00:01:14
Sí, pues estaba ahí, pues no sabía que Siemens tenía una gama que incorporaba no 00:01:15
de red. 00:01:19
Sí, es un elemento específico, si lo buscas por ahí se llama IOT 2050. 00:01:20
Sí, los que están ahí arriba, los que tienes ahí arriba. 00:01:35
Hay dos modelos, uno básico y uno avanzado. 00:01:38
Sí, esos son. 00:01:41
Y trae un Linux, trae dentro un Linux. 00:01:45
Sí, claro. 00:01:49
Y la verdad es que para empezar a juguetear, la verdad es que está bastante chulo. 00:01:52
Y así no necesitas, tienes un equipo industrial con las características de los equipos industriales 00:01:56
y no hay un Arduino o una Raspberry que montes ahí, ¿sabes? 00:02:03
Pues de precio no está mal para ser un Siemens. 00:02:09
No, no está excesivamente mal. 00:02:12
Así para casa es un poco carillo. 00:02:16
Sí, además se calienta bastante. 00:02:20
¿Ah, sí? 00:02:23
Sí, sí, sí. 00:02:24
Es uno de los problemas que tiene, que se calienta bastante. 00:02:25
El disipador ese que tiene, que es todo un lateral de disipador, está bien puesto porque se calienta un poquillo. 00:02:30
Curioso. 00:02:36
Pues nada, me lo apunto porque sé que algún día necesito algún cacharro industrial bueno con ODR. 00:02:37
Vale, vamos a ver cómo estamos. 00:02:45
Sí, perdona, ¿cómo se arrancaba el MQTT? 00:02:47
El MQTT... ¿Estás en Windows? 00:02:51
Sí. 00:02:54
Tienes que irte a servicios. 00:02:55
O sea, lo has instalado, ¿verdad? 00:02:58
Sí. 00:03:00
Vale, pues después de instalarlo... 00:03:01
Vale, después de instalarlo... 00:03:03
Darle botón derecho e iniciar. 00:03:28
Iniciar, vale. 00:03:30
Y a partir de ahora ya tanto el NodeRED como el MQTT Explorer. 00:03:34
Que si no lo tienes... 00:03:38
Espera, te paso el enlace porque supongo que también lo habrás perdido, ¿verdad? 00:03:39
Sí, está bien. 00:03:42
Te paso el enlace. 00:03:45
Te vendrá bien tenerlo cerrado. 00:03:50
Ahí lo tienes. 00:03:53
Vale. 00:03:54
Vale. 00:03:58
Bueno, pues Sony 5 estamos ya casi todos, casi todas. 00:03:59
Vale, hoy Juanra me dijo que no podría participar. 00:04:03
Así que me encargo yo de poner los códigos de entrada y de salida. 00:04:10
Vale, el de entrada supongo que lo estáis viendo ya, ¿verdad? 00:04:15
¿Estáis viendo mi pantalla? 00:04:17
Sí. 00:04:19
Sí, sí. 00:04:20
Vale, pues ahí lo tenéis. 00:04:21
Lo dejaré hasta el descanso más o menos. 00:04:23
Vale. 00:04:26
Vale, y nada, antes de continuar sí quería preguntaros, bueno, pues de lo que vimos la semana pasada. 00:04:30
Si había quedado alguna duda, si se veía todo más o menos bien. 00:04:39
¿Cuál era la idea de utilizar MQTT como mensajería? 00:04:43
Vale. 00:04:51
Bueno, uno de los motivos por los que utilizamos MQTT es por, creo que comenté ya el otro día. 00:04:53
Es porque, y lo que vamos a hablar justo ahora con Jesús. 00:05:02
Es porque es un protocolo tremendamente pequeño y eso permite que se pueda implementar en pequeños microcontroladores. 00:05:05
Como os estaba diciendo ahora, pues se puede meter incluso en un Arduino Uno. 00:05:12
Y el SP32, que para mí es lo que más me gusta ahora mismo para trabajar. 00:05:15
Pues tiene capacidad más que de sobra. 00:05:20
Entonces, las librerías de MQTT, tanto para Arduino como para SP32, que de hecho es la misma. 00:05:23
Son muy, muy fáciles de manejar y permiten enviar mensajes al broker. 00:05:29
Que luego, si con Node-RED estamos suscritos, podemos recibir información. 00:05:35
Es una forma muy cómoda de recibir información desde un Node-RED que tengamos remotamente a nuestro ordenador. 00:05:39
O al revés, el otro sentido. 00:05:45
Cuando publicamos un MQTT Out, pues que ese mensaje le llegue al SP32 que está suscrito al topic que nos interese. 00:05:47
De hecho, para Arduino y para SP32 también hay una librería que se llama libJSON o arduinoJSON. 00:06:00
Que también permite procesar JSON, por si es el formato que queremos. 00:06:11
Es decir, si en lugar de mandarle órdenes de tipo enciende o apaga, o on y off, le queremos mandar un JSON con una serie de propiedades. 00:06:16
Podemos hacerlo y esta librería deserializa. 00:06:22
Es decir, va recibiendo el JSON y genera un objeto con las diferentes propiedades que se pusieron a la hora de enviarlo. 00:06:25
Dice Ismael, perdona Jesús, me he instalado la aplicación de Teams pero no me salen las grabaciones en el chat. 00:06:36
¿Dónde puedo buscar? 00:06:44
Jesús, ¿te refieres a Jesús Ortera? 00:06:49
Sí, es que yo como tengo el Teams por debajo, en lugar de verlo en el navegador, tengo el Teams. 00:06:54
Entonces en Teams me va guardando ahí el chat. 00:07:05
Todo el chat de todos estos días lo tengo ahí puesto. 00:07:11
Yo también lo tengo guardado. 00:07:14
Entonces me aparecen también los enlaces a los vídeos para verlos desde ahí y toda la historia. 00:07:16
Pero si no lo tenías abierto pues ya no sé exactamente. 00:07:20
No, pero desde la web también se puede. 00:07:24
Mira, este es el Teams de la web. 00:07:26
No veo nada tuyo, eh. 00:07:31
¿No? 00:07:33
No. 00:07:34
Sí, sí, se ve a la derecha. 00:07:35
Yo sí lo estoy viendo. 00:07:37
¿Me veis ahora en pantalla completa, no, Ismael? 00:07:39
No, yo no. 00:07:42
Es que va muy lento. 00:07:43
Ahora sí. 00:07:45
Vale. 00:07:47
Pues aquí en el Teams, si le dais a dónde pone el chat. 00:07:48
A ver. 00:07:54
Ahora. 00:07:55
Que va lento, sí. 00:07:56
Aquí aparecen ya todas las conversaciones de todas las escenas anteriores. 00:07:57
Pero eso será por el tipo de cuenta porque yo he iniciado sesión como usuario o algo así. 00:08:03
Había como dos categorías, como nivel educativo y nivel usuario. 00:08:09
Yo he iniciado sesión la más básica y a mí en el chat de la reunión, que es parecido al vuestro, no me sale nada. 00:08:14
Solo los últimos mensajes. 00:08:22
Ah, curioso. 00:08:24
A mí me pasa igual. 00:08:27
Al haberlo formateado. 00:08:29
Vale. 00:08:30
Lo que no sé es cómo vuelvo ahora. 00:08:33
Espera un segundo que no... 00:08:36
Cómo vuelvo a la sesión. 00:08:38
¿Me veis? 00:08:45
Sí, sí. 00:08:54
He vuelto, ¿no? 00:08:56
¿Normal? 00:08:57
¿Y sigo podiendo estar en pantalla completa? 00:08:58
Te está viendo pequeñito. 00:09:01
Es que va bastante lento hoy. 00:09:03
No se te ve ni hablar ni nada. 00:09:06
Va súper lento. 00:09:09
Va con mucho retardo. 00:09:10
O con poco frame. 00:09:11
No sé si estaremos cargando la red con mucho tráfico por el tema del vídeo. 00:09:13
No debería. 00:09:22
Otras veces hemos hecho lo mismo y... 00:09:23
Sí, sí, sí. 00:09:25
Otras veces sí, pero hoy es que va bastante lento. 00:09:26
Vale. 00:09:31
Bueno, pues vamos a continuar. 00:09:32
Nos quedamos el otro día. 00:09:35
Estuvimos viendo los nodos básicos de MQTT IN y MQTT OUT. 00:09:37
Hicimos algunos ejemplos. 00:09:42
He estado tratando de pegarme, porque si recordáis, el otro día una de las cosas que os quise contar y no me salió es cómo hacer para que un mensaje retenido se borrara. 00:09:44
Bueno, me he estado leyendo la documentación oficial de Node-RED. 00:09:55
En principio es como yo sospechaba, es decir, es mandar un mensaje vacío aplicando el retain a true y no me lo quita. 00:09:59
Entonces, bueno, continuaré investigando. 00:10:08
Y a las malas, como nos queda una sesión más el lunes que viene, espero para entonces poder daros una solución a cómo se quita un retain de un mensaje para que se borre del servidor. 00:10:11
Vale. 00:10:26
Entonces, el otro día, como decía, estuvimos viendo los nodos de MQTT IN y MQTT OUT. 00:10:27
Pero no los íbamos a ver por completo. 00:10:41
Por ejemplo, en el nodo de MQTT IN sí que no había mucho más que rascar. 00:10:45
Teníamos el servidor, el topic al que queríamos inscribirnos, 00:10:51
el QoS, del QoS no hablamos. 00:10:55
El QoS básicamente lo que dice es con qué garantías queremos que un mensaje le llegue a cada uno de los suscriptores. 00:10:58
Entonces, cuando yo mando un mensaje, yo defino ese QoS por defecto. 00:11:10
Bien establecido a algo. Vale. Por defecto bien establecido a cero. 00:11:17
Como veis aquí en la documentación. 00:11:24
Que cero es lo que se conoce como fire and forget, es decir, disparar y olvidarte. 00:11:27
Eso lo que significa es que tú mandas un mensaje a un topic, si resulta que por algún motivo ese mensaje no llega, pues se pierde para siempre. 00:11:33
Al poner un 1 en QoS, al establecer un 1, lo que garantiza es que ese mensaje va a llegar a cada uno de los suscriptores al menos una vez. 00:11:44
Esto implica que, por cómo funciona el protocolo internamente, podría incluso llegar más de una vez. 00:11:55
Hay ocasiones en las cuales eso no es interesante o puede llevar a errores. 00:12:02
En caso de que estemos mandando un mensaje que haga un switch, que cambie de un estado a otro. 00:12:09
Que llegue dos veces implicaría volver a dejar las cosas como estaban. 00:12:13
Para eso está el tipo de QoS 2 que garantiza que el mensaje va a llegar a cada uno de los suscriptores una y solo una vez. 00:12:17
¿Por qué no poner siempre un 2? 00:12:28
Básicamente cuanto más QoS establezcamos a la hora de enviar un mensaje, más cargamos el sistema. 00:12:32
Más información hay que mandar. 00:12:40
Porque con el mensaje cero simplemente el publicador manda el mensaje y se olvida. 00:12:42
Con el 1 tiene que esperar a que se reciba una confirmación de que se ha recibido. 00:12:47
Con lo cual cada uno de los suscriptores tiene que ir mandando algo de que se ha recibido. 00:12:52
Mientras que con el 2 todavía se complica más porque cada suscriptor tiene que decir que le ha llegado. 00:12:58
Y el publicador de nuevo tiene que darle un ok a su segundo mensaje de que ha llegado. 00:13:03
Para no continuar mandándolo más. 00:13:09
No sé si será mi versión, pero entiendo que era la que teníamos los que nos hemos instalado últimamente en lo de red. 00:13:11
¿La de por defecto es la 2 justamente? 00:13:19
¿La por defecto es la 2? 00:13:22
La 2 cuando creo 1. 00:13:26
A mí por defecto me sale vacío. 00:13:33
Debería aparecerte vacío, sí. 00:13:35
Créate un nuevo mensaje de MQTT Out. 00:13:37
Hace doble clic y debería aparecerte vacío. 00:13:39
Perdón, lo estaba mirando en el MQTT In. 00:13:46
En el In sí que aparece el 2. 00:13:49
Estaba mirando en la In, perdona. 00:13:51
En el Out aparece, sí. 00:13:53
¿Por qué en el In? 00:13:55
Es decir, el 2 que es lo que significa en el MQTT de entrada. 00:13:57
Básicamente, cuando tenemos un nodo de MQTT, cuando tenemos un suscriptor, este número limita el valor máximo de mensajes a los cuales queremos estar suscritos. 00:14:02
Es decir, que si yo estoy suscrito con QoS 0 y alguien me manda un mensaje con MQTT 1, yo no lo voy a recibir. 00:14:15
Y si me lo manda con 2, tampoco. 00:14:25
Si estoy en 1 y me llega un mensaje con 0, lo recibo. 00:14:28
Que me llegue un mensaje con 1, también lo recibo. 00:14:31
Que me llegue uno con 2, no lo recibo. 00:14:33
Por eso el 2 es el más seguro. 00:14:36
Porque es, me llegue cualquier tipo de mensaje con cualquier QoS, yo lo voy a recibir. 00:14:38
Recibiré los de 0, los de 1 y los de 2. 00:14:43
Por eso, por defecto, viene el valor como más conservador, el valor que garantiza que siempre vamos a recibir. 00:14:45
Un nodo de salida viene sin marcar, pero si entramos en la documentación, podemos ver que el por defecto es este. 00:14:55
¿El tema de los comodines lo llegamos a ver bien el otro día o solo comentamos el de la almohadilla? 00:15:06
Solo el de la almohadilla. 00:15:30
Bueno, pues me quedaba por ver esa parte también. 00:15:38
Porque hay comodines que son multinivel. 00:15:41
¿A qué me refiero? 00:15:46
Por ejemplo, ¿tenéis abierto el MQTT Exported? 00:15:47
¿Sí? 00:15:52
Sí. 00:15:55
Vale, dejadme un segundito que cargue mi ventana. 00:15:56
Vale. 00:16:01
Entonces. 00:16:04
Vale. 00:16:07
Si yo me creo un MQTTin, y lo voy a conectar a un nodo de debut, 00:16:10
vamos a suponer que nos vamos a hacer una pequeña jerarquía en la cual vamos a tener alumnos cuyo apellido empiece a la L y alumnos que empiecen de la M a la Z. 00:16:20
En la cual vamos a tener alumnos cuyo apellido empiece a la L y alumnos que empiecen de la M a la Z. 00:16:39
Entonces, vamos a hacer que la jerarquía sea esta. 00:16:49
Alumnos barra L, ¿vale? 00:16:56
Que ahí estaría yo. 00:17:03
Y cada uno después con su nombre. 00:17:04
¿Vale? 00:17:08
Quiero que cada uno coja esta jerarquía. 00:17:09
Esperad, voy a ponerlo un poco más claro. 00:17:13
Se ve la pizarrilla, ¿verdad? 00:17:16
Sí, sí. 00:17:26
Vale. 00:17:28
Entonces, tenemos... 00:17:29
Vale. 00:17:32
Bueno, de la raíz colgan alumnos. 00:17:34
Y aquí va a haber dos jerarquías. 00:17:39
A, Z. 00:17:43
Y de aquí va a colgar cada uno de vuestros nombres. 00:17:44
Y por otro lado... 00:17:47
Perdón, A, Z no. 00:17:48
A, L. 00:17:50
Y por otro lado va a tener M, Z. 00:17:53
También con alumnos. 00:17:59
Entonces, lo que quiero es que cada uno publique bajo su nombre en donde corresponda. 00:18:01
Yo estaría aquí. 00:18:07
Alguien que sea Rey de Martínez estaría aquí. 00:18:08
Su nombre. 00:18:12
Y que publique cualquier valor. 00:18:13
Pues esto será igual a 5. 00:18:14
Lo que queráis. 00:18:17
¿Vale? 00:18:18
Entonces, probamos un segundo a ver cómo lo veo en MQTT. 00:18:19
¿Vale? 00:18:24
Vale. 00:18:27
A, L. Vale. 00:18:29
Este que ha publicado A, L igual a 5 se ha olvidado poner su nombre. 00:18:30
O sea, el topic tiene que ser alumno. 00:18:37
Sí, sí. 00:18:39
Vale, vale. 00:18:40
Jorge, perdona. 00:18:41
¿Puedes poner para conectarme al bróker tuyo? 00:18:42
Ah, sí, sí. 00:18:46
Claro. 00:18:47
Sí. 00:18:48
Vale, pues no mandéis ahora porque como me he desconectado no voy a poder ver los mensajes. 00:18:49
Entonces, esperad un poquito. 00:18:54
Perdón. 00:18:55
Esperad un poquito. 00:18:56
Aquí lo tienes. 00:18:57
De todas formas, esta misma pantalla la tienes en la documentación. 00:18:59
¿Vale? 00:19:01
Ah, vale. 00:19:02
Vale, entonces lo que me falta... 00:19:03
Vale, vale. 00:19:04
El puerto compróbalo porque no es el que viene por defecto. 00:19:07
Vale. 00:19:11
Y luego los usuarios en dormir.net y la clave espacio miscela todo junto. 00:19:14
Vale, perfecto. 00:19:19
Gracias. 00:19:25
Nada. 00:19:26
Pues cuando lo queráis podéis ir mandando. 00:19:27
Vale. 00:19:31
Alumnos... 00:19:32
Bueno, aquí tenemos... 00:19:33
Habría que ponerse de acuerdo en si son mayúsculas o minúsculas. 00:19:34
Pero, bueno, incluso me viene bien que sea así. 00:19:40
Que cada uno haya escrito en mayúsculas o minúsculas. 00:19:43
Perdona, Jorge. 00:19:46
A ver, yo he metido el MQTT... 00:19:48
A ver. 00:19:51
Out is test. 00:19:52
No, in. 00:19:53
He puesto el debug. 00:19:54
Ajá. 00:19:56
¿Y dónde tenía que dar para lanzar el in? 00:19:57
No, el in no. 00:19:59
Tú quieres publicar. 00:20:00
Tú si lo haces con... 00:20:01
Se lo pone el out, ¿no? 00:20:02
Si lo haces con node-red, tiene que ser en un out. 00:20:03
O si lo haces con el propio MQTT Explorer, en esta zona de aquí. 00:20:05
O sea, lo meto con un in. 00:20:10
Vale, para meterlo dentro del... 00:20:14
Sí, es que es jueto. 00:20:16
Esto lo tengo un poco... 00:20:17
Y le meto un inject primero, ¿no? 00:20:18
Para meterlo. 00:20:20
Correcto. 00:20:22
Pero ahora lo vemos de otra forma. 00:20:27
Sí, bueno, ahora lo vemos. 00:20:29
Vale, algo estoy haciendo mal. 00:20:30
Estoy despistado. 00:20:31
No sé qué me pasa. 00:20:32
¿Cómo lo has mandado? 00:20:33
Mira, espera, te lo explico. 00:20:34
No, es que estoy me dando en cuenta. 00:20:35
Le pongo un inject y me sale por el lado contrario. 00:20:37
Y algo tengo que estar haciendo mal. 00:20:41
A ver, esto es un... 00:20:43
Espera. 00:20:44
Vale, espera. 00:20:45
Out. 00:20:46
Vale, no, es un out. 00:20:47
No es un in, joder. 00:20:48
No, no, no. 00:20:49
Claro, para poder enviar tú... 00:20:50
Espera, queremos un inject. 00:20:51
Y vamos a mandar, por ejemplo, un número. 00:20:52
Vale. 00:20:54
Dos. 00:20:56
Y ahora esto lo queremos en un MQTT. 00:20:57
Out. 00:21:01
Y entonces, como hemos dicho, 00:21:03
la configuración del servidor ya está hecha 00:21:06
y queremos mandarla en alumnos 00:21:08
barra... 00:21:10
Yo, por ejemplo, MZ 00:21:11
barra mi nombre. 00:21:14
Pues, por ejemplo, Martín. 00:21:15
Martín. 00:21:20
Vale, ya veis en principio. 00:21:24
Despliego. 00:21:25
Envío. 00:21:26
Y ahora tenemos que tener en el MQTT Explorer 00:21:28
a Martín que está aquí. 00:21:32
Vale, entonces ahora yo... 00:21:35
Vale. 00:21:36
Has mandado un timestamp. 00:21:38
Vale, bueno, le pongo un... 00:21:39
No, le pongo un string y ya está. 00:21:41
Que lo que tengo que hacer es ver el string. 00:21:43
Le pongo que he llegado. 00:21:44
Hola, soy Marcos. 00:21:45
Y así mejor. 00:21:47
Porque si no... 00:21:49
Vale, ya está. 00:21:52
Y entonces tenemos... 00:21:54
Entonces, esto es lo que había que hacer, ¿no? 00:21:55
Sí, por ahora sí. 00:21:57
Porque te voy a enseñar uno de los comodines que hay. 00:21:58
Entonces, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11. 00:22:01
Quitándome a mí, que estoy dos veces nueve. 00:22:07
Me faltan... 00:22:10
Yo es que no lo estoy consiguiendo. 00:22:12
Yo, el formateo este me ha fastidiado, macho. 00:22:14
Vale, ¿no has conseguido el qué, perdona? 00:22:18
Pues estoy metido en... 00:22:21
Con el explorer me he metido en el... 00:22:23
En el servidor. 00:22:26
En el tuyo. 00:22:27
Y ahora estoy poniendo el topic y estoy mandando dentro en Raw. 00:22:28
Pero no sé por qué no está apareciendo. 00:22:32
Y le estás poniendo... 00:22:37
Me ves a mí, ¿no? 00:22:38
¿Cómo lo tengo configurado? 00:22:39
Sí. 00:22:40
¿Y qué estás poniendo tú? 00:22:42
¿Alumnos barra qué? 00:22:43
Alumno barra mz barra julio. 00:22:44
Vale. 00:22:48
¿Y aquí, en donde pone Raw, estás poniendo un número? 00:22:49
He puesto un julio ahora. 00:22:53
Mz... Vale, sí que está. 00:22:56
Ah, vale, ahora sí, joder. 00:22:57
Vale, vale. 00:22:58
Es alumnos, lo que estábamos haciendo. 00:22:59
Ah, perdón. 00:23:01
Vale, si lo puedes cambiar. 00:23:02
Vale, ¿y los demás? 00:23:08
Yo creo que no me he conectado al mqtt. 00:23:10
Estaba conectado con el otro y... 00:23:13
No sé ahora las claves. 00:23:15
Me dice que están en la documentación, pero no las puedo ver. 00:23:17
Sí, espera. 00:23:20
En la lección 3. 00:23:24
Claro, estaba conectado al otro. 00:23:27
Y este no lo tenía guardado, las claves. 00:23:29
Ah, pues... 00:23:34
Pues no, no me aparece en la documentación. 00:23:35
Espera, te lo pongo aquí en un bloque de notas. 00:23:40
¿Estás creando una nueva computación? 00:23:43
Del mqtt. 00:23:47
Tenía la otra, pero... 00:23:49
Si me dices, si espacio misela lo tengo... 00:23:52
No me acuerdo si es sin dormir con mayúscula o sin mayúscula. 00:23:54
Si, sendormil.net... 00:23:57
Clave espacio misela... 00:23:59
Servidor... 00:24:02
mqtt-sendormil.net 00:24:06
Y creo que no debería poner nada más. 00:24:08
Validación... 00:24:10
Ver certificado... 00:24:12
No. 00:24:15
Y TLS o algo así, tampoco. 00:24:17
¿Mqtt es con minúscula el servidor? 00:24:31
Da igual. 00:24:33
Los números de host de internet dan igual. 00:24:34
Vale. 00:24:37
Vamos a ver. 00:24:38
Y el host nada, ¿no? 00:24:41
¿El host? 00:24:43
¿Te pone algo o no? 00:24:46
Host es esto. 00:24:47
¿Cuál, cuál? ¿Dónde está? Ah, sí. 00:24:51
Ah, vale, vale. 00:24:52
Y entonces... 00:24:53
El host es esto. 00:24:55
Ah, el name es el que no estaba... 00:24:56
El name es el que pones tú o el que a tu voluntario... 00:24:59
El que quiera, ya, ya. 00:25:01
El que tenía puesto como name. Vale. 00:25:02
Vale. Aquí... 00:25:04
José Manuel me ha escrito en alumno, en lugar de alumnos. 00:25:05
Ok, escribo bien. 00:25:11
Lo digo para que funcione bien la práctica. 00:25:13
Jorge, yo he escrito dos porque pensaba que era por el apellido y luego por el nombre y no sé. 00:25:20
He puesto uno en cada. 00:25:25
No, no pasa nada. 00:25:26
No pasa nada. 00:25:27
Si lo que quería era que hubiera algunos en MZ y otros en AL. 00:25:28
Y las más alas pediré de nuevo que escribáis. 00:25:34
Escribáis en el mismo topic en el que habéis escrito ahora mismo. 00:25:37
Vale. 00:25:42
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20. 00:25:43
Ahí. 00:25:49
Ahí estoy casi todos. 00:25:50
¿Alguien más necesita ayuda o podemos continuar? 00:25:51
Yo, Jorge, estoy también intentando conectarme. 00:25:57
Por eso voy un poco más retrasado. 00:26:00
A ver si ahora... 00:26:02
Acabé un poco por detrás. 00:26:03
Me da tiempo y luego... 00:26:04
Dime, dime si no te funciona. 00:26:05
Esto lo tienes apuntado, ¿verdad? 00:26:06
Sí, sí lo tengo apuntado. 00:26:09
Vale. 00:26:11
Bueno, pues la idea es la siguiente. 00:26:13
Aquí veis, por ejemplo, que de otras cosas de no de red que tengáis por ahí, se están publicando mensajes. 00:26:16
Por ejemplo, si yo publico aquí en casa. 00:26:23
Hola y publico esto. 00:26:28
Pues se genera aquí este mensaje. 00:26:29
¿Por qué aparecen todas estas cosas? 00:26:32
Bueno, aparecen estas cosas porque, que ya lo vimos el otro día, 00:26:34
la configuración del MQTT Explorer no suscribe por defecto a almohadilla. 00:26:38
¿Vale? 00:26:43
Entonces, aquí cuando yo me suscribo a algo, que eso es el MQTT IN. 00:26:44
¿Vale? 00:26:50
Cuando yo pongo por defecto un MQTT IN, no aparece suscrito a nada. 00:26:51
Pero si yo decido suscribirme a almohadilla, 00:26:57
lo que va a suceder es que voy a recibir absolutamente todos los mensajes que se manden. 00:27:00
Voy a quitar aquí. 00:27:05
¿Podéis, por favor, escribir cualquier cosa? 00:27:07
¿En cualquier topic? 00:27:11
Vale, aquí tengo alumnos MZ Asunso, aquí tengo María. 00:27:12
Vale, voy a escribir yo en casa hola. 00:27:15
Vale, y aquí tenemos el de casa hola. 00:27:21
Es decir, va a llegar absolutamente todos los mensajes que se manden. 00:27:22
Vale, y aquí tenemos el de casa hola. 00:27:27
Es decir, va a llegar absolutamente cualquier cosa que se publique en cualquier topic, en cualquier subcategoría. 00:27:28
¿Vale? 00:27:37
Sin embargo, hay veces que a mí me interesa solo quedarme con ciertas partes, por ejemplo. 00:27:42
A ver, tenemos la suerte de que... 00:27:51
Había nombres repetidos, ¿verdad? 00:27:55
Ángel y Ángelita. 00:27:59
¿Hay dos ángeles? 00:28:04
¿Sí, verdad? 00:28:05
Sí, sí. 00:28:06
Vale, lo único que ponedos de acuerdo es utilizar la inicial de vuestro nombre en mayúsculas. 00:28:07
Ahí podéis repetir. 00:28:14
El ángel, su apellido, está entre la A y la L. 00:28:15
Voy allá. 00:28:20
Ahí va yo. 00:28:30
Yo lo que pasa, que soy Pablo, he puesto en el apellido... 00:28:31
Pensaba que lo de MZ te referías al nombre que iba a poner. 00:28:35
En este caso, Pablo, lo he metido en MZ. 00:28:42
Vale. 00:28:44
O sea, da un poco igual. 00:28:46
En esta jerarquía, imaginamos que yo solo quiero leer información de Ángel independientemente de cómo esté su apellido. 00:28:51
Entonces, yo si hago así, ¿qué voy a recibir a partir de ahora? 00:29:04
Pues todo aquello que provenga de alumnos. 00:29:11
Voy a borrar. 00:29:14
Despego. 00:29:15
Ahí recibo... 00:29:16
Este es otro sitio. 00:29:20
Si mando casa hola y publico, ya no me va a llegar porque estoy suscrito a alumnos y lo que venga a continuación. 00:29:26
La cuestión es que esta almohadilla es una almohadilla finalizadora, por así decirlo. 00:29:35
Es decir, yo aquí ya no puedo filtrar más. 00:29:42
Yo no puedo decir, por ejemplo, este que acaba de llegar Juanma, no puedo decir barra Juanma. 00:29:44
De hecho, veis que aparece con un triangulito de... 00:29:49
Esto es un problema. 00:29:54
Porque no admitimos en la almohadilla que después de ella vaya ninguna otra cosa. 00:29:56
Entonces, si en lugar de una almohadilla yo pongo un más y después cualquier cosa... 00:30:01
Vale. 00:30:13
¿Juanma, puedes escribir de nuevo, por favor? 00:30:17
¿Vale? 00:30:22
Y ahora, cámbiate el apellido. 00:30:23
Ponte que tu apellido en vez de ser de la L es de la M a la Z. 00:30:25
Es decir, escribe algo en alumnos.mz.pan. 00:30:29
O sea, donde digo punto quiero escribir barra. 00:30:33
Sí, sí, voy, voy. 00:30:36
¿Vale? 00:30:41
O también los dos Ángel. 00:30:42
¿Podéis escribir cada un hola? 00:30:45
Sí. 00:30:47
Cambiaros el apellido. 00:30:54
¿Vale? 00:31:08
¿Ángel? 00:31:26
¿Ha visto? 00:31:28
No ha llegado a nada. ¿Lo vuestro? 00:31:32
No. 00:31:34
Ah, perdón, perdón, perdón. 00:31:36
Claro, claro. 00:31:38
Disculpadme. 00:31:42
Hemos quedado que lo poníamos los dos en minúsculas. 00:31:44
Ah, espera. 00:31:50
Es que antes he visto aquí un Ángel y aquí otro Ángel. 00:31:51
Bueno. 00:31:58
Aquí lo tenemos. 00:31:59
Aquí ha habido, bueno, incluso un Ángel que está en XX. 00:32:00
¿Vale? 00:32:05
Que es cualquier cosa. 00:32:06
Si ahora escribís los Ángeles que estáis en AL o MZ también vais a aparecer aquí. 00:32:07
Perfecto. 00:32:16
Ahí tenemos AMZ. 00:32:17
¿Vale? 00:32:21
Entonces esto es el comodín que sí que permite continuar avanzando por la derecha. 00:32:22
¿Para qué suele valer esto? 00:32:29
Bueno, pues, por ejemplo, cuando yo... 00:32:31
Esto creo que lo comenté el primer día. 00:32:33
Un ejemplo clásico de MQTT o de tipología de MQTT puede dar en un hotel. 00:32:35
Como digo, tengo un montón de habitaciones. 00:32:42
Tengo hotel. 00:32:45
Este hotel cuelga en las plantas. 00:32:47
¿Vale? 00:32:49
La planta 1. 00:32:50
En la planta 1 cuelga la habitación 101, la habitación 102, la habitación 103. 00:32:54
Y de cada una de esas habitaciones cuelga el sensor de temperatura, el sensor de humedad, 00:32:58
el sensor de luminosidad y el sensor de inundación, por ejemplo. 00:33:04
¿Vale? 00:33:11
Entonces, hacer una consulta para luego representar, por ejemplo, en una pantalla gráfica, 00:33:12
el estado de las temperaturas de todas las habitaciones de una planta es muy sencillo. 00:33:17
¿Vale? 00:33:21
Lo que yo puedo decir, pues, obtenme de hotel de planta 1 de todas las habitaciones los sensores de temperatura. 00:33:22
¿Vale? 00:33:37
O incluso si yo quiero tener, si me meto los pequeñitos y me caben todas las habitaciones en una pantalla, 00:33:38
pues yo podría poner hotel de todas las plantas de todas las habitaciones todas las humedades, por ejemplo. 00:33:42
Y eso haría que cualquier cosa que se publique, cualquier cosa que se publique dentro de hotel 00:33:53
y que acabe con humedad después de haber recorrido dos subdirectorios, por así decirlo, 00:34:03
se muestre en la consulta a usted suscrito a cualquier cosa que se publique ahí. 00:34:10
¿Y no se puede poner de la 103 a la 108, por ejemplo, con corchetes o algo así? ¿No existe eso? 00:34:15
No, no. Si quieres hacer cosas de esas, ya te toca hacerlo con los nodos de Switch. 00:34:20
Ah, vale. 00:34:27
Y ahí tienes que recordar que esto, cuando nos llegue un topic, no nos va a llegar esto, 00:34:29
sino que nos va a llegar, en lugar de esto, nos va a llegar aquí. 00:34:34
Nos va a llegar eso, el completo. 00:34:41
Aquí de este mensaje que me ha llegado. 00:34:50
Aquí estamos en este output, que es el que ha generado estos mensajes. 00:34:52
Fijaos que me llegan dos informaciones importantes. 00:34:56
Por un lado, está el payload, que lo que nos dice es qué es lo que se ha enviado. 00:35:01
Pero luego también tenemos esta propiedad, que es el topic. 00:35:05
Os voy a silenciar, porque hay gente que tiene el micrófono y se está colando por ahí. 00:35:09
Y estoy escuchando a mí mismo, que es un rollo. 00:35:13
O silencio, ¿vale? El que quiera hablar luego que recuerde. 00:35:19
Vale, entonces, si tú quisieras, digamos, hacer una especie de selección del topic en el que se ha publicado el mensaje, 00:35:28
tendrías que utilizar uno de los nodos que vimos el otro día. 00:35:38
Aquí se me ocurren dos, básicamente. 00:35:44
O el nodo de switch, que permite determinar una cosa y generar un flujo en un sentido, 00:35:47
otro flujo en otro, en función de cómo se encuentra el topic. 00:35:52
O un nodo de función, que también nos permite hacer lo mismo. 00:35:55
¿Recuerdas cómo vimos para hacer que una función generara dos salidas diferentes? 00:35:59
Sí, yo sí me acuerdo. Ponía la condición y si no iba para el 1, al 2, al 3, todo eso, ¿no? 00:36:06
Eso es. Entonces, evaluando el contenido del topic, podemos hacer que vaya para una parte del flujo o para otra. 00:36:11
Vale. 00:36:21
Vale, pero el protocolo por sí mismo no permite hacer, digamos, de una misma jerarquía, de una estructura de la jerarquía, no permite segmentar. 00:36:22
Si quieres segmentar por protocolo, entonces tienes que hacerte un subnivel más. 00:36:38
¿Vale? 00:36:42
Entonces, de aquí, la importancia de que cuando hagamos algún tipo de proyecto gordo con MQTT, que establezcamos bien cuál va a ser la jerarquía que vamos a utilizar, 00:36:47
en función de luego cómo van a ser las consultas que vamos a querer hacer. 00:36:59
¿Vale? 00:37:03
Aquí, por ejemplo, para Nautil, pues parece claro que yo voy a poder querer necesitar, voy a necesitar, de todas las situaciones, todas las temperaturas. 00:37:04
De todas las situaciones, todas las sensores de iluminación. 00:37:12
¿Vale? 00:37:15
Pero en otras ocasiones, pues habrá que organizar esto de otra manera para que yo pueda hacer consultas de una forma sencilla. 00:37:16
Bueno, consultas, que pueda estar suscrito de una forma sencilla a lo que realmente luego me interese para cumplir con la aplicación que me han pedido, quiero hacer. 00:37:22
¿Vale? 00:37:33
Aquí, por ejemplo, si jugáis con los chavales y cada uno tiene un ordenador que mande información, pues a lo mejor, no sé si podéis dar nombres a los pupitres, o no sé, lo que se os ocurra. 00:37:34
¿Vale? 00:37:50
¿Dudas hasta aquí? 00:37:51
¿Estáis? 00:37:54
Vale. 00:37:58
Un segundo que reviso el chat. 00:37:59
Vale. 00:38:01
Juan Luis está con problemas del equipo. 00:38:04
Vale, si te puedo ayudar, me dices. 00:38:08
Vale. 00:38:19
Vale, los módulos de configuración los estamos viendo. 00:38:24
Jorge, una pregunta. 00:38:34
Como DIN S+, si yo, detrás del Más, imagínate que pongo un 5, por ejemplo, para la habitación que termine en 105, 115 y tal, ¿eso sirve? 00:38:36
Diría que no. 00:38:49
Si pones el Más, es solo Más hasta la siguiente barra. 00:38:51
Diría que no, pues lo probamos ahora mismo. 00:38:56
Por ejemplo, si yo voy a publicar en... 00:38:59
De hecho, aquí, fíjate que ya el propio nodo de MQTT ya se queja. 00:39:02
Vamos a darle a despegar. 00:39:10
Se está quejando. 00:39:11
Dice, este entorno de trabajo contiene algunos nodos que no están bien configurados. 00:39:12
Vale, entonces, le muestro que sí, pero aquí me dice que nada, que no hay. 00:39:17
Que no, que ese topic que le he especificado para suscripción no es adecuado. 00:39:21
Si le pongo al revés, me va a decir lo mismo. 00:39:26
Vale, lo mismo. 00:39:31
O sea, esto es cualquier elemento dentro de este nivel. 00:39:33
Lo que sí que podemos hacer es, por ejemplo, si hubiéramos creado primer apellido y segundo apellido, podemos hacer esto. 00:39:37
Todos los apellidos, con segundo apellido... 00:39:46
O sea, todos los alumnos, con segundo apellido, cualquier cosa. 00:39:48
Y primer apellido, cualquier cosa. 00:39:51
Y que se llamen Ángel. 00:39:52
Quiero estar suscrito a ellos. 00:39:55
Lo único que si hacemos esto. 00:39:56
Si yo le doy a aplicar. 00:39:58
Ahora, con los mensajes tal y como los tenéis generados, no va a aparecer nada por aquí. 00:40:00
Porque esto no es como un asterisco de cuando buscamos en un nombre de fichero, por ejemplo. 00:40:06
Sino que ahora requiere que haya dos subniveles. 00:40:12
No sé si me explico. 00:40:16
¿Podéis publicar en alguno de los dos Ángel? 00:40:18
Vale, no aparece nada. ¿Por qué? 00:40:24
Porque lo que está esperando este topic es que yo venga aquí... 00:40:26
Perdona, tengo un jaleo de ventanas. 00:40:30
Que yo venga aquí y publique en alumnos, barra algo, otro algo, Ángel. 00:40:33
Ahora, aquí ya sí que llega. 00:40:45
Porque requiere que haya dos niveles antes. 00:40:49
Básicamente, habrá veces que la jerarquía nos permite hacer una segmentación adecuada de los mensajes que quiero recibir. 00:40:53
Y otras veces que tengo que hacer un posprocesado de los mensajes que según llegan, poniendo un nodo de función entre medias. 00:40:59
Y aquí ya evalúo. 00:41:11
Por ejemplo, ya veo que Marcos y Ángel han probado ya poner la jerarquía correcta. 00:41:13
Pues eso, el protocolo MQTT permite unas cosas. 00:41:19
Para todo lo que no permita MQTT, nos toca ya hacer un switch o hacer una función que complementen al propio protocolo. 00:41:22
Vale. 00:41:31
Pues si os parece, vamos a practicar alguno de estos métodos. 00:41:46
Y por ahora vamos a empezar a hacer el primer ejercicio. 00:41:52
Esto podéis hacerlo una de dos o que cada uno se genere un nombre de hotel al azar. 00:41:56
Porque vamos a utilizar el mismo MQTT. 00:42:05
Creo que es mejor si todos utilizamos el centralizado, porque así yo puedo echar una mano en caso de que no funcione. 00:42:10
Entonces, que cada uno se invente el nombre de su hotel. 00:42:16
Vale. 00:42:21
Y se suscribe al que corresponda. Por ahora vamos a intentar hacer el primero. 00:42:22
Cualquier cosa me lo vais diciendo. 00:42:36
Idioma/s:
es
Autor/es:
CTIF Madrid Este
Subido por:
Tic ctif madrideste
Licencia:
Todos los derechos reservados
Visualizaciones:
7
Fecha:
4 de mayo de 2023 - 15:03
Visibilidad:
Clave
Centro:
C.TER.INN.Y FORM CTIF MADRID-ESTE
Duración:
3h′ 09′ 41″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
1.11

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid