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á.
Interaja com dispositivos clientes em componentes
Você pode desenvolver componentes personalizados do Greengrass que interagem com dispositivos clientes conectados a um dispositivo principal. Por exemplo, você pode desenvolver componentes que façam o seguinte:
-
Atue nas mensagens MQTT dos dispositivos do cliente e envie dados para os Nuvem AWS destinos.
-
Envie mensagens MQTT aos dispositivos do cliente para iniciar ações.
Os dispositivos cliente se conectam e se comunicam com um dispositivo principal por meio do componente intermediário MQTT que é executado no dispositivo principal. Por padrão, os dispositivos cliente só podem se comunicar uns com os outros pelo MQTT, e os componentes do Greengrass não podem receber essas mensagens do MQTT nem enviar mensagens aos dispositivos do cliente.
Os componentes do Greengrass usam a interface local de publicação/assinatura para se comunicarem em um dispositivo principal. Para se comunicar com dispositivos clientes nos componentes do Greengrass, configure o componente de ponte MQTT para fazer o seguinte:
-
Retransmita mensagens MQTT dos dispositivos do cliente para publicação/assinatura local.
-
Retransmita mensagens MQTT da publicação/assinatura local para dispositivos clientes.
Você também pode interagir com as sombras do dispositivo cliente nos componentes do Greengrass. Para ter mais informações, consulte Interaja e sincronize as sombras do dispositivo cliente.
Tópicos
Configurar e implantar o componente de ponte MQTT
O componente de ponte MQTT consome uma lista de mapeamentos de tópicos, cada um especificando a origem e o destino da mensagem. Para se comunicar com dispositivos clientes, implante o componente de ponte MQTT e especifique cada tópico de origem e destino na configuração do componente.
Para implantar o componente de ponte MQTT em um dispositivo principal ou grupo de dispositivos principais, crie uma implantação que inclua o aws.greengrass.clientdevices.mqtt.Bridge
componente. Especifique os mapeamentos de tópicos,mqttTopicMapping
, na configuração do componente de ponte MQTT na implantação.
O exemplo a seguir define uma implantação que configura o componente de ponte MQTT para retransmitir o clients/MyClientDevice1/hello/world
tópico dos dispositivos do cliente para o agente local de publicação/assinatura. A atualização da merge
configuração requer um objeto JSON serializado. Para ter mais informações, consulte Atualizar configurações de componentes.
Você pode usar curingas de tópicos do MQTT para retransmitir mensagens sobre tópicos que correspondam a um filtro de tópicos. Se você usar o MQTT bridge v2.2.0 ou posterior, poderá usar curingas de tópicos do MQTT nos filtros de tópicos quando o agente de origem for publicar/assinar local. Para obter mais informações, consulte Configuração do componente de ponte MQTT.
Receba mensagens MQTT de dispositivos clientes
Você pode se inscrever nos tópicos locais de publicação/assinatura que você configura para que o componente de ponte MQTT receba mensagens de dispositivos clientes.
Para receber mensagens MQTT de dispositivos clientes em componentes personalizados
-
Configure e implante o componente de ponte do MQTT para retransmitir mensagens de um tópico do MQTT em que os dispositivos do cliente publicam em um tópico local de publicação/assinatura.
-
Use a interface IPC local de publicação/assinatura para assinar o tópico em que a ponte MQTT retransmite mensagens. Para obter mais informações, consulte SubscribeToTopic e Publique/assine mensagens locais.
O tutorial Conectar e testar dispositivos cliente inclui uma seção em que você desenvolve um componente que assina mensagens de um dispositivo cliente. Para ter mais informações, consulte Etapa 4: desenvolver um componente que se comunique com os dispositivos do cliente.
Envie mensagens MQTT para dispositivos clientes
Você pode publicar nos tópicos locais de publicação/assinatura que você configura para o componente de ponte MQTT para enviar mensagens aos dispositivos clientes.
Para publicar mensagens MQTT em dispositivos clientes em componentes personalizados
-
Configure e implante o componente de ponte do MQTT para retransmitir mensagens de um tópico local de publicação/assinatura para um tópico do MQTT no qual os dispositivos do cliente se inscrevem.
-
Use a interface IPC local de publicação/assinatura para publicar no tópico em que a ponte MQTT retransmite mensagens. Para ter mais informações, consulte Publique/assine mensagens locais e PublishToTopic.