O que é o MQTT?


#1

O protocolo MQTT ( Message Queue Telemetry Transport ) está presente no dia a dia da Internet das Coisas (IoT) e o seu principal uso é fazer as máquinas conversarem entre si, também conhecido como Machine-to-Machine (M2M).

O MQTT é um protocolo de comunicação com baixo consumo de banda de rede e requisitos de hardware sendo extremamente simples e leve. O MQTT foi desenvolvido pela IBM e pela Eurotech e tem como finalidade enviar dados através de redes intermitentes ou com baixa banda de dados, para isto o protocolo foi desenvolvido em cima de vários conceitos que garantem uma alta taxa na entrega das mensagens.

O protocolo MQTT é baseado no TCP/IP e ambos, cliente e broker, necessitam da pilha TCP/IP para o seu funcionamento.

imagem

Pub/Sub
O MQTT utiliza o paradigma publish/subscribe (pub/sub) para a troca de mensagens.
O paradigma pub/sub implementa um middleware chamado de broker. O broker é responsável por receber, e disparar as mensagens recebidas dos publishers para os subscribers.

O publisher é responsável por se ligar ao broker e publicar as mensagens.
Já o subscriber é responsável por se ligar ao broker e receber as mensagens que ele tiver interesse.

O paradigma pub/sub utiliza o conceito de tópicos para processar as mensagens, em que cada mensagem é enviada para um determinado tópico. Diferente de outros protocolos de mensagem, o publisher não envia a mensagem diretamente ao subscriber, mas sim ao broker.

O publisher envia a mensagem para o broker em um determinado tópico. O broker é responsável por receber a mensagem do publisher e fazer uma pré-filtragem das mensagens e enviá-las para os subscribers que estivem registrados em um determinado tópico.

Brokers e Clientes
Existem vários brokers MQTT disponíveis, uns pagos, uns gratuitos.
Broker gratuito para testes: https://github.com/mqtt/mqtt.github.io/wiki/public_brokers

Este artigo é uma breve introdução ao protocolo MQTT. No próximo artigo irei utilizar o protocolo para enviar e receber informações através do esp8266.


#2

Partilha o link no Grupo :), esta muito nice a explicação