Exibir mensagens MQTT com o cliente AWS IoT MQTT - AWS IoT Core

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exibir mensagens MQTT com o cliente AWS IoT MQTT

Esta seção descreve como usar o cliente de teste AWS IoT MQTT no AWS IoT console para observar as mensagens MQTT enviadas e recebidas pelo. AWS IoT O exemplo usado nesta seção se relaciona com os exemplos usados em Começando com AWS IoT Core; entretanto, você pode substituir o topicName usado nos exemplos por qualquer nome de tópico ou filtro de tópicos usado pela sua solução de IoT.

Os dispositivos publicam mensagens MQTT que são identificadas por tópicos para comunicar seu estado e AWS IoT publicam mensagens MQTT para informar os dispositivos e aplicativos sobre mudanças e eventos. AWS IoTÉ possível usar o cliente MQTT para se inscrever nesses tópicos e observar as mensagens à medida que elas ocorrem. Você também pode usar o cliente de teste MQTT para publicar mensagens MQTT em dispositivos e serviços assinados em seu. Conta da AWS

Visualizar mensagens MQTT no cliente MQTT

Para visualizar mensagens MQTT no cliente de teste MQTT
  1. No console do AWS IoT, no menu esquerdo, selecione Testar e, depois, selecione Cliente de teste MQTT.

    Escolha o cliente de teste MQTT no menu do console na navegação à esquerda.
  2. Na guia Assinar um tópico, digite o topicName para assinar o tópico no qual seu dispositivo publica. Para começar a usar o aplicativo de exemplo, assine #, que assina todos os tópicos de mensagens.

    Continuando com o exemplo de introdução, na guia Assinar um tópico, no campo Filtro de tópicos, insira # e selecione Assinar.

    A guia Inscrever-se em um tópico.

    A página de log de mensagens do tópico, #, abrirá e # aparecerá na lista Assinaturas. Se o dispositivo que você configurou Configurar o dispositivo estiver executando o programa de exemplo, você deverá ver as mensagens para as quais ele envia AWS IoT no registro de mensagens #. As entradas do registro de mensagens aparecerão abaixo da seção Publicar quando as mensagens com o tópico inscrito forem recebidas por AWS IoT.

    A seção para mostrar o tópico foi inscrita com sucesso.
  3. Na página de log de mensagens #, também é possível publicar mensagens em um tópico, mas você precisará especificar o nome do tópico. Não é possível publicar no tópico #.

    As mensagens publicadas nos tópicos assinados aparecem no log de mensagens à medida que são recebidas, com a mensagem mais recente em primeiro lugar.

Solução de problemas com mensagens MQTT

Usar o filtro de tópicos curinga

Se suas mensagens não forem exibidas no log de mensagens conforme esperado, tente assinar um filtro de tópicos curinga, conforme descrito em Filtros de tópicos. O filtro de tópico curinga de vários níveis MQTT é o sinal de jogo da velha ou hashtag ( # ) e ele pode ser usado como filtro de tópicos no campo Tópico de assinatura.

Ao assinar o filtro de tópicos #, você assina todos os tópicos recebidos pelo agente de mensagens. Você pode restringir o filtro substituindo elementos do caminho do filtro de tópicos por um caractere curinga de vários níveis # ou pelo caractere curinga de nível único '+'.

Ao usar curingas em um filtro de tópicos
  • O caractere curinga de vários níveis deve ser o último caractere no filtro de tópicos.

  • O caminho do filtro de tópicos pode ter apenas um caractere curinga de nível único por nível de tópico.

Por exemplo: .

Filtro de tópicos

Exibe mensagens com

#

Qualquer nome de tópico

topic_1/#

Um nome de tópico que inicia com topic_1/

topic_1/level_2/#

Um nome de tópico que inicia com topic_1/level_2/

topic_1/+/level_3

Um nome de tópico que inicia com topic_1/, termina com /level_3 e tem um elemento de qualquer valor intermediário.

Para acessar mais informações sobre filtros de tópicos, consulte Filtros de tópicos.

Verificar se há erros no nome do tópico

Os nomes de tópicos MQTT e os filtros de tópicos diferenciam letras maiúsculas de minúsculas. Se, por exemplo, seu dispositivo estiver publicando mensagens em Topic_1 (com T maiúsculo) em vez de topic_1, que você assinou, suas mensagens não serão exibidas no cliente de teste MQTT. Assinar o filtro de tópicos curinga, entretanto, mostraria que o dispositivo está publicando mensagens e você poderia ver que ele estava usando um nome de tópico diferente do esperado.

Publicar mensagens MQTT do cliente MQTT

Como publicar uma mensagem em um tópico MQTT
  1. Na página do cliente de teste MQTT, na guia Publicar em um tópico, no campo Nome do tópico, digite o topicName da sua mensagem. Neste exemplo, use my/topic.

    nota

    Não use informações de identificação pessoal em nomes de tópicos, seja no cliente de teste MQTT ou na implementação do seu sistema. Os nomes de tópicos pode surgir em comunicações e relatórios não criptografados.

  2. Na janela de carga da mensagem, insira o JSON a seguir:

    { "message": "Hello, world", "clientType": "MQTT test client" }
  3. Selecione Publicar para publicar sua mensagem no AWS IoT.

    nota

    Certifique-se de ser assinante do tópico my/topic antes de publicar a mensagem.

    A guia Publicar em um tópico.
  4. Na lista Assinaturas, selecione my/topic para ver a mensagem. Você deve poder ver a mensagem aparecer no cliente de teste MQTT abaixo da janela de carga da mensagem de publicação.

    A tela que mostra o tópico publicado foi recebida.

Você pode publicar mensagens MQTT em outros tópicos alterando o topicName no campo Nome do tópico e selecionando o botão Publicar.

Importante

Quando você cria várias assinaturas com tópicos sobrepostos (por exemplo, sonda1/temperatura e sonda1/#), existe a possibilidade de que uma única mensagem publicada em um tópico correspondente às duas assinaturas seja entregue várias vezes, uma para cada assinatura sobreposta.

Testar assinaturas compartilhadas no cliente MQTT

Esta seção descreve como usar o cliente AWS IoT MQTT no AWS IoT console para observar as mensagens MQTT enviadas e recebidas AWS IoT usando assinaturas compartilhadas. Assinaturas compartilhadaspermitem que vários clientes compartilhem uma assinatura de um tópico com apenas um cliente recebendo mensagens publicadas nesse tópico usando uma distribuição aleatória. Para simular vários clientes MQTT (neste exemplo, dois clientes MQTT) compartilhando a mesma assinatura, você abre o cliente AWS IoT MQTT no AWS IoT console a partir de vários navegadores da web. O exemplo usado nesta seção não está relacionado aos exemplos contidos em Começando com AWS IoT Core. Para acessar mais informações, consulte Assinaturas compartilhadas.

Para compartilhar uma assinatura de um tópico MQTT
  1. No console do AWS IoT, no painel de navegação, selecione Testar e, em seguida, selecione cliente de teste MQTT.

  2. Na guia Assinar um tópico, digite o topicName para assinar o tópico no qual seu dispositivo publica. Para usar assinaturas compartilhadas, assine um filtro de tópicos de uma assinatura compartilhada da seguinte maneira:

    $share/{ShareName}/{TopicFilter}

    Um exemplo de filtro de tópicos pode ser $share/group1/topic1, que assina o tópico de mensagens topic1.

    A guia que mostra como especificar um filtro de tópicos para assinaturas compartilhadas.
  3. Abra outro navegador da Web e repita as etapas 1 e 2. Assim, você estará simulando dois clientes MQTT diferentes que compartilham a mesma assinatura $share/group1/topic1.

  4. Selecione um cliente MQTT, na guia Publicar em um tópico, no campo Nome do tópico, digite o topicName da sua mensagem. Neste exemplo, use topic1. Experimente publicar a mensagem algumas vezes. Na lista Assinaturas de ambos os clientes MQTT, você deve poder ver que os clientes recebem a mensagem usando uma distribuição randômica. No exemplo a seguir, publicamos a mensagem "Hello from AWS IoT console" três vezes. O cliente MQTT da esquerda recebeu a mensagem duas vezes e o cliente MQTT da direita recebeu a mensagem uma única vez.

    As assinaturas compartilhadas fluem com dois clientes para compartilhar uma assinatura de um tópico e somente um cliente receberá mensagens publicadas nesse tópico usando uma distribuição aleatória.