MQTT (Message Queue Telemetry Transport). Es un protocolo para la comunicación maquina a maquina o en la lengua de seaskpear machine-to-machine , esta creado para el internet de las cosas.

Este protocolo es para la comunicación de sensores y actuadores,  consume relativamente  poco ancho de banda y puede ser utilizado en la mayoría de los dispositivos empotrados con pocos recursos (CPU, RAM, …).

 

La arquitectura de MQTT funciona con una topología de estrella, en la que  un nodo central  hace de servidor o “broker” y tiene  una capacidad de hasta 10000 clientes. El broker (servidor) es el encargado de gestionar la red y de transmitir los mensajes, para mantener activo el canal, los clientes mandan periódicamente un paquete  y esperan la respuesta del broker .

 

 

 

Dentro de la arquitectura de MQTT, es muy importante el concepto “topic” o “tema” en español ya que a través de estos “topics” se articula la comunicación puesto que los receptores deben estar subscritos a uno de estos  “topic” común para poder entablar la comunicación.

Es decir, en este  concepto existen un publicadores (que publican o emiten información) y unos subscritores (que reciben dicha información) siempre que ambas partes estén subscritas a la misma topic.

Además, los “topics” tienen una estructura jerárquica gracias a la cual podemos establecer relaciones padre-hijo y, al subscribirnos a un topic padre, recibir también la información de sus hijos.

Este tipo de arquitecturas, lleva asociada otra interesante característica: la comunicación puede ser de uno a uno o de uno a muchos.

Podemos ver la arquitectura en la siguiente imagen.