Um aplicativo MQTT Explorer para desktop mostra o que um terminal não consegue: a árvore de topics inteira de uma só vez, quais ramos estão movimentados, qual é cada valor retido e como um payload mudou ao longo do tempo. Este guia compara os principais explorers para desktop, explica quais recursos realmente importam ao depurar um sistema real e mostra como conectar um deles ao servidor MQTT público broker.connectmq.com com uma árvore de topics pré-populada, para que você mesmo possa avaliá-los.
Por que usar um explorer desktop em vez da CLI
Ferramentas de linha de comando são perfeitas para scripts e verificações rápidas, e nós as comparamos em ferramentas CLI para MQTT. Mas elas mostram as mensagens como um fluxo contínuo. Quando um sistema tem centenas de topics, fica difícil raciocinar sobre um fluxo. Um explorer desktop transforma esse fluxo em uma estrutura:
- Uma árvore, não um log. Você vê
factory1/line1/cnc1/telemetrycomo um ramo com irmãos, então erros de nomenclatura comoLine1vsline1saltam aos olhos. - Último valor por topic. Clicar em um nó mostra o valor atual (muitas vezes retido) sem precisar esperar.
- Histórico e diffs. Muitos explorers guardam as mensagens recentes de cada topic, então você vê o que mudou entre dois payloads.
- Publicação segura. Payloads salvos, formatação de JSON e uma caixa de seleção de retain bem visível reduzem a chance de publicar algo errado em produção.
- Múltiplas conexões. Alterne entre um broker local, um broker de homologação e o de produção sem redigitar credenciais.
O que avaliar em um aplicativo MQTT Explorer desktop
Use esta checklist ao experimentar qualquer explorer:
- Suporte a protocolos: MQTT 3.1.1 e 5.0, e visibilidade das propriedades do MQTT 5, como user properties, content type e message expiry.
- Opções de transporte: TCP, TLS, WebSocket e WebSocket seguro, com um campo para o caminho do WebSocket (por exemplo
/mqtt). - Tratamento de TLS: usa o repositório de certificados confiáveis do sistema ou permite adicionar um arquivo de CA; mensagem de erro clara quando o certificado falha.
- Desempenho da árvore de topics: continua responsivo quando você assina
#em um broker movimentado. - Renderização de payload: JSON formatado, visualização hexadecimal para binários e, idealmente, decodificação de formatos como Sparkplug B.
- Gerenciamento de retained messages: ver quais topics estão retidos e apagá-los publicando um payload retido vazio.
- Ergonomia de publicação: mensagens salvas, controles de QoS e retain, propriedades do MQTT 5.
- Armazenamento de credenciais: se as senhas são guardadas criptografadas ou em arquivos de configuração em texto puro.
- Cobertura de plataformas: builds para Windows, macOS e Linux para a sua equipe.
- Licença e manutenção: open source, gratuito ou comercial, e com que frequência é atualizado.
Comparativo dos principais explorers desktop
| Aplicativo | Licença | Ponto forte | A considerar |
|---|---|---|---|
| MQTT Explorer | Open source | Excelente árvore hierárquica de topics com contadores de mensagens, histórico de payloads, diffs e gráficos numéricos | Feito para navegação; a publicação é básica |
| MQTTX (desktop) | Open source | Visualização estilo chat por conexão, ótimo suporte a MQTT 5, conexões salvas, scripts | Orientado a fluxo; a visualização em árvore é menos central |
| MQTT.fx | Comercial | Ferramenta antiga e conhecida por muitos engenheiros | O licenciamento mudou com o tempo; confira os termos atuais |
| ConnectMQ Desktop MQTT explorer | Ferramenta do fornecedor | Navegar por topics, publicar mensagens de teste e inspecionar payloads em qualquer broker MQTT | Ferramenta mais recente; combina bem com o portal web |
MQTT Explorer
O MQTT Explorer é a ferramenta que muita gente tem em mente quando fala em "MQTT explorer". Ele faz assinaturas amplas (por padrão em # e $SYS/#) e renderiza tudo como uma árvore recolhível, com contadores mostrando quantas mensagens chegaram em cada ramo. Selecionar um topic mostra o último payload, um histórico de valores recentes e um diff em relação à mensagem anterior; valores numéricos podem ser plotados em gráfico. Para entender um sistema desconhecido, muitas vezes é o caminho mais rápido.
Cuidado com a assinatura padrão em # em brokers grandes ou compartilhados. No servidor MQTT público, assine apenas o seu próprio prefixo para respeitar o limite de 10 assinaturas por cliente e evitar inundar o aplicativo com o tráfego de outros usuários.
MQTTX Desktop
O MQTTX apresenta cada conexão como um chat: as mensagens que você envia de um lado, as recebidas do outro, filtráveis por topic. Ele é muito bom para testes interativos de requisição e resposta, para propriedades do MQTT 5 e para manter uma biblioteca de conexões. Se o seu trabalho é basicamente "enviar um comando e observar a resposta", o MQTTX parece natural.
MQTT.fx
O MQTT.fx foi durante anos o cliente desktop padrão baseado em Java. Seu modelo de licenciamento mudou, então confira os termos atuais antes de padronizá-lo para uma equipe.
ConnectMQ Desktop MQTT Explorer
Este explorer é distribuído junto com uma extensão MQTT para VS Code. Ele navega por topics, publica payloads de teste e inspeciona mensagens, e funciona com qualquer broker compatível com o padrão, não apenas com o próprio. Se os seus dispositivos já se conectam a um broker ConnectMQ, ele é um companheiro prático do portal: use o aplicativo desktop enquanto desenvolve localmente, e o explorador de topics ao vivo e o cliente MQTT no navegador do portal quando estiver longe da sua máquina.
Mão na massa: popule uma árvore de topics e explore
Para comparar explorers de forma justa, dê a eles os mesmos dados. Os comandos abaixo criam uma árvore pequena e realista no servidor MQTT público sob um prefixo exclusivo. Substitua ex4m pela sua própria string aleatória e lembre-se de que o servidor público é visível para todos e serve apenas para testes.
P="connectmq/demo/ex4m"
H="-h broker.connectmq.com -p 1883 -i seed-ex4m"
mosquitto_pub $H -r -t "$P/plant1/line1/cnc1/status" -m "running"
mosquitto_pub $H -r -t "$P/plant1/line1/cnc1/telemetry" -m '{"spindle_rpm": 8200, "temp_c": 41.5}'
mosquitto_pub $H -r -t "$P/plant1/line1/robot1/status" -m "idle"
mosquitto_pub $H -r -t "$P/plant1/line2/furnace1/telemetry" -m '{"temp_c": 812, "setpoint_c": 820}'
mosquitto_pub $H -r -t "$P/plant1/utilities/tank1/level" -m "67.2"
Depois adicione um valor ao vivo, que muda, para que o histórico e os gráficos tenham algo a mostrar:
for i in $(seq 1 60); do
mosquitto_pub -h broker.connectmq.com -p 1883 -i seed-live-ex4m \
-t "connectmq/demo/ex4m/plant1/utilities/tank1/level" -m "$((60 + RANDOM % 15)).$((RANDOM % 10))"
sleep 1
done
O topic mais profundo aqui tem 7 níveis, dentro do limite de 8 do servidor MQTT público.
Configurações de conexão
Use estas configurações em qualquer explorer:
| Campo | Servidor MQTT público (testes) | Seu broker privado |
|---|---|---|
| Host | broker.connectmq.com |
O host do seu broker, exibido no portal |
| Porta / protocolo | 1883 TCP, ou 8883 com TLS ativado | 8883 com TLS (recomendado) |
| WebSocket | 8083 (ws), 8084 (wss), caminho /mqtt |
Mesmas portas e caminho |
| Client ID | Qualquer valor único e não vazio | O client ID gerado para as suas credenciais |
| Usuário / senha | Vazios | YOUR_USERNAME / YOUR_PASSWORD |
| Assinatura | connectmq/demo/ex4m/# |
# ou a sua própria raiz |
O que observar
- Expanda
plant1e verifique se a hierarquia corresponde ao planejado. Em projetos reais, como o de uma planta em Joinville, é aqui que você descobre dispositivos que publicam emPlant1ou colocam o ID do dispositivo no nível errado. - Selecione
tank1/levele acompanhe o histórico enquanto o loop roda. Explorers com gráficos o plotam diretamente. - Selecione
furnace1/telemetrye confirme que o JSON aparece formatado. - Apague um valor retido: publique um payload vazio com retain ativado em
cnc1/status. O nó deve desaparecer (ou aparecer vazio) para novos assinantes. - Desconecte e reconecte. Os topics retidos reaparecem na hora; os não retidos aguardam novas mensagens. Essa é a forma mais rápida de descobrir quais dos seus topics são retidos.
Uma hierarquia consistente importa cada vez mais à medida que os sistemas crescem. O estilo ISA-95 usado acima (site, área, linha, célula) é a espinha dorsal de um Unified Namespace; leia MQTT Sparkplug B e Unified Namespace para entender o raciocínio por trás dele.
Solução de problemas em explorers desktop
- Conecta via TCP, mas não via TLS: o aplicativo pode não usar o repositório de certificados do sistema operacional. Adicione o certificado ISRG Root X1 (Let's Encrypt) como CA e confira o relógio do sistema.
- A conexão WebSocket falha: falta o caminho. Use
/mqttcom as portas 8083 ou 8084. - A árvore trava: você assinou
#em um broker movimentado. Restrinja a assinatura. - Desconecta a cada poucos segundos: outra ferramenta está usando o mesmo client ID. Muitos explorers geram um automaticamente; garanta que duas conexões salvas não compartilhem o mesmo.
- Não autorizado em um broker privado: o client ID precisa ser o mesmo emitido junto com as credenciais.
Da exploração à produção
Um explorer desktop é uma lente de depuração; quem precisa ser confiável é o broker. Quando seus dispositivos forem além dos experimentos, rode-os em um broker MQTT gerenciado em vez do servidor MQTT público compartilhado. Os brokers ConnectMQ suportam MQTT 3.1.1 e 5.0 sobre TCP, TLS, WebSocket e WebSocket seguro, então todos os explorers deste comparativo se conectam sem configuração especial. Para uma visão mais ampla das opções de hospedagem, leia o guia sobre broker MQTT na nuvem, e a página do servidor MQTT público, indicada no início deste guia, detalha os limites compartilhados. Para transformar o que você vê em um explorer em código de aplicação, o guia de bibliotecas cliente MQTT é o próximo passo, e os exemplos de mosquitto_pub e mosquitto_sub cobrem o lado dos scripts.
Comece a usar o ConnectMQ
Crie um broker privado em app.connectmq.com no plano gratuito Serverless, sem cartão de crédito, e conecte seu explorer desktop favorito com as credenciais geradas. O portal acrescenta um explorador de topics ao vivo, um dashboard e uma visão de dispositivos organizada pelos níveis ISA-95, para que você também possa inspecionar o tráfego de qualquer navegador.
Perguntas frequentes
Qual é o melhor aplicativo MQTT Explorer desktop?
Para navegar em uma árvore de topics grande, é difícil superar o MQTT Explorer. Para testes interativos de publicação e resposta com MQTT 5, o MQTTX é muito prático. Se você usa o ConnectMQ, o explorer desktop e o portal oferecem um fluxo de trabalho consistente entre máquinas.
Um MQTT explorer desktop consegue se conectar a qualquer broker?
Sim, desde que o aplicativo suporte a versão do protocolo e o transporte do broker. Todas as ferramentas citadas aqui falam MQTT padrão e funcionam com qualquer broker compatível, hospedado ou autogerenciado.
É seguro assinar # em um MQTT explorer?
No seu próprio broker de desenvolvimento, sim. Em brokers de produção ou compartilhados, isso pode sobrecarregar o aplicativo e expor mais dados do que você precisa, então assine uma raiz específica.
Por que alguns topics mostram valores imediatamente e outros ficam vazios?
Topics com retained message são entregues assim que você assina. Os demais só aparecem quando a próxima mensagem é publicada.



