{"id":372069,"date":"2024-04-29T14:54:11","date_gmt":"2024-04-29T14:54:11","guid":{"rendered":"https:\/\/pandorafms.com\/?p=372069"},"modified":"2026-01-23T12:23:43","modified_gmt":"2026-01-23T12:23:43","slug":"que-es-mqtt","status":"publish","type":"post","link":"https:\/\/pandorafms.com\/es\/it-topics\/que-es-mqtt\/","title":{"rendered":"\u00bfQu\u00e9 es MQTT? El protocolo m\u00e1s utilizado para IoT"},"content":{"rendered":"<p>[et_pb_section fb_built=\u00bb1&#8243; admin_label=\u00bbSection\u00bb _builder_version=\u00bb4.22.0&#8243; _module_preset=\u00bbdefault\u00bb custom_margin=\u00bb0px||0px||false|false\u00bb custom_padding=\u00bb0px||0px||false|false\u00bb locked=\u00bboff\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_row column_structure=\u00bb1_4,3_4&#8243; _builder_version=\u00bb4.22.0&#8243; _module_preset=\u00bbdefault\u00bb custom_padding=\u00bb50px||||false|false\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb1_4&#8243; disabled_on=\u00bbon|on|off\u00bb _builder_version=\u00bb4.22.0&#8243; _module_preset=\u00bbdefault\u00bb custom_padding=\u00bb||||false|false\u00bb sticky_position=\u00bbtop\u00bb sticky_offset_top=\u00bb100px\u00bb sticky_limit_bottom=\u00bbsection\u00bb motion_trigger_start=\u00bbtop\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_text admin_label=\u00bbindice\u00bb _builder_version=\u00bb4.22.0&#8243; _module_preset=\u00bbdefault\u00bb custom_margin=\u00bb||0px||false|false\u00bb custom_padding=\u00bb||14px||false|false\u00bb link_option_url=\u00bb#1&#8243; global_colors_info=\u00bb{}\u00bb]<\/p>\n<p style=\"font-size: 0.9em; line-height: 1.4em; color: #333333;\"><strong>Secciones<\/strong><\/p>\n<ul class=\"ittopicsul\">\n<li><a href=\"#1\">Definici\u00f3n y significado de MQTT (MQ Telemetry Transport)<\/a><\/li>\n<li><a href=\"#2\">Historia y Evoluci\u00f3n de MQTT<\/a><\/li>\n<li><a href=\"#3\">Funcionamiento de MQTT<\/a><\/li>\n<li><a href=\"#4\">Beneficios y Aplicaciones de MQTT<\/a><\/li>\n<li><a href=\"#5\">Desventajas y Retos de MQTT<\/a><\/li>\n<li><a href=\"#6\">Seguridad en MQTT<\/a><\/li>\n<li><a href=\"#7\">MQTT y WSS (MQTT sobre WebSockets)<\/a>\n<li><a href=\"#8\">Conclusiones y consideraciones<\/a><\/li>\n<\/ul>\n<p>[\/et_pb_text][\/et_pb_column][et_pb_column type=\u00bb3_4&#8243; _builder_version=\u00bb4.22.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_text admin_label=\u00bbseccion\u00bb module_id=\u00bb1&#8243; module_class=\u00bbittopicscontent\u00bb _builder_version=\u00bb4.22.0&#8243; _module_preset=\u00bbdefault\u00bb z_index=\u00bb0&#8243; custom_margin=\u00bb0px||0px||true|false\u00bb custom_padding=\u00bb0px||0px||false|false\u00bb custom_css_main_element=\u00bbfont-family:%22Pandora-Light%22;\u00bb locked=\u00bboff\u00bb global_colors_info=\u00bb{}\u00bb]Hoy en d\u00eda la infraestructura de las organizaciones est\u00e1 cada vez m\u00e1s extendida, m\u00e1s all\u00e1 del centro de datos. Parte de esta se encuentra en el Internet de las Cosas (Internet of Things, IoT), que permite una mayor integraci\u00f3n entre el hardware y los sistemas digitales (Tecnolog\u00eda Operativa y Tecnolog\u00eda de Informaci\u00f3n, TO\/TI), revolucionando la interconexi\u00f3n entre los dispositivos, permitiendo una mayor eficiencia y automatizaci\u00f3n. Tambi\u00e9n <a href=\"https:\/\/pandorafms.com\/blog\/es\/que-es-el-internet-de-las-cosas\/\" target=\"_blank\" rel=\"noopener\">IoT<\/a> permite obtener y procesar con menor latencia los datos para aumentar la productividad y mejorar las operaciones empresariales. Seg\u00fan <a href=\"https:\/\/www.techopedia.com\/es\/estadisticas-iot\" target=\"_blank\" rel=\"nofollow noopener\">estad\u00edsticas<\/a> recientes, al 2023, 57% de las organizaciones norteamericanas y europeas usan actualmente IoT en sus operaciones. En este panorama, el protocolo MQTT (<a href=\"https:\/\/en.wikipedia.org\/wiki\/MQTT\" target=\"_blank\" rel=\"nofollow noopener\">Message Queuing Telemetry Transport<\/a>) emerge como una piedra angular, facilitando una comunicaci\u00f3n \u00e1gil y eficaz entre dispositivos en el vasto ecosistema del IoT.<\/p>\n<h2 id=\"1\">Definici\u00f3n y significado de MQTT (MQ Telemetry Transport)<\/h2>\n<p>MQTT (<a href=\"https:\/\/devopedia.org\/mqtt\" target=\"_blank\" rel=\"nofollow noopener\">Message Queuing Telemetry Transport<\/a>) es un protocolo de mensajer\u00eda eficiente y ligero dise\u00f1ado para la comunicaci\u00f3n desde dispositivos con limitaciones en recursos o ancho de banda como el Internet de las Cosas (IoT). Se apoya en un protocolo de transporte que habilita conexiones ordenadas y bidireccionales, normalmente como <a href=\"https:\/\/en.wikipedia.org\/wiki\/TCP\/IP\" target=\"_blank\" rel=\"nofollow noopener\">TCP\/IP<\/a>, como tambi\u00e9n en <a href=\"https:\/\/en.wikipedia.org\/wiki\/QUIC\" target=\"_blank\" rel=\"nofollow noopener\">QUIC<\/a> (m\u00e1s popular en navegador de Chrome de Google), bajo los est\u00e1ndares de <a href=\"https:\/\/en.wikipedia.org\/wiki\/OASIS_(organization)\" target=\"_blank\" rel=\"nofollow noopener\">OASIS<\/a> y recomendaciones de <a href=\"https:\/\/en.wikipedia.org\/wiki\/International_Organization_for_Standardization\" target=\"_blank\" rel=\"nofollow noopener\">ISO<\/a>  (ISO\/IEC 20922).<\/p>\n<h3>Origen y prop\u00f3sito del protocolo MQTT<\/h3>\n<p>Concebido por el Dr. Andy Stanford-Clark y Arlen Nipper en 1999, MQTT ha evolucionado para convertirse en un est\u00e1ndar fundamental para la transmisi\u00f3n de datos entre dispositivos conectados, tales como los sensores de luz, movimiento, temperatura, tel\u00e9fonos m\u00f3viles y ordenadores. Su estandarizaci\u00f3n por <a href=\"https:\/\/www.bing.com\/ck\/a?!&#038;&#038;p=ac6fff5ccf2e2be6JmltdHM9MTcxMjg4MDAwMCZpZ3VpZD0yOWQ2MDg0Zi1jODBmLTYyODQtM2IxNy0xOTNmYzk0ZTYzMmUmaW5zaWQ9NTIwMw&#038;ptn=3&#038;ver=2&#038;hsh=3&#038;fclid=29d6084f-c80f-6284-3b17-193fc94e632e&#038;psq=mqtt%2bOASIS&#038;u=a1aHR0cHM6Ly9ncm91cHMub2FzaXMtb3Blbi5vcmcvY29tbXVuaXRpZXMvdGMtY29tbXVuaXR5LWhvbWUtbmV3P0NvbW11bml0eUtleT05OWM4NmUzYS01OTNjLTQ0NDgtYjdjNS0wMThkYzdkM2YyZjY&#038;ntb=1\" target=\"_blank\" rel=\"nofollow noopener\">OASIS<\/a> en 2013 consolid\u00f3 su posici\u00f3n como una herramienta clave en el \u00e1mbito del IoT. La simplicidad, la escalabilidad y la capacidad para operar en redes de baja potencia han contribuido al \u00e9xito continuo de MQTT en facilitar una comunicaci\u00f3n eficiente en entornos IoT diversos.<\/p>\n<p><img decoding=\"async\" class=\"imgpostcapture lazyload\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/pandorafms.com\/wp-content\/uploads\/2024\/04\/MQTT-0-pfms-blog.png\"><\/p>\n<h2 id=\"2\">Historia y Evoluci\u00f3n de MQTT<\/h2>\n<h3>Desarrollo de MQTT hasta la versi\u00f3n actual, como est\u00e1ndar de OASIS e ISO<\/h3>\n<p>Originalmente, MQTT se invent\u00f3 en 1999 para la industria del petr\u00f3leo y el gas, por la necesidad de un protocolo con el ancho de banda m\u00ednimo y que adem\u00e1s procurara una p\u00e9rdida de bater\u00eda m\u00ednima, con el fin de poder supervisar los oleoductos v\u00eda sat\u00e9lite. En ese entonces, el protocolo se llamaba Transporte de Telemetr\u00eda de Message Queue Server por el producto MQ Series de IBM, el cual fue el primero en aceptarlo. Despu\u00e9s, en 2010, IBM lanz\u00f3 MQTT 3.1 como protocolo gratuito y abierto, de manera que cualquiera pudiera implementarlo. En 2013, se envi\u00f3 a OASIS, la Organizaci\u00f3n para el Avance de Est\u00e1ndares de Informaci\u00f3n Estructurada (<a href=\"https:\/\/www.bing.com\/ck\/a?!&#038;&#038;p=9329213b1d10da4aJmltdHM9MTcxMjg4MDAwMCZpZ3VpZD0yOWQ2MDg0Zi1jODBmLTYyODQtM2IxNy0xOTNmYzk0ZTYzMmUmaW5zaWQ9NTM1MQ&#038;ptn=3&#038;ver=2&#038;hsh=3&#038;fclid=29d6084f-c80f-6284-3b17-193fc94e632e&#038;psq=ORGANIZACION+OASIS%2bMQTT&#038;u=a1aHR0cHM6Ly9kb2NzLm9hc2lzLW9wZW4ub3JnL21xdHQvbXF0dC92NS4wL21xdHQtdjUuMC5odG1s&#038;ntb=1\" target=\"_blank\" rel=\"nofollow noopener\">OASIS<\/a>), para su estandarizaci\u00f3n.<br \/>\nEn 2019, OASIS lanz\u00f3 la versi\u00f3n 5 de MQTT e incluso convierte el acr\u00f3nimo en el nombre oficial del protocolo para IoT y se reconoce como est\u00e1ndar ISO (ISO\/IEC PRF 20922) del protocolo de mensajer\u00eda basado en publicaci\u00f3n\/suscripci\u00f3n.<\/p>\n<h2 id=\"3\">Funcionamiento de MQTT<\/h2>\n<h3>Modelo de comunicaci\u00f3n de publicaci\u00f3n\/suscripci\u00f3n<\/h3>\n<p>El protocolo MQTT funciona seg\u00fan los principios del modelo de publicaci\u00f3n o suscripci\u00f3n. En la comunicaci\u00f3n de red tradicional, los clientes y servidores se comunican directamente entre s\u00ed, donde los clientes solicitan recursos o datos del servidor y, a continuaci\u00f3n, el servidor procesa y env\u00eda una respuesta. Sin embargo, MQTT utiliza un patr\u00f3n de publicaci\u00f3n o suscripci\u00f3n para desacoplar el remitente del mensaje (editor), del receptor del mensaje (suscriptor), y un tercer componente, denominado agente de mensajes, controla la comunicaci\u00f3n entre editores y suscriptores. El trabajo del agente consiste en filtrar todos los mensajes entrantes de los editores y distribuirlos correctamente a los suscriptores. El agente desacopla los editores y suscriptores de la siguiente manera:<\/p>\n<ul class=\"lista\">\n<li><strong>Desacoplamiento espacial:<\/strong> el editor y el suscriptor no conocen la ubicaci\u00f3n de la red del otro y no intercambian informaci\u00f3n, tales como direcciones IP o n\u00fameros de puerto.<\/li>\n<li><strong>Desacoplamiento de tiempo:<\/strong> editor y suscriptor no ejecutan ni tienen conectividad de red al mismo tiempo.<\/li>\n<li><strong>Desacoplamiento de sincronizaci\u00f3n:<\/strong> editores y suscriptores pueden enviar o recibir mensajes sin interrumpirse entre s\u00ed. Es decir, el suscriptor no tiene que esperar a que el editor env\u00ede un mensaje.<\/li>\n<\/ul>\n<h3>Componentes de MQTT: Cliente y agentes<\/h3>\n<ul class=\"lista\">\n<li><strong>Cliente MQTT:<\/strong> Cualquier dispositivo que ejecuta una biblioteca MQTT. Si el cliente env\u00eda mensajes es el editor; si recibe mensajes, es el receptor.<\/li>\n<li><strong>Agente MQTT:<\/strong> Es el sistema de back-end que coordina los mensajes entre los clientes. Se encarga de recibir y filtrar mensajes, identificar clientes suscritos a cada mensaje y enviarles los mensajes. Tambi\u00e9n se encarga de la autorizaci\u00f3n y autenticaci\u00f3n de clientes MQTT, pase de mensajes a otros sistemas para su an\u00e1lisis y el control de mensajes perdidos y sesiones de clientes.<\/li>\n<\/ul>\n<h3>Proceso de conexi\u00f3n y comunicaci\u00f3n entre clientes y agentes<\/h3>\n<p><strong>Conexi\u00f3n MQTT:<\/strong> Los clientes inician la conexi\u00f3n en MQRR al enviar un mensaje de CONECTAR al agente. El agente confirma la conexi\u00f3n establecida con un mensaje CONNACK. Tanto el cliente como el agente requieren de TCP o IP para comunicarse- no se conectan entre s\u00ed sin el agente.<br \/>\nLa arquitectura de MQTT, controlada por eventos, destaca por su capacidad para gestionar mensajes de tama\u00f1o reducido y claramente definidos. Adem\u00e1s, introduce el concepto de Calidad de Servicio (QoS) con niveles 0, 1 y 2 (que explicaremos m\u00e1s adelante en la secci\u00f3n de beneficios), permitiendo adaptar la entrega de mensajes a las necesidades espec\u00edficas de cada aplicaci\u00f3n. Con estas caracter\u00edsticas, MQTT se erige como un protocolo vers\u00e1til y eficaz para la comunicaci\u00f3n en entornos IoT, ofreciendo una infraestructura robusta y escalable.<br \/>\nLos temas en MQTT son cadenas jer\u00e1rquicas que se utilizan para categorizar mensajes. Los suscriptores pueden filtrar mensajes suscribi\u00e9ndose a temas espec\u00edficos, con lo que se logra una distribuci\u00f3n de datos eficiente. Estos temas se organizan jer\u00e1rquicamente mediante el uso del car\u00e1cter \u00ab\/\u00bb como delimitador, facilitando una estructura ordenada y comprensible. Una caracter\u00edstica destacada es la retenci\u00f3n de mensajes, asegurando que los nuevos suscriptores reciban la informaci\u00f3n m\u00e1s reciente. Adem\u00e1s, MQTT incorpora el concepto de \u00ab\u00faltima voluntad y testamento\u00bb, proporcionando una estrategia para manejar desconexiones inesperadas al establecer un mensaje predeterminado que se enviar\u00e1 en tales situaciones. Estos elementos enriquecen la flexibilidad y confiabilidad de MQTT, consolid\u00e1ndolo como un protocolo vers\u00e1til y robusto en el contexto del Internet de las Cosas (IoT).<br \/>\nOtro aspecto importante es que MQTT se distingue por cuatro acciones principales que constituyen su funcionalidad central:<\/p>\n<ul class=\"lista\">\n<li><strong>Publicar:<\/strong> Permite a los clientes enviar mensajes a un tema espec\u00edfico, compartiendo informaci\u00f3n relevante.<\/li>\n<li><strong>Suscribirse:<\/strong> Posibilita a los clientes recibir mensajes de un tema determinado, permitiendo una comunicaci\u00f3n bidireccional.<\/li>\n<li><strong>Ping:<\/strong> Mantiene la conexi\u00f3n entre clientes y br\u00f3keres, asegurando la vigencia y eficiencia del intercambio de informaci\u00f3n.<\/li>\n<li><strong>Desconectar:<\/strong> Permite a los clientes finalizar su conexi\u00f3n de manera ordenada.<\/li>\n<\/ul>\n<p>Cada una de estas acciones desempe\u00f1a un papel crucial en el protocolo MQTT, facilitando una comunicaci\u00f3n \u00e1gil y confiable en el entorno din\u00e1mico del Internet de las Cosas (IoT).<\/p>\n<h2 id=\"4\">Beneficios y Aplicaciones de MQTT<\/h2>\n<h3>Ventajas de utilizar MQTT en entornos de IoT y IoT Industrial (IioT)<\/h3>\n<ul class=\"lista\">\n<li><strong>Ligero, con un encabezado fijo de 2 a 5 bytes, por lo que su \u201cpeso\u201d en la red es ligero.<\/strong> No solo se optimiza el ancho de banda al momento de tener muchos dispositivos conectados y enviando mensajes simult\u00e1neamente, sino que tambi\u00e9n permite ser usado en zonas donde la conexi\u00f3n de internet es inestable o muy limitada.<\/li>\n<li><strong>Altamente compatible, al ser un est\u00e1ndar soportado por m\u00faltiples dispositivos IoT que usan este protocolo.<\/strong> Para implementarlo, se requiere un c\u00f3digo m\u00ednimo, lo cual es una clara ventaja para dispositivos de distintos fabricantes o de memoria limitada.<\/li>\n<li><strong>Confiable, <\/strong>con tres niveles de calidad en el servicio (QoS, Quality of Service):\n<ul class=\"lista\">\n<li><strong>Nivel 0 (lanzar y olvidar).<\/strong> En este nivel, cada mensaje se env\u00eda una vez a cada suscriptor, sin esperar confirmaci\u00f3n, lo que reduce al m\u00e1ximo el ancho de banda. El mensaje no se almacena. En caso de que los clientes est\u00e9n desconectados en ese momento, \u00e9stos no recibir\u00e1n el mensaje, por lo que se recomienda para casos en que la p\u00e9rdida del mensaje no sea un problema.<\/li>\n<li><strong>Nivel 1 (entregado al menos una vez).<\/strong> Como dice su nombre, en este nivel, el cliente debe confirmar el mensaje recibido. La ventaja es que se asegura que los mensajes se entregan todos al menos una vez. La desventaja es que se usa m\u00e1s ancho de banda y el cliente puede recibir mensajes duplicados si tarda en confirmar su recepci\u00f3n.<\/li>\n<li><strong>Nivel 2 (entregar s\u00f3lo una vez). <\/strong>Este es el nivel que demanda m\u00e1s ancho de banda, aunque la ventaja es que es m\u00e1s confiable porque se espera a que el cliente confirme el mensaje recibido y, antes de volver a enviar un mensaje, hace la pregunta si se ha recibido el mensaje. Este nivel se asegura de que los clientes han recibido el mensaje s\u00f3lo una vez. Adem\u00e1s de no consumir ancho de banda, se da la certeza de mensajes recibidos sin ser duplicados.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Proporciona seguridad<\/strong>, ya que soporta m\u00e9todos de autenticaci\u00f3n como <a href=\"https:\/\/auth0.com\/es\/intro-to-iam\/what-is-oauth-2#!\" target=\"_blank\" rel=\"nofollow noopener\">OAuth<\/a> o <a href=\"https:\/\/www.bing.com\/ck\/a?!&#038;&#038;p=19a691da43326a5aJmltdHM9MTcxMjg4MDAwMCZpZ3VpZD0yOWQ2MDg0Zi1jODBmLTYyODQtM2IxNy0xOTNmYzk0ZTYzMmUmaW5zaWQ9NTMyMw&#038;ptn=3&#038;ver=2&#038;hsh=3&#038;fclid=29d6084f-c80f-6284-3b17-193fc94e632e&#038;psq=TLS+1.3&#038;u=a1aHR0cHM6Ly93d3cuaWV0Zi5vcmcvYmxvZy90bHMxMy8&#038;ntb=1\" target=\"_blank\" rel=\"nofollow noopener\">TLS 1.3<\/a>, lo que le permite ser usado en redes que no sean del todo seguras.<\/li>\n<li><strong>Informaci\u00f3n para el an\u00e1lisis en tiempo real,<\/strong> ya que brinda datos en tiempo real, que es de suma utilidad en mantenimiento preventivo y monitorizaci\u00f3n en ambientes ya sea en un hogar inteligente, como en log\u00edstica, distribuci\u00f3n y manufactura.<\/li>\n<li><strong>Abierto,<\/strong> soportado por los principales fabricantes de nube como AWS, Google Cloud, IBM Cloud, Oracle y Microsoft Azure.<\/li>\n<\/ul>\n<h3>Aplicaciones pr\u00e1cticas de MQTT en diversas industrias, como la industria automotriz, energ\u00e9tica y de telecomunicaciones<\/h3>\n<p>Mediante MQTT, IoT permite obtener y procesar datos para gestionar datos que conduzcan a tomar decisiones y acciones encaminadas a la productividad y optimizaci\u00f3n de operaciones en diversos sectores de la econom\u00eda. Por ejemplo:<\/p>\n<ul class=\"lista\">\n<li><strong>Transporte<\/strong><br \/>Soporte a aplicaciones m\u00f3viles, dando recomendaci\u00f3n de los veh\u00edculos disponibles m\u00e1s cercanos.<\/li>\n<li><strong>Manufactura<\/strong><br \/>En interacci\u00f3n con la rob\u00f3tica en ciclos de fabricaci\u00f3n o mantenimiento preventivo.<\/li>\n<li><strong>Automotriz<\/strong><br \/>Junto con los datos de inteligencia artificial, puede reconocer y resolver las deficiencias de forma aut\u00f3noma de la informaci\u00f3n humana.<\/li>\n<li><strong>Energ\u00eda<\/strong><br \/>Control remoto y automatizaci\u00f3n de la distribuci\u00f3n de energ\u00eda.<\/li>\n<li><strong>Telecomunicaciones<\/strong><br \/>Para proporcionar servicios excepcionales de conectividad m\u00f3vil y de red que soporten aplicaciones m\u00f3viles inteligentes en el hogar o sistemas de monitorizaci\u00f3n en tiempo real.<\/li>\n<li><strong>Salud<\/strong><br \/>Monitorizaci\u00f3n del estado de bienestar mediante un reloj inteligente que emite datos, permitiendo identificar informaci\u00f3n cr\u00edtica del paciente.<\/li>\n<\/ul>\n<h2 id=\"5\">Desventajas y Retos de MQTT<\/h2>\n<h3>Limitaciones y desaf\u00edos de seguridad, interoperabilidad y autenticaci\u00f3n<\/h3>\n<p>Una de las desventajas de MQTT se asocia con problemas potenciales de seguridad, ya que el protocolo no tiene ning\u00fan mecanismo de seguridad como el cifrado o la autenticaci\u00f3n, lo que hace que los mensajes corran el riesgo de ser interceptados, alterados o falsificados por hackers.<br \/>\nOtra desventaja nace del hecho de que el protocolo puede ser un \u00fanico punto de fallo, lo que puede exponer al <a href=\"https:\/\/pandorafms.com\/blog\/es\/interoperabilidad-del-iot\/\" target=\"_blank\" rel=\"noopener\">sistema IoT<\/a> a ataques o interrupciones.<br \/>\nLo anterior nos hace recomendar que se implementen medidas de seguridad adicionales, tales como el cifrado SSL\/TLS, la autenticaci\u00f3n del usuario, las contrase\u00f1as o listas de control de acceso. Es de suma importancia proteger los datos y los dispositivos, que son los objetivos preferidos por los cibercriminales.<\/p>\n<h3>Comparaci\u00f3n con otros protocolos de transferencia, como CoAP y AMQP<\/h3>\n<p>Existen otros protocolos para conectar dispositivos como CoaP (Constrained Application Protocol, protocolo de la capa de aplicaci\u00f3n de internet para dispositivos con recursos restringidos) y AMQP (Advanced Message Queuing Protocol, es el protocolo de la capa de aplicaci\u00f3n est\u00e1ndar abierto para middleware orientado a mensajes). Frente a \u00e9stos, MQTT tiene algunas desventajas:<\/p>\n<p><strong>MQTT vs CoAP:<\/strong><\/p>\n<ul class=\"lista\">\n<li><strong>Ciclos de transmisi\u00f3n: <\/strong>MQTT tiene un ciclo de transmisi\u00f3n m\u00e1s lento que CoAP.<\/li>\n<li><strong>Soporte a RESTful (interfaz para intercambiar informaci\u00f3n de manera segura a trav\u00e9s de Internet):<\/strong> MQTT no es RESTful (una API RESTful es una interfaz que dos sistemas de computaci\u00f3n utilizan para intercambiar informaci\u00f3n de manera segura a trav\u00e9s de Internet), mientras que CoAP s\u00ed es RESTful.<\/li>\n<li><strong>Descubrimiento de recursos: <\/strong>MQTT funciona en suscripciones de temas flexibles. CoAP tiene un mecanismo estable de descubrimiento de recursos.<\/li>\n<li><strong>Cifrado:<\/strong> MQTT no est\u00e1 cifrado, aunque puede usar TLS\/SSL para implementar la seguridad y el cifrado. CoAP funciona con DTLS (Seguridad en la capa de transporte de datos).<\/li>\n<\/ul>\n<p><strong>MQTT vs AMQP:<\/strong><\/p>\n<ul class=\"lista\">\n<li><strong>Patrones de mensaje: <\/strong>El protocolo AMQP admite un mecanismo de enrutamiento m\u00e1s sofisticado. Los mensajes primero van a un intercambio que luego los enruta a la cola correcta, utilizando algunas reglas predefinidas.<\/li>\n<li><strong>Ruteo de mensajes: <\/strong>AMQP admite m\u00faltiples tipos de intercambio con estrategias de enrutamiento \u00fanicas, esto permite que este protocolo admita diferentes patrones de comunicaci\u00f3n, en tanto que MQTT es un mecanismo de ruteo de mensajes simple.<\/li>\n<li><strong>Versatilidad: <\/strong>AMQP ofrece varias funciones en persistencia de mensajes y transaccionalidad. Esto lo hace muy vers\u00e1til para varios casos de uso que demanda m\u00e1s funcionalidades.<\/li>\n<\/ul>\n<h3>Diferencias entre MQTT y REST en cuanto a arquitectura y modelo de comunicaci\u00f3n<\/h3>\n<p>Para entender la diferencia entre MQTT y REST, repasemos lo siguiente:<\/p>\n<p><img decoding=\"async\" class=\"imgpostcapture lazyload\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/pandorafms.com\/wp-content\/uploads\/2024\/04\/MQTT-1-pfms-blog.png\"><\/p>\n<p>La figura anterior muestra la arquitectura MQTT, que consta de un intermediario centralizado donde todas las comunicaciones entre dispositivos (endpoints) pasan a trav\u00e9s del intermediario, y el broker se puede instalar en cualquier servidor p\u00fablico. Recordemos que MQTT se basa en una arquitectura de publicaci\u00f3n\/suscripci\u00f3n, donde en cada extremo los dispositivos pueden publicar temas y suscribirse a cualquier tema. En el protocolo MQTT, se necesita nombre de usuario y contrase\u00f1a para establecer la conexi\u00f3n.<br \/>\nAhora REST (Representational State Transfer o transferencia de representaci\u00f3n de estado) es una interfaz para conectar varios sistemas basados en el protocolo HTTP y que sirve para obtener y generar datos y operaciones, devolviendo datos en formatos muy espec\u00edficos (por ejemplo XML y JSON).<\/p>\n<p><img decoding=\"async\" class=\"imgpostcapture lazyload\" src=\"data:image\/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\" data-src=\"https:\/\/pandorafms.com\/wp-content\/uploads\/2024\/04\/MQTT-2-pfms-blog.png\"><\/p>\n<p>En esta figura se representan los protocolos REST. Ver que REST est\u00e1 construido sobre capas HTTP\/TCP. El protocolo REST utiliza una arquitectura basada en bus, donde no se necesita ning\u00fan componente intermediario (broker) y los dispositivos (endpoints) pueden comunicarse directamente. En este caso, se utilizan mensajes de solicitud y respuesta entre dispositivos finales para intercambiar la informaci\u00f3n. Con esto, a diferencia de MQTT, en REST:<\/p>\n<ul class=\"lista\">\n<li>Los mensajes son GET, PUT, POST y DELETE (obtener, colocar, postear y eliminar).<\/li>\n<li>La arquitectura es de SOLICITUD\/RESPUESTA.<\/li>\n<li>No se requiere de broker, pues la comunicaci\u00f3n es directa.<\/li>\n<li>El protocolo de seguridad es HTTPS.<\/li>\n<li>La interoperabilidad es sem\u00e1ntica.<\/li>\n<li>Tolerancia a fallos es de Servidor en SPoF (single point of failure). Si una parte falla en el Sistema, se detiene el funcionamiento del resto del sistema.<\/li>\n<\/ul>\n<h3>Exploraci\u00f3n de c\u00f3mo la versi\u00f3n 5 de MQTT introduce funcionalidades similares a REST<\/h3>\n<p>La raz\u00f3n por la cual hemos explicado lo anterior es que la versi\u00f3n 5.0 de MQTT ahora tiene funcionalidades similares a REST, haci\u00e9ndolo m\u00e1s robusto:<\/p>\n<ul class=\"lista\">\n<li><strong>Razones de desconexi\u00f3n:<\/strong> Ahora puede proporcionar un c\u00f3digo de motivo o raz\u00f3n para cada paquete de reconocimiento, lo que nos brinda una mejor comprensi\u00f3n de por qu\u00e9 ocurri\u00f3 una desconexi\u00f3n o fallo.<\/li>\n<li><strong>Con MQTT 5.0,<\/strong> se puede definir un per\u00edodo de tiempo espec\u00edfico durante el cual la sesi\u00f3n debe mantenerse activa despu\u00e9s de la desconexi\u00f3n. Esto proporciona una mayor flexibilidad en la gesti\u00f3n de la duraci\u00f3n de las sesiones y conserva los recursos en el servidor.<\/li>\n<li><strong>MQTT 5.0<\/strong> introduce alias de temas para reducir la sobrecarga en los encabezados de los mensajes. En versiones anteriores, el nombre del tema deb\u00eda incluirse en cada mensaje, lo que generaba paquetes de mayor tama\u00f1o.<\/li>\n<li><strong>Metadatos personalizados,<\/strong> que permite a los usuarios incluir metadatos personalizados en los encabezados de los paquetes MQTT. Esto puede ser particularmente \u00fatil para aplicaciones que necesiten enviar informaci\u00f3n adicional con sus mensajes MQTT, como la marca de tiempo del mensaje, la ubicaci\u00f3n del dispositivo u otra aplicaci\u00f3n.<\/li>\n<li><strong>Opciones de suscripci\u00f3n,<\/strong> para especificar c\u00f3mo se desea recibir mensajes para cada tema suscrito. Por ejemplo, los clientes ahora pueden especificar si desean recibir mensajes retenidos para una suscripci\u00f3n en particular, o si desean recibir mensajes si tienen el mismo nivel de QoS (calidad de servicio) que la suscripci\u00f3n.<\/li>\n<li><strong>La funci\u00f3n de solicitud\/respuesta<\/strong> permite a un cliente especificar un tema que el servidor puede usar para enviar una respuesta directa. Esto hace m\u00e1s eficiente y directa la comunicaci\u00f3n.<\/li>\n<li><strong>Suscripci\u00f3n compartida;<\/strong> es decir, cuando se publica un mensaje en un tema compartido, el servidor distribuye el mensaje a uno de los clientes de la suscripci\u00f3n compartida, equilibrando as\u00ed la carga de los mensajes.<\/li>\n<\/ul>\n<p>Tambi\u00e9n, en esta versi\u00f3n, los clientes pueden conectar los dispositivos mediante de MQTT5 o aprovechar una combinaci\u00f3n de dispositivos conectados a las versiones 3 y 5 de MQTT, interactuando entre s\u00ed para admitir despliegues heterog\u00e9neos.<\/p>\n<h2 id=\"6\">Seguridad en MQTT<\/h2>\n<h3>Implementaci\u00f3n de protocolos de seguridad como SSL\/TLS para proteger la comunicaci\u00f3n en MQTT<\/h3>\n<p>La seguridad en MQTT se aborda mediante diversas capas para garantizar la integridad y confidencialidad de la comunicaci\u00f3n en el Internet de las Cosas (IoT). La primera capa se centra en la seguridad de red, implementando medidas para proteger la infraestructura subyacente. Aunque MQTT ofrece la opci\u00f3n de utilizar nombres de usuario y contrase\u00f1as, es crucial destacar que esta informaci\u00f3n se transmite en texto sin cifrar, lo que presenta un aspecto a considerar en t\u00e9rminos de privacidad. Adem\u00e1s, se brinda la posibilidad de fortalecer la seguridad mediante el uso de SSL\/TLS, aunque esta opci\u00f3n conlleva una sobrecarga adicional. En conjunto, estas estrategias buscan establecer un equilibrio entre la accesibilidad y la protecci\u00f3n, adapt\u00e1ndose a los requisitos espec\u00edficos de cada implementaci\u00f3n de MQTT en entornos IoT.<\/p>\n<h3>Actualizaciones en MQTT v5.0<\/h3>\n<p>La evoluci\u00f3n de MQTT a la versi\u00f3n 5.0 marc\u00f3 un hito en su desarrollo. Oficialmente publicado en 2019, este est\u00e1ndar introdujo innovaciones significativas que ampliaron su versatilidad. Entre las novedades m\u00e1s destacadas se encuentran los c\u00f3digos de motivo, que ofrecen una mayor claridad en la interpretaci\u00f3n de eventos. Las suscripciones compartidas proporcionan una forma eficiente de distribuir mensajes a m\u00faltiples suscriptores, mejorando la escalabilidad. La caducidad del mensaje ofrece un control m\u00e1s preciso sobre la persistencia de la informaci\u00f3n, adapt\u00e1ndose a diversos escenarios de aplicaci\u00f3n. Adem\u00e1s, la incorporaci\u00f3n de alias de tema simplifica la gesti\u00f3n y optimiza el intercambio de datos. Estas actualizaciones refuerzan el estatus de MQTT como un protocolo din\u00e1mico y a la vanguardia, capaz de satisfacer las demandas cambiantes del Internet de las Cosas (IoT) con eficacia y eficiencia.<\/p>\n<h3>Aspectos de autenticaci\u00f3n, autorizaci\u00f3n y cifrado en MQTT<\/h3>\n<p>Como hab\u00edamos mencionado antes, utilizar SSL\/TLS nos ayuda a brindar autenticaci\u00f3n, encriptaci\u00f3n e integridad cuando se usa el protocolo MQTT. Es decir;<\/p>\n<ul class=\"lista\">\n<li><strong>Autenticaci\u00f3n:<\/strong> Quien env\u00eda el mensaje es quien dice ser.<\/li>\n<li><strong>Encriptaci\u00f3n:<\/strong> Nadie en el camino puede leer el mensaje.<\/li>\n<li><strong>Integridad:<\/strong> El mensaje no puede ser modificado.<\/li>\n<\/ul>\n<p>Esto se hace a trav\u00e9s de una firma digital (certificado) y claves p\u00fablicas y privadas para encriptar y desencriptar el mensaje. Para agregar esto en MQTT, los pasos a seguir son:<\/p>\n<ul class=\"lista\">\n<li>Crear una contrase\u00f1a p\u00fablica y una privada para autorizar la certificaci\u00f3n (CA).<\/li>\n<li>Crear un certificado para la CA y firmar con la contrase\u00f1a privada antes generada.<\/li>\n<li>Generar una contrase\u00f1a p\u00fablica y una privada para el broker MQTT.<\/li>\n<li>Crear un requerimiento de firma de certificado para las contrase\u00f1as del paso anterior.<\/li>\n<li>Utilizar el certificado del paso 2 para firmar el requerimiento del paso anterior.<\/li>\n<li>Copiar todos los certificados en un directorio del broker MQTT.<\/li>\n<li>Copiar el certificado de la CA en el cliente.<\/li>\n<li>Editar la configuraci\u00f3n del cliente para que utilice TLS y el certificado de la CA.<\/li>\n<\/ul>\n<h2 id=\"7\">MQTT y WSS (MQTT sobre WebSockets)<\/h2>\n<h3>Descripci\u00f3n de MQTT sobre WebSockets y su implementaci\u00f3n para recibir datos en navegadores web<\/h3>\n<p>Cada navegador puede ser un dispositivo MQTT con MQTT sobre Websockets, los cuales son protocolos que hacen posible abrir una sesi\u00f3n de comunicaci\u00f3n interactiva entre el navegador del usuario y un servidor. Este protocolo se ejecuta sobre Transport Layer Security (TLS) o Secure Sockets Layer (SSL), proporcionando un medio seguro para intercambiar datos. Al usar WebSockets, directamente en un navegador, se puede lograr eficiencia en la comunicaci\u00f3n, enviando mensajes a un servidor y recibiendo respuestas controladas por eventos sin tener que consultar al servidor para una respuesta. Esto es porque el cliente y el servidor se conectan a trav\u00e9s de la URL de WebSocket (existen varios paquetes de control MQTT en una \u00fanica trama de datos WebSocket).<\/p>\n<h3>Comparaci\u00f3n con la comunicaci\u00f3n est\u00e1ndar de MQTT<\/h3>\n<p>Originalmente, WebSocket fue dise\u00f1ado para aplicaciones web. Una caracter\u00edstica de WebSocket es que mantiene una conexi\u00f3n continua con el servidor, lo que permite una comunicaci\u00f3n de baja latencia en comparaci\u00f3n con otras arquitecturas tradicionales basadas en HTTP. Tambi\u00e9n, WebSocket revoluciona la comunicaci\u00f3n al permitir la transmisi\u00f3n de datos en tiempo real, en lugar de crear m\u00faltiples conexiones de corta duraci\u00f3n para cada interacci\u00f3n. Ante el acelerado crecimiento del uso de dispositivos de IoT, la latencia y la escalabilidad se han vuelto m\u00e1s cr\u00edticas para el intercambio de datos en tiempo real.<\/p>\n<h2 id=\"8\">Conclusiones y consideraciones<\/h2>\n<p>Ante la extensi\u00f3n de las infraestructuras m\u00e1s all\u00e1 de los <a href=\"https:\/\/pandorafms.com\/blog\/es\/centros-de-datos\/\" target=\"_blank\" rel=\"nofollow noopener\">datacenters<\/a> en dispositivos e Internet de las Cosas, MQTT ofrece las ventajas de ser ligero, confiable, compatible, abierto y seguro. Ahora con la versi\u00f3n 5.0 disponible, se recomienda hacer una actualizaci\u00f3n. Para hacer este proceso de migraci\u00f3n, se recomienda lo siguiente:<\/p>\n<p style=\"margin-left:40px;\">1. Actualizar los brokers de MQTT, con sumo cuidado para no afectar a todos los clientes MQTT, preferiblemente en un entorno que no sea de producci\u00f3n, antes de implementarlo.<\/p>\n<p style=\"margin-left:40px;\">2. Actualizar las librer\u00edas de los clientes, tambi\u00e9n primero en un entorno que no sea de producci\u00f3n. Aseg\u00farate de que el c\u00f3digo de tu aplicaci\u00f3n est\u00e9 actualizado para manejar las nuevas funciones de MQTT 5.0.<\/p>\n<p style=\"margin-left:40px;\">3. Abordar nuevas consideraciones de seguridad. Por ejemplo, con la nueva funci\u00f3n de propiedad del usuario, los clientes ahora pueden enviar datos personalizados al corredor. Si bien \u00e9sta es una caracter\u00edstica poderosa, puede explotarse si no se usa correctamente. Por lo tanto, es importante evaluar todas las nuevas caracter\u00edsticas desde una perspectiva de seguridad.<\/p>\n<p style=\"margin-left:40px;\">4. Monitorizar despu\u00e9s de realizar la migraci\u00f3n. La monitorizaci\u00f3n no debe limitarse s\u00f3lo a aspectos t\u00e9cnicos, como la entrega de mensajes o las conexiones de los clientes, sino que tambi\u00e9n debe monitorizarse el uso de las nuevas funciones MQTT 5.0 en tus aplicaciones.<\/p>\n<p>Y la recomendaci\u00f3n que siempre hacemos es combinarlo con un experto en tecnolog\u00eda y, preferiblemente, que entienda las necesidades particulares donde se desarrolla la industria a la que pertenece tu organizaci\u00f3n.[\/et_pb_text][et_pb_button button_url=\u00bb@ET-DC@eyJkeW5hbWljIjp0cnVlLCJjb250ZW50IjoicG9zdF9saW5rX3VybF9wYWdlIiwic2V0dGluZ3MiOnsicG9zdF9pZCI6IjM2MjI3MCJ9fQ==@\u00bb button_text=\u00bb\u2190 Regresar a IT Topics\u00bb button_alignment=\u00bbleft\u00bb _builder_version=\u00bb4.22.0&#8243; _dynamic_attributes=\u00bbbutton_url\u00bb _module_preset=\u00bbdefault\u00bb custom_button=\u00bbon\u00bb button_text_size=\u00bb1em\u00bb button_text_color=\u00bb#0C312F\u00bb button_bg_color=\u00bb#FFFFFF\u00bb button_bg_color_gradient_direction=\u00bb90deg\u00bb button_bg_color_gradient_stops=\u00bb#82B92E 0%|#3CB92E 100%\u00bb button_bg_color_gradient_start=\u00bb#82B92E\u00bb button_bg_color_gradient_end=\u00bb#3CB92E\u00bb button_border_width=\u00bb1px\u00bb button_border_color=\u00bb#eaeaea\u00bb button_border_radius=\u00bb100px\u00bb button_use_icon=\u00bboff\u00bb z_index=\u00bb0&#8243; custom_margin=\u00bb60px||0px||false|false\u00bb custom_padding=\u00bb10px|50px|10px|50px|true|true\u00bb custom_padding_tablet=\u00bb\u00bb custom_padding_phone=\u00bb10px|20px|10px|20px|true|true\u00bb custom_padding_last_edited=\u00bbon|phone\u00bb custom_css_main_element=\u00bbright:0!important;||font-family:%22Pandora-Bold%22!important;\u00bb global_module=\u00bb367749&#8243; locked=\u00bboff\u00bb global_colors_info=\u00bb{}\u00bb button_bg_color__hover_enabled=\u00bbon|desktop\u00bb button_bg_color_gradient_start__hover=\u00bb#eaeaea\u00bb button_bg_color_gradient_end__hover=\u00bb#f4f4f4&#8243; button_bg_color__hover=\u00bb#eaeaea\u00bb button_bg_enable_color__hover=\u00bbon\u00bb button_bg_use_color_gradient__hover=\u00bbon\u00bb button_bg_color_gradient_stops__hover=\u00bb#eaeaea 0%|#f4f4f4 100%\u00bb][\/et_pb_button][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=\u00bb1&#8243; custom_padding_last_edited=\u00bbon|desktop\u00bb admin_label=\u00bbFinal CTA\u00bb _builder_version=\u00bb4.22.0&#8243; _module_preset=\u00bbdefault\u00bb background_color=\u00bb#161327&#8243; use_background_color_gradient=\u00bbon\u00bb background_color_gradient_stops=\u00bbrgba(22,19,39,0.5) 17%|rgba(22,19,39,0.5) 100%\u00bb background_color_gradient_overlays_image=\u00bbon\u00bb background_image=\u00bbhttps:\/\/pandorafms.com\/wp-content\/uploads\/2024\/01\/img-banner-it-topics-resumen-de-producto.webp\u00bb background_position=\u00bbtop_center\u00bb z_index=\u00bb1&#8243; max_width=\u00bb1080px\u00bb max_width_tablet=\u00bb98%\u00bb max_width_phone=\u00bb98%\u00bb max_width_last_edited=\u00bbon|tablet\u00bb module_alignment=\u00bbcenter\u00bb custom_margin=\u00bb80px||80px||true|false\u00bb custom_padding=\u00bb40px|20px|160px|20px|false|true\u00bb custom_padding_tablet=\u00bb40px|0px|120px|0px|false|true\u00bb custom_padding_phone=\u00bb40px|0px|120px|0px|false|true\u00bb scroll_scaling=\u00bb40|55|85|100|100%|120%|100%\u00bb motion_trigger_start=\u00bbtop\u00bb background_last_edited=\u00bboff|desktop\u00bb border_radii=\u00bboff|20px|20px|20px|20px\u00bb border_color_all=\u00bb#ffffff\u00bb box_shadow_style=\u00bbpreset1&#8243; box_shadow_vertical=\u00bb0px\u00bb box_shadow_blur=\u00bb80px\u00bb box_shadow_color=\u00bb#506da0&#8243; global_module=\u00bb367405&#8243; global_colors_info=\u00bb{}\u00bb][et_pb_row use_custom_gutter=\u00bbon\u00bb gutter_width=\u00bb2&#8243; make_equal=\u00bbon\u00bb _builder_version=\u00bb4.22.0&#8243; _module_preset=\u00bbdefault\u00bb max_width=\u00bb550px\u00bb module_alignment=\u00bbcenter\u00bb custom_margin=\u00bb0px||0px||true|false\u00bb custom_padding=\u00bb0px|0px|0px|0px|true|true\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_column type=\u00bb4_4&#8243; _builder_version=\u00bb4.22.0&#8243; _module_preset=\u00bbdefault\u00bb global_colors_info=\u00bb{}\u00bb][et_pb_text _builder_version=\u00bb4.22.0&#8243; _module_preset=\u00bbdefault\u00bb header_2_font_size=\u00bb2em\u00bb text_orientation=\u00bbcenter\u00bb module_alignment=\u00bbleft\u00bb custom_margin=\u00bb0px||20px||false|false\u00bb custom_padding=\u00bb0px||0px||true|false\u00bb global_colors_info=\u00bb{}\u00bb]<\/p>\n<p class=\"h2-w\">\u00bfPuede una sola herramienta tener una visibilidad global?<\/p>\n<p>[\/et_pb_text][et_pb_button button_url=\u00bb@ET-DC@eyJkeW5hbWljIjp0cnVlLCJjb250ZW50IjoicG9zdF9saW5rX3VybF9wYWdlIiwic2V0dGluZ3MiOnsicG9zdF9pZCI6IjMzMDcyMSJ9fQ==@\u00bb button_text=\u00bb\u00a1Desc\u00fabrelo!\u00bb button_alignment=\u00bbcenter\u00bb button_alignment_tablet=\u00bbcenter\u00bb button_alignment_phone=\u00bbcenter\u00bb button_alignment_last_edited=\u00bbon|phone\u00bb _builder_version=\u00bb4.22.0&#8243; _dynamic_attributes=\u00bbbutton_url\u00bb _module_preset=\u00bbdefault\u00bb custom_button=\u00bbon\u00bb button_text_size=\u00bb1em\u00bb button_text_color=\u00bb#ffffff\u00bb button_bg_use_color_gradient=\u00bbon\u00bb button_bg_color_gradient_direction=\u00bb90deg\u00bb button_bg_color_gradient_stops=\u00bb#82B92E 0%|#3CB92E 100%\u00bb button_bg_color_gradient_start=\u00bb#82B92E\u00bb button_bg_color_gradient_end=\u00bb#3CB92E\u00bb button_border_width=\u00bb0px\u00bb button_border_radius=\u00bb100px\u00bb button_use_icon=\u00bboff\u00bb z_index=\u00bb0&#8243; custom_margin=\u00bb40px||0px||false|false\u00bb custom_padding=\u00bb10px|40px|10px|40px|true|true\u00bb custom_padding_tablet=\u00bb\u00bb custom_padding_phone=\u00bb15px|15px|15px|15px|true|true\u00bb custom_padding_last_edited=\u00bbon|phone\u00bb custom_css_main_element=\u00bbright:0!important;||font-family:%22Pandora-Bold%22!important;\u00bb locked=\u00bboff\u00bb global_colors_info=\u00bb{}\u00bb button_bg_color__hover_enabled=\u00bbon|hover\u00bb button_bg_color_gradient_start__hover=\u00bb#05201F\u00bb button_bg_color_gradient_end__hover=\u00bb#05201F\u00bb button_bg_color_gradient_stops__hover=\u00bb#181818 0%|#181818 58%|#181818 100%\u00bb button_bg_use_color_gradient__hover=\u00bbon\u00bb][\/et_pb_button][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Secciones Definici\u00f3n y significado de MQTT (MQ Telemetry Transport) Historia y Evoluci\u00f3n de MQTT Funcionamiento de MQTT Beneficios y Aplicaciones de MQTT Desventajas y Retos de MQTT Seguridad en MQTT MQTT y WSS (MQTT sobre WebSockets) Conclusiones y consideraciones Hoy en d\u00eda la infraestructura de las organizaciones est\u00e1 cada vez m\u00e1s extendida, m\u00e1s all\u00e1 del [&hellip;]<\/p>\n","protected":false},"author":33,"featured_media":372074,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","_joinchat":[],"footnotes":""},"categories":[3506,7796],"tags":[],"class_list":["post-372069","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-it-topics","category-terminologia-it"],"_links":{"self":[{"href":"https:\/\/pandorafms.com\/es\/wp-json\/wp\/v2\/posts\/372069","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pandorafms.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pandorafms.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pandorafms.com\/es\/wp-json\/wp\/v2\/users\/33"}],"replies":[{"embeddable":true,"href":"https:\/\/pandorafms.com\/es\/wp-json\/wp\/v2\/comments?post=372069"}],"version-history":[{"count":8,"href":"https:\/\/pandorafms.com\/es\/wp-json\/wp\/v2\/posts\/372069\/revisions"}],"predecessor-version":[{"id":372222,"href":"https:\/\/pandorafms.com\/es\/wp-json\/wp\/v2\/posts\/372069\/revisions\/372222"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pandorafms.com\/es\/wp-json\/wp\/v2\/media\/372074"}],"wp:attachment":[{"href":"https:\/\/pandorafms.com\/es\/wp-json\/wp\/v2\/media?parent=372069"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pandorafms.com\/es\/wp-json\/wp\/v2\/categories?post=372069"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pandorafms.com\/es\/wp-json\/wp\/v2\/tags?post=372069"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}