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á.
Esta seção descreve como usar o cliente de teste AWS IoT MQTT no AWS IoT consoletopicName
usado nos exemplos por qualquer nome de tópico ou filtro de tópico 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
Conteúdo
Visualizar mensagens MQTT no cliente MQTT
O procedimento a seguir explica como se inscrever em um tópico específico do MQTT no qual seu dispositivo publica mensagens e visualizá-las no console de AWS IoT
Para visualizar mensagens MQTT no cliente de teste MQTT
-
No console do AWS IoT
, no menu esquerdo, selecione Testar e, depois, selecione Cliente de teste MQTT. -
Na guia Inscrever-se em um tópico, insira
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 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. -
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 |
|
Um nome de tópico que inicia com |
|
Um nome de tópico que inicia com |
|
Um nome de tópico que inicia com |
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
-
Na página do cliente de teste do MQTT, na guia Publicar em um tópico, no campo Nome do tópico, insira a
topicName
mensagem. Neste exemplo, usemy/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.
-
Na janela de carga da mensagem, insira o JSON a seguir:
{ "message": "Hello, world", "clientType": "MQTT test client" }
-
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.
-
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.
Você pode publicar mensagens MQTT topicName
em outros tópicos alterando o campo Nome do tópico e escolhendo o botão Publicar.
Importante
Quando você cria várias assinaturas com tópicos sobrepostos (por exemplo, sonda1/temperatura e sonda1/#), uma única mensagem publicada em um tópico correspondente às duas assinaturas pode ser 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 compartilhar uma assinatura de um tópico MQTT
-
No console do AWS IoT
, no painel de navegação, selecione Testar e, em seguida, selecione cliente de teste MQTT. -
Na guia Inscrever-se em um tópico, insira
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 mensagenstopic1
. -
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
. -
Escolha um cliente MQTT, na guia Publicar em um tópico, no campo Nome do tópico, insira a
topicName
mensagem. Neste exemplo, usetopic1
. 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.