MQTT

MQTT (Message Queuing Telemetry Transport / Protocolo de Mensageria Leve)

Definição:
MQTT é um protocolo de comunicação leve baseado em modelo publish/subscribe, projetado para transmissão eficiente de dados entre dispositivos, especialmente em ambientes com baixa largura de banda ou recursos limitados.

        

[ Temp Sensor ] ---- publish ----\
                                   \
[ Motion Sensor ] ---- publish ----+----> [ MQTT BROKER ] ----> (route by topic)
                                   /                                   |
[ ESP32 Node ] ------ publish ----/                                    |
                                                                       |
                               <---- subscribe ---- [ Mobile App ] <---+
                                                                       |
                               <---- subscribe ---- [ Dashboard ]  <---+
                                                                       |
                               <---- subscribe ---- [ Automation Engine ]

ilustrando MQTT em cenário dinâmico (smart environment / IoT ativo)


Como funciona (visão modular):

  1. Dispositivo publica uma mensagem em um tópico
  2. Um broker (servidor MQTT) recebe essa mensagem
  3. Outros dispositivos inscritos (subscribers) no tópico recebem a mensagem

✔ Separação clara: publicador ≠ broker ≠ assinante


Componentes principais:

  • Publisher (publicador) → envia dados
  • Broker → intermedia as mensagens
  • Subscriber (assinante) → recebe dados
  • Topic (tópico) → canal lógico de comunicação

E o que isso tem a ver com IA?

O MQTT, por si só, não é inteligência — ele é um protocolo de comunicação leve entre dispositivos. A relação com IA surge porque ele é o canal que transporta os dados que alimentam e operacionalizam modelos inteligentes. Sensores publicam dados (temperatura, vibração, imagem, etc.), esses dados são consumidos por sistemas de IA (edge ou cloud), e as decisões geradas podem ser reenviadas via MQTT para execução no dispositivo. Como o protocolo segue o modelo publish/subscribe e permite comunicação eficiente e em tempo real , ele viabiliza arquiteturas onde a IA está desacoplada do hardware, mas ainda assim integrada ao fluxo operacional. Resultado: o MQTT não “pensa”, mas é o barramento que conecta percepção, processamento inteligente e ação.


E o que isso tem a ver com IoT/embarcados?

No contexto de IoT e sistemas embarcados, o MQTT é praticamente o padrão de comunicação entre dispositivos. Ele foi projetado exatamente para esse cenário: dispositivos com poucos recursos, redes instáveis e baixa largura de banda . Em vez de comunicação direta entre dispositivos, todos se conectam a um broker central, publicando e recebendo mensagens por “tópicos” . Isso permite desacoplamento total: sensores publicam dados sem saber quem consome, e atuadores recebem comandos sem saber quem enviou.

Na prática embarcada, isso cria um fluxo claro: MCU/sensor → publica dado → broker distribui → outro dispositivo ou sistema reage. Isso torna o sistema modular, escalável e eficiente, reduzindo consumo de rede e permitindo comunicação em tempo real mesmo em ambientes limitados. Resultado: o MQTT é o backbone de comunicação do IoT, conectando sensores, dispositivos embarcados e sistemas externos de forma simples e robusta.



Devices publish to topics:

[ Temp Sensor ] ---> home/livingroom/temp
[ Motion ] -------> home/garage/motion
[ ESP32 ] --------> home/garden/humidity


                    +----------------------+
                    |     MQTT BROKER      |
                    |----------------------|
                    | home/#               |
                    | home/livingroom/#    |
                    | home/garage/#        |
                    +----------+-----------+
                               |
        +----------------------+----------------------+
        |                      |                      |
        v                      v                      v

 [ Mobile App ]       [ Dashboard ]         [ Automation ]
 subscribe:           subscribe:            subscribe:
 home/#               home/livingroom/#     home/garage/motion



                         [ Sensor ] 
                             |
                             | publish: factory/machine1/temp = 85°C
                             v
                +----------------------+
                |     MQTT BROKER      |
                +----------+-----------+
                           |
        +------------------+------------------+
        |                                     |
        v                                     v

[ Monitoring System ]              [ Automation Engine ]
subscribe:                         subscribe:
factory/#                          factory/machine1/temp

                                        |
                                        | if temp > 80
                                        v
                                publish: factory/machine1/cooler = ON
                                        |
                                        v
                                  [ Actuator / Relay ]


FLUXO REAL (telemetria + ação)


Exemplos práticos (IoT / automação):

  • Monitoramento de sensores
    Um dispositivo publica temperatura em sensor/temperatura, e um servidor recebe esses dados.
  • Controle remoto de dispositivos
    Um sistema envia comando em atuador/bomba e outro dispositivo executa a ação.
  • Sistema distribuído
    Vários dispositivos publicam dados e múltiplos sistemas consomem simultaneamente.
  • Alertas em tempo real
    Um sensor detecta falha e publica em alerta/falha, acionando dashboards ou sistemas externos.

Boas práticas:

  • Definir estrutura clara de tópicos (area/dispositivo/tipo)
  • Usar QoS adequado (0, 1 ou 2) conforme criticidade
  • Implementar autenticação no broker
  • Monitorar conexões e reconexões

Por que usar MQTT:

  • Baixo consumo de banda
  • Alta escalabilidade (muitos dispositivos)
  • Comunicação desacoplada
  • Ideal para redes instáveis
SEM MQTT (caótico):
A <--> B
A <--> C
B <--> C
C <--> D
... (N² conexões)

COM MQTT:

A --->\
B ----->\
C -------> [ BROKER ] ----> D
E ------->/

(1 ponto de integração, desacoplado)

Resumo direto:

MQTT = dispositivos publicam e recebem mensagens via broker usando tópicos.