Interaja com dispositivos clientes em componentes - AWS IoT Greengrass

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.

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.

Console
{ "mqttTopicMapping": { "HelloWorldPubsub": { "topic": "clients/MyClientDevice1/hello/world", "source": "LocalMqtt", "target": "Pubsub" } } }
AWS CLI
{ "components": { "aws.greengrass.clientdevices.mqtt.Bridge": { "version": "2.0.0", "configurationUpdate": { "merge": "\"mqttTopicMapping\":{\"HelloWorldPubsub\":{\"topic\":\"clients/MyClientDevice1/hello/world\",\"source\":\"LocalMqtt\",\"target\":\"Pubsub\"}}}" } } ... } }

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
  1. 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.

  2. 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
  1. 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.

  2. 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.