Вы находитесь на странице: 1из 21

Qu es MQTT?

MQTT (Message Queueing Telemetry Transport) es un protocolo


de comunicaciones liviano diseado para comunicaciones m2m
y particularmente pensado para el paradigma de Internet of
Things (IoT).

Tiene sus orgenes en IBM (donde fue desarrollado


originalmente por Andy Stanford-Clark en 1999), y desde
entonces ha sido enviado a la Organizacin para el Avance de
Estndares de Informacin Estructurada (OASIS) para su
estandarizacin.

La versin actual del estndar de protocolo es la versin 3.1.1

MQTT web: mqtt.org, https://github.com/mqtt/mqtt.github.io/wiki


Qu es MQTT?

La Especificacin de Protocolo 3.1.1 de MQTT indica que su


propsito es ser un "protocolo de mensajera ligero/liviano
para publicar/suscribirse a diferentes tipos de mensajes
(topics) mediante un servidor dedicado intermedio (broker)
que gestiona peticiones de comunicacin (que pueden llegar
a ser masivas), aadiendo mecanismos adicionales para
incrementar la fiabilidad de las comunicaciones.

Diseado para ser un protocolo sencillo y abierto, independiente


del hardware/plataforma donde corra el cliente, y fcil de
implementar". Su implementacin se sita justo por encima de
la capa TCP/IP.

Se han desarrollado gran variedad de bibliotecas diferentes que


implementan clientes de MQTT. Puede encontrar enlaces a
muchas de ellas en la pgina del proyecto Eclipse Paho
http://www.eclipse.org/paho/.
Qu es MQTT?
Caractersticas de MQTT

MQTT es perfecto para el uso en dispositivos empotrados y


SoC (System on Chips). Algunas caractersticas:

Es asncrono, con mltiples niveles de calidad de servicio (QoS


0/1/2). Esto es importante cuando hay que garantizar una
conexin confiable. Si bien, no todos los clientes desarrollados
para dispositivos empotrados soportan los 3 niveles de QoS.

Generalmente se envan datos en streamming o mensajes


cortos y concisos (ejemplo 128 Bytes). En primer lugar por los
recursos limitados de memoria de los dispositivos
empotrados receptores de los mensajes y adems, porque
partimos de la premisa de contar con conexiones con anchos de
banda muy limitados.

No se requiere software adicional para implementar un


cliente, lo que lo hace excelente para dispositivos tipo Arduino
o como el popular SoC ESP8266, ESP32, ...
Dispositivos que pueden
implementar clientes MQTT
Dispositivos que pueden
implementar clientes MQTT
Dispositivos que pueden
implementar clientes MQTT
Pero tambin ...
Algunos ejemplos de esquemas de
comunicacin MQTT
Algunos ejemplos de esquemas de
comunicacin MQTT
Algunos ejemplos de esquemas de
comunicacin MQTT
Algunos ejemplos de esquemas de
comunicacin MQTT
Algunos ejemplos de esquemas de
comunicacin MQTT
Plataformas comerciales con
Brokers MQTT
Open Source MQTT Broker
Implementacin cliente MQTT
(librera Paho, Python)
Implementacin cliente MQTT
(librera para Arduino, pubsubclient)
https://github.com/knolleary/pubsubclient/blob/master/examples/mqtt_esp8266/mqtt_esp8266.ino
Ejemplos de proyectos que usan
MQTT
Engage Machine Learning for detecting anomalous behaviors of things
https://developer.ibm.com/recipes/tutorials/engage-machine-learning-for-detecting-anomalous-behaviors-of-things/
Ejemplos de proyectos que usan
MQTT
Smart Device-based Notifications to Promote Healthy Behavior

Вам также может понравиться