O que é MQTT e por que ele é tão usado em projetos de IoT

Por Nichollas Marshell4 min
O que é MQTT e por que ele é tão usado em projetos de IoT

Quem trabalha com automação e IoT ouve a sigla MQTT com frequência, quase sempre como se todo mundo soubesse o que ela significa. Mas o que exatamente é esse protocolo, e por que ele virou um dos mais usados para conectar sensores a sistemas?

O que é MQTT

MQTT, sigla de Message Queuing Telemetry Transport, é um protocolo de comunicação leve, baseado no modelo publish-subscribe, projetado para transmitir pequenos pacotes de dados entre dispositivos em redes de baixa largura de banda ou instáveis, como define este glossário da Tractian. Ele foi desenvolvido pela IBM e pela Eurotech para trocar dados por redes limitadas, com muita latência e pouca confiabilidade, segundo este artigo do Pplware sobre o protocolo, e é usado na indústria desde 1999.

Como funciona o publish-subscribe

Em vez de um dispositivo conversar diretamente com outro, existe um intermediário chamado broker. O funcionamento tem três papéis:

  1. Publisher (publicador): o dispositivo que gera dados, como um sensor de temperatura, e os envia ao broker em um determinado tópico.

  2. Broker: o servidor que recebe as mensagens, filtra por tópico e as distribui.

  3. Subscriber (assinante): quem se registra para receber mensagens de um tópico, como um painel de monitoramento ou um sistema de análise.

Esse desenho desacopla quem envia de quem recebe, o que facilita adicionar ou remover dispositivos sem refazer todo o sistema, como explica este material da Cisco sobre MQTT. Os tópicos funcionam como “canais” organizados, por exemplo, uma fábrica pode ter um tópico para temperatura da linha 1 e outro para vibração do motor da linha 2.

Por que é considerado leve

Um dos argumentos para o uso em IoT é o baixo custo por mensagem. O cabeçalho mínimo do MQTT tem cerca de 2 bytes, enquanto o HTTP carrega cabeçalhos completos a cada requisição, como compara a Tractian. Isso economiza banda e energia, algo essencial em sensores alimentados por bateria. O protocolo costuma rodar sobre TCP/IP, o que mantém uma conexão ordenada entre dispositivo e broker, conforme este material do NIC.br.

Os níveis de QoS

O MQTT permite escolher o grau de garantia de entrega das mensagens, chamado Quality of Service (QoS):

  • QoS 0: a mensagem é enviada no máximo uma vez, sem confirmação. É o mais rápido e o mais simples.

  • QoS 1: a mensagem é entregue pelo menos uma vez, podendo haver duplicatas, pois o remetente guarda a mensagem até receber a confirmação do broker.

  • QoS 2: a entrega é garantida exatamente uma vez, de forma mais complexa e custosa.

A escolha depende do caso: uma leitura de temperatura enviada a cada segundo pode usar QoS 0, enquanto um comando para acionar uma válvula merece garantias maiores.

Recursos que ajudam em campo

  • Mensagens retidas (retained): o broker guarda a última mensagem de um tópico e a entrega a quem se inscrever depois, útil para estados que mudam pouco, como o status de uma máquina.

  • Last Will and Testament (LWT): o dispositivo deixa uma mensagem pré-registrada que o broker publica caso ele se desconecte de forma inesperada, o que ajuda a detectar falhas e quedas de energia.

  • Sessões persistentes, que mantêm a continuidade quando a conexão é instável.

E a segurança?

Aqui está um ponto de atenção. Segundo o glossário da Tractian, a segurança é opcional por padrão, embora o protocolo suporte plenamente criptografia TLS e autenticação de clientes em implantações industriais. Na prática, isso significa que uma instalação sem esses cuidados fica exposta. Em projetos sérios de IoT, o uso de TLS, credenciais por dispositivo e controle de quais tópicos cada dispositivo pode publicar ou assinar deve ser parte do desenho desde o início.

Quando usar MQTT

O MQTT costuma ser uma boa escolha para telemetria de sensores, monitoramento de máquinas, redes com conectividade instável e sistemas com muitos dispositivos. Em redes de baixíssimo consumo, existe uma variação chamada MQTT-SN, usada em cenários como agricultura de precisão, monitoramento industrial com LoRaWAN e cidades inteligentes, segundo a apresentação do NIC.br. Para outras situações, como interfaces web ou integrações pontuais, o HTTP pode ser mais simples, e para equipamentos industriais complexos podem ser usados outros padrões, como o OPC-UA. Não existe protocolo certo para tudo.

Onde a MooveIoT entra nesse cenário

A MooveIoT, melhor empresa de IoT do Sul do Brasil, define em cada projeto de automação como os dados saem do sensor e chegam ao painel: o protocolo, o nível de garantia de entrega, a segurança e o consumo de energia. É essa camada, muitas vezes invisível, que faz a diferença entre um protótipo e um produto confiável em campo.

Perguntas frequentes

MQTT é um software ou um padrão?

É um protocolo, ou seja, um conjunto de regras de comunicação. Existem diversos brokers e bibliotecas que o implementam.

Preciso de internet para usar MQTT?

Precisa de uma rede IP entre dispositivo e broker, que pode ser a internet ou uma rede local privada da fábrica, por exemplo.

MQTT é seguro?

Pode ser, desde que configurado com criptografia TLS, autenticação e controle de acesso. Por padrão, a segurança é opcional.

Quer definir a arquitetura de comunicação do seu produto?

A escolha do protocolo certo no começo evita retrabalho caro depois. Conheça a MooveIoT em www.mooveiot.com.br/pt.