Desenvolvimento MQTT
O MQTT é o protocolo standard para IoT. Leve, eficiente e concebido para ligações instáveis. Implementamos arquiteturas MQTT completas: brokers geridos ou self-hosted, níveis de QoS, segurança TLS, desenho de topics e bridging edge-to-cloud.
MQTT: comunicação eficiente entre dispositivos e a cloud
O MQTT (Message Queuing Telemetry Transport) é um protocolo de mensagens pub/sub concebido para ambientes com largura de banda limitada, latência elevada ou ligações instáveis. Uma mensagem MQTT pode ter apenas 2 bytes de overhead, face às centenas de bytes de um pedido HTTP. Isto torna-o o protocolo ideal para dispositivos IoT alimentados a bateria e com conectividade limitada.
O modelo pub/sub do MQTT desacopla completamente os produtores de dados (dispositivos) dos consumidores (aplicações, dashboards, sistemas de alertas). Um dispositivo publica dados num topic; qualquer número de subscritores pode receber esses dados sem que o dispositivo saiba quem os consome. Isto permite adicionar novos consumidores (um novo dashboard, um sistema de alertas, um pipeline de ML) sem modificar o firmware dos dispositivos.
Na Soamee implementamos o MQTT como protocolo principal nos nossos projetos de IoT. Utilizamo-lo na plataforma Spherag para a transmissão de dados de sensores agrícolas e em vários projetos de IoT industrial para monitorização e controlo de dispositivos.
Trabalhamos com brokers geridos como o AWS IoT Core e brokers self-hosted como EMQX e Mosquitto. A escolha depende dos requisitos de escala, custo, controlo e compliance de cada projeto.
Overhead mínimo
Segurança nativa
Níveis de garantia
Deteção de desconexões
Quality of Service adaptado a cada caso de uso
O MQTT oferece três níveis de QoS que equilibram fiabilidade e eficiência. Escolher o nível certo é fundamental para otimizar o desempenho.
QoS 0: No máximo uma vez
Fire and forget. A mensagem é enviada uma única vez, sem confirmação. O mais rápido e leve. Ideal para telemetria de alta frequência em que perder um dado ocasional não é crítico (temperatura a cada segundo, posição GPS). Overhead mínimo de rede e bateria.
QoS 1: Pelo menos uma vez
Entrega garantida com possíveis duplicados. O emissor retransmite a mensagem até receber confirmação (PUBACK). O nível mais utilizado em IoT industrial. Ideal para dados de sensores em que a perda é inaceitável mas um duplicado pode ser gerido (alertas, leituras de consumo).
QoS 2: Exatamente uma vez
Entrega garantida sem duplicados. Handshake de 4 passos que assegura que cada mensagem é recebida exatamente uma vez. Maior overhead de rede e latência. Reservado para operações críticas em que um duplicado causaria problemas (comandos a atuadores, transações, atualizações de firmware).
O que implementamos com MQTT
Segurança TLS/mTLS
Encriptação de todas as comunicações MQTT com TLS 1.2/1.3. Autenticação mútua (mTLS) com certificados X.509 para verificar a identidade tanto do dispositivo como do broker. Rotação automática de certificados e revogação imediata de dispositivos comprometidos. Autorização granular ao nível do topic, controlando que dispositivo pode publicar ou subscrever que dados.
Configuração e clustering de brokers
Implementamos e configuramos brokers MQTT de acordo com os requisitos do projeto. EMQX para alta escala (milhões de ligações) com clustering nativo. Mosquitto para projetos mais pequenos ou gateways edge. AWS IoT Core como serviço gerido. Configuração de bridges entre brokers para arquiteturas edge-to-cloud com sincronização de dados.
Desenho de topics
Desenho de hierarquias de topics MQTT adaptadas ao domínio do projeto. Padrões como {org}/{site}/{device-type}/{device-id}/{data-type} que permitem subscrições com wildcards (# e +) para um consumo flexível dos dados. Shared subscriptions para distribuir a carga por múltiplos consumidores.
Bridge edge-to-cloud
Arquitetura de bridge entre o broker edge local (Mosquitto no gateway) e o broker na cloud (AWS IoT Core, EMQX Cloud). Os dados são publicados localmente com baixa latência, guardados em buffer durante as desconexões e sincronizados com a cloud quando há conectividade. Store-and-forward para garantir zero perda de dados.
Precisa de implementar MQTT no seu projeto de IoT?
Consultoria gratuita →Brokers e ferramentas que utilizamos
Pode também estar interessado em
Implemente MQTT no seu projeto de IoT
Ajudamos a escolher o broker certo, a desenhar a arquitetura de topics e a construir o pipeline MQTT completo.