Protocolo MQTT: como funciona e quais são as suas vantagens?
Automação Industrial

Protocolo MQTT: como funciona e quais são as suas vantagens?

protocolo mqtt funcionamento e vantagens

A partir de 1999, um protocolo começou a ser largamente implementado em variados segmentos de mercado, para troca de mensagens entre máquinas. Estamos falando do protocolo MQTT, uma alternativa ao HTTP, para comunicação mais simples e leve entre dispositivos remotos.

Entre suas características principais, destacam-se a sua qualidade de serviço, maior nível de segurança, facilidade de aplicação, baixa alocação de banda e compatibilidade com linguagens de programação.

Além disso, os sistemas MQTT têm níveis de serviço para gerenciar mensagens, de acordo com a sua relevância, além de garantias de entrega para os assinantes, configurando uma excelente opção para projetos de IoT.

Hoje abordaremos os conceitos, as vantagens e a importância deste popular protocolo. Vamos começar?

O que é o protocolo MQTT?

Protocolo MQTT (Message Queuing Telemetry Transport) é um protocolo de transporte de mensagens de formato Cliente/Servidor, que possibilita a comunicação entre máquinas (Machine to Machine – M2M) e é amplamente usado para conectividade de IoT (Internet of Things). É aberto, leve e tem fácil implementação, sendo executado em TCP/IP ou em outros protocolos de rede.

Foi criado no final da década de 90, por Arlen Nipper e Andy Stanford-Clark, a princípio com o objetivo de interligar sistemas de telemetria de oleodutos por satélite.

Em sistemas MQTT, é usado o paradigma ou conceito Publish/Subscribe, em que o Cliente pode fazer “postagens/publicações” ou captar informações, enquanto o Servidor administra o envio e o recebimento desses dados.

O protocolo foi desenvolvido para minimizar a largura de banda da rede e os requisitos de recursos de dispositivos restritos, proporcionando confiabilidade e maior garantia de entrega.

É largamente difundido em todo o mundo por se tratar de um protocolo simples, de comunicação bilateral e com baixo consumo de dados. É usado por empresas, indústrias e sociedade em geral.

Como ele funciona?

MQTT é um protocolo projetado para transferir mensagens, usando um modelo de publicação e inscrição, que permite enviar mensagens para um ou vários clientes.

Seu funcionamento é parecido com o de uma TV: uma emissora de televisão faz a transmissão de um programa utilizando um canal específico. Então um espectador irá sintonizar nesse canal para ver a transmissão.

Observe que não há uma conexão direta entre a emissora e o telespectador – necessitando que ele faça a sintonização para ter acesso ao programa (conteúdo).

No caso do MQTT, um publicador publica as mensagens em um tópico e um assinante irá se inscrever nele para poder ver a mensagem.

O protocolo requer a utilização de um gerenciador dessas mensagens, o Broker, (como veremos mais adiante), ou seja, não há uma conexão direta entre o publicador e o assinante.

 

como funciona mqqt broker

Vantagens e diferenciais do MQTT

O protocolo se destaca pela simplicidade e por aperfeiçoar o trânsito de mensagens em redes não confiáveis e de latência baixa.

Por usar a arquitetura Publish/Subscribe, tem elevada escalabilidade nas aplicações, permitindo que vários dispositivos façam publicações e vários assinantes possam consumir esses dados. Veja outros aspectos positivos:

Segurança

O MQTT apresenta elevado grau de segurança, suportando diferentes tipos de autenticações e mecanismos de proteção de informações. O cliente pode realizar essas configurações facilmente, direto no Broker.

Os conteúdos das mensagens deste protocolo geralmente são protegidos com o certificado SSL (Secure Socket Layer), por meio de criptografia ponta a ponta.

Baixa exigência

O consumo de memória deste protocolo é reduzido, com pouca necessidade de processamento para o transporte de mensagens.

Também é baixo o consumo de banda, com headers de mensagens consideravelmente menores do que quando usa-se o protocolo HTTP, com tamanho fixo de 2 bytes.

Devido ao publicador não enviar informações diretamente para os assinantes, não há necessidade de guardar dados ou de fazer vários envios, para cada assinante.

Apenas um envio precisa ser feito para o Broker, que irá fazer o processamento, consumindo pouca memória do publicador.

Confiabilidade

Para garantir a entrega da mensagem, podem ser usadas configurações QoS (Quality of Service), que dão qualidade ao serviço, estabelecendo uma escala que mede a importância e a necessidade do recebimento.

Vale ressaltar que não há qualidade pior ou melhor, a definição do seu nível depende do objetivo da mensagem enviada. A escala vai de 0 a 2, onde:

  • 0: significa que a mensagem deve ser recebida até uma vez e não tem confirmação de recebimento. Também não faz armazenamento de mensagens para retransmissão;
  • 1: este nível indica que a mensagem deve ser recebida ao menos uma vez e tem confirmação de entrega;
  • 2: indica que a mensagem deve ser recebida apenas uma vez e também há confirmação do recebimento.

Conceitos importantes sobre o MQTT

Para entender melhor o funcionamento desse padrão OASIS, ratificado pela ISO, é preciso conhecer os elementos que o compõem.

Publish/Subscribe

Quando um dispositivo é Publish, significa que ele faz publicações de dados ou comandos pré-definidos. Já os dispositivos Subscribe recebem as informações publicadas pelo Publish.

Esse padrão de mensagem separa o cliente que publica do cliente que recebe, o que significa que eles não mantêm contato direto e nem ao menos precisam saber que o outro existe, já que sua conexão é feita por um Broker.

Broker

Desempenha um papel fundamental no processo de publicação/assinatura: o de servidor intermediário.

Tem o papel de filtrar todas as mensagens, recebendo-as, enfileirando-as e distribuindo-as para cada assinante, que irá receber somente as mensagens de seu interesse.

Essa filtragem pode ser realizada de diferentes formas, baseada no assunto ou tópico, conteúdo, tipo ou classe.

Um sistema pode conter mais de um Broker, que fazem compartilhamento dos dados entre si, para direcionar as mensagens aos clientes.

Cliente

Pode ser um sensor em campo, um aplicativo em um data center ou qualquer coisa que seja capaz de interagir com o Broker e receber informações.

Atua postando (Publish), recebendo (Subscriber) ou fazendo as duas coisas ao mesmo tempo, sempre necessitando de um Broker para a intermediação das mensagens.

Qual é a importância do protocolo MQTT para IoT?

A Internet das Coisas (IoT) dá a objetos a capacidade de se conectarem à web. Para isso precisa de um protocolo de comunicação que permita o diálogo desses dispositivos inteligentes.

Com características como simplicidade, fácil implementação e segurança, o MQTT é amplamente utilizado nessas aplicações, ajudando empresas do mundo todo a vivenciarem a Indústria 4.0.

Com esse recurso, milhões de dispositivos IoT são conectados e podem enviar informações sem elevados processamentos ou consumo excessivo de banda. Assim, resultados positivos são alcançados, principalmente em casos em que as conexões são de baixa qualidade e há a necessidade de confiabilidade nas entregas de mensagens.

Conclusão

O MQTT se mostra como protocolo ideal para utilização em projetos que não requerem grande volume de transporte de dados e nem armazenamento.

Sua fácil implementação é um dos aspectos mais atraentes, principalmente para as infinitas aplicações de IoT, que não pedem muita largura de banda.

No geral, esse popular protocolo costuma ser escolhido por diferentes áreas de atuação, como manufatura, telecomunicações, automotiva, petróleo e gás, etc, por ser extremamente leve.

Gostou deste conteúdo? Acompanhe também as redes sociais da Kalatec para ficar sempre por dentro de assuntos do seu interesse.

Até mais!

Posts relacionados

Edilson Cravo

Edilson Cravo

Engenheiro de Aplicação da KALATEC, 23 anos de experiência com mais de 5000 visitas únicas em Indústrias. Especialista em Automação Industrial e apaixonado por Servos Motores, foi treinado nas fábricas EMERSON MOTION CONTROL, YASKAWA, WEG, DELTA, HNC, LEADSHINE e ESTUN. Foi consultor de projetos no Instituto Nuclear Brasileiro, Embraer, Rede Globo, USP (Projeto Inspire) entre outros.

Veja também