Icono del sitio BorrowBits

MQTT vs HTTP: ¿qué protocolo es mejor para IoT?

Éste es un resumen de las principales diferencias entre MQTT y HTTP como protocolos de comunicación para Internet de las Cosas (IoT). Respuesta corta: MQTT es mejor para casi todas las aplicaciones IoT (Internet of Things). Lee el resto para averiguar qué significa esto en términos de arquitectura, complejidad, velocidad, fiabilidad y seguridad.

MQTT son las siglas de «Message Queue Telemetry Transport» y es un protocolo de publicación/suscripción (pub/sub). Se utiliza frecuentemente en comunicaciones máquina-a-máquina (M2M) debido a su eficiencia y bajo consumo.

Diferencias en la arquitectura

¿Cuál es más sencillo y ligero?

Velocidad: ¿Cuál es más rápido?

QoS: ¿Cuál es más fiable?

HTTP no implementa por sí mismo calidad de servicio (QoS). En cambio, MQTT puede establecer tres diferentes niveles QoS:

Esto es importante para garantizar la entrega de confirmaciones después de hacer una actualización remota de un dispositivo. Por ejemplo Google IoT Cloud garantiza con QoS1 el upgrade de la configuración de los dispositivos suscritos.

Especial en MQTT: «Última Voluntad» y Retención de mensajes

¿Cuál es más seguro?

Si os interesa el tema de seguridad en IoT háganoslo saber en los comentarios y publicaremos un tutorial más extenso 🙂

Conclusiones

MQTT está mucho más optimizado que HTTP en cuanto a tiempos de respuesta, throughput, consumo de batería y ancho de banda.

HTTP derrocha más energía y capacidad. Pero es un viejo conocido y puede ser más fácil de implementar con respecto a sistemas antiguos que todavía usen HTTP. También es idóneo para enviar bloques grandes de datos de una sentada.

Otra diferencia importante a tener en cuenta es la posibilidad de implementar QoS y las funciones especiales de MQTT: última voluntad y retención de mensajes.

Por tanto MQTT es mejor para casi todas las aplicaciones de Internet de las Cosas (IoT), pero si estás empezando y no sabes cuál elegir, implementa HTTP y cambia a MQTT cuando lo necesites.

En próximos tutoriales describiremos algunos ejemplos de implementación usando NodeMCU y el broker Mosquitto. Asegúrate de suscribirte!

Salir de la versión móvil