¿Qué es MQTT?

¿Qué es MQTT?

Sin título Para mi primera entrada, voy a hablaros sobre MQTT (Message Queue Telemetry Transport), un protocolo usado para la comunicación machine-to-machine (M2M) en el "Internet of Things". Este protocolo está orientado a la comunicación de sensores, debido a que consume muy poco ancho de banda y puede ser utilizado en la mayoría de los dispositivos empotrados con pocos recursos (CPU, RAM, …). Un ejemplo de uso de este protocolo es la aplicación de Facebook Messenger tanto para android y Iphone. La arquitectura de MQTT sigue una topología de estrella, con un nodo central que hace de servidor o "broker" con una capacidad de hasta 10000 clientes. El broker es el encargado de gestionar la red y de transmitir los mensajes, para mantener activo el canal, los clientes mandan periódicamente un paquete (PINGREQ) y esperan la respuesta del broker (PINGRESP). La comunicación puede ser cifrada entre otras muchas opciones. topologia estrella La comunicación se basa en unos "topics" (temas), que el cliente que publica el mensaje crea y los nodos que deseen recibirlo deben subscribirse a él. La comunicación puede ser de uno a uno, o de uno a muchos. Un "topic" se representa mediante una cadena y tiene una estructura jerárquica. Cada jerarquía se separa con '/'. Por ejemplo, "edificio1/planta5/sala1/raspberry2/temperatura" o "/edificio3/planta0/sala3/arduino4/ruido". De esta forma se pueden crear jerarquías de clientes que publican y reciben datos, como podemos ver en la imagen: jerarquia De esta forma un nodo puede subscribirse a un "topic" concreto ("edificio1/planta2/sala0/arduino0/temperatura")  o  a varios ("edificio1/planta2/#") . Próximamente intentaré subir un tutorial como ejemplo de su uso. Web MQTT - mqtt.org  

Deja un comentario


12 comentarios


Yerko Muñoz · Hace 5 meses

Hola amigos, La idea de MQTT y el compartir informacion es buenisima tanto que ha servido como ejemplo para otras tecnicas como Data Exchange Layer de McAfee el cual comparte Informacion sobre amenazas y reputaciones (Seguridad) usando el "intercambio de mensajes" entre clientes que se conectan a un Broker y a su vez pueden interconectarse con otros sitios usando Bridges para interconectar info entre Brokers... Seria bueno ver en que mas podemos aplicar esta tecnologia https://www.mcafee.com/es/solutions/data-exchange-layer.aspx

JOSE CZW · Hace 10 meses

Saludos, me parece interesante su pagina blog. tengo varias consultas que tambien me interesa. Es posible con MQTT tener una suerte de tranpolin o mapeador de mensajes varios de cualquier sistemas... es decir... suponga que tenemos un equipo que habla un lenguaje y este genera ECO de lo que hace y me interesaría "empaquetar" estos mensajes... que me pudiera proponer hacer..?

José Antonio Yébenes · Hace 1 año

¿Por qué ya no aparezco como autor?

Vicente · Hace 1 año

¿Tu lo escribiste? :O

Hardware del Internet de las Cosas - Equipo Altran · Hace 1 año

[…] Play por sus capacidades comunicativas, las cuales permiten, fácilmente, utilizar servicios REST y MQTT entre otros para enviar información en formato […]

Tutorial Raspberry Pi - GPIO y MQTT (Parte 1) | Geeky Theory · Hace 2 años

[…] En el  tutorial Raspberry Pi – GPIO [parte 1]: control de un LED, de Mario, nos enseñaba cómo controlar un LED conectado a la Raspberry Pi. En este tutorial me he propuesto dar un paso más y para ello vamos a controlar dicho LED desde otro terminal haciendo uso del protocolo MQTT.  Si no sabes qué es MQTT puedes verlo en mi anterior entrada: ¿Qúe es MQTT? […]

alvarohurtado84 · Hace 2 años

Esto se parece mucho al protocolo que sigue Zookeeper pero aplicado a IoT. ¡Muy interesante!

Bruno Rodriguez · Hace 2 años

Gracias por el aporte! esperemos poder probar algo de forma practica.

Mario Pérez Esteso · Hace 2 años

Me alegro mucho de que la gente de IEEE se anime a publicar en Geeky Theory. ¡Bienvenido Jose! En cuanto al artículo, me parece interesantísimo, ya que tiene mucho que ver con el IoT, tema muy de moda hoy en día. Espero poder ver cosas prácticas para poder implementarlas. ¡Un saludo!

Javier Andrés Pérez · Hace 2 años

¡Grande Jose! Me alegra un montón verte contribuyendo por aquí. ¡Esperando el siguiente! ;)

gepd · Hace 2 años

Me uno a la espera, hace unos días me enteré de este protocolo y me gustaría implementarlo en un proyecto con arduino y raspberry.

Rosana Ruiz · Hace 2 años

Muy buen post. Estoy deseando ver ese tutorial! Con qué lo harás?

José Antonio Yébenes Gálvez · Hace 2 años

Quizás haga una muestra de comunicación de la BeagleBone Black con un PC usando QT con interfaz gráfica... pero aún no estoy seguro

Miguel Catalan Bañuls · Hace 2 años

Anímate, personalmente me interesa el tema.