Retransmita mensagens MQTT entre dispositivos clientes e AWS IoT Core - 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á.

Retransmita mensagens MQTT entre dispositivos clientes e AWS IoT Core

Você pode retransmitir mensagens MQTT e outros dados entre dispositivos clientes e. AWS IoT Core Os dispositivos cliente se conectam ao componente do agente MQTT que é executado no dispositivo principal. Por padrão, os dispositivos principais não retransmitem mensagens ou dados do MQTT entre dispositivos clientes e. AWS IoT Core Por padrão, os dispositivos cliente podem se comunicar somente entre si pelo MQTT.

Para retransmitir mensagens MQTT entre dispositivos cliente eAWS IoT Core, configure o componente de ponte MQTT para fazer o seguinte:

  • Retransmita mensagens dos dispositivos do cliente para o. AWS IoT Core

  • Retransmita mensagens AWS IoT Core para os dispositivos do cliente.

nota

A ponte MQTT usa QoS 1 para publicar e assinarAWS IoT Core, mesmo quando um dispositivo cliente usa QoS 0 para publicar e assinar o broker MQTT local. Como resultado, você pode observar latência adicional ao retransmitir mensagens MQTT de dispositivos clientes no agente MQTT local para o. AWS IoT Core Para obter mais informações sobre a configuração do MQTT nos dispositivos principais, consulteDefina os tempos limite do MQTT e as configurações de cache.

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 retransmitir mensagens entre dispositivos cliente eAWS IoT Core, 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 mensagens sobre tópicos que correspondem ao filtro de clients/+/hello/world tópicos dos dispositivos do cliente para o. AWS IoT Core 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": { "HelloWorldIotCore": { "topic": "clients/+/hello/world", "source": "LocalMqtt", "target": "IotCore" } } }
AWS CLI
{ "components": { "aws.greengrass.clientdevices.mqtt.Bridge": { "version": "2.0.0", "configurationUpdate": { "merge": "{\"mqttTopicMapping\":{\"HelloWorldIotCore\":{\"topic"\:\"clients/+/hello/world\",\"source\":\"LocalMqtt\",\"target\":\"IotCore\"}}}" } } ... } }

Retransmitir mensagens MQTT

Para retransmitir mensagens MQTT entre dispositivos clientesAWS IoT Core, configure e implante o componente MQTT Bridge e especifique os tópicos a serem retransmitidos.

exemplo Exemplo: retransmitir mensagens sobre um tópico dos dispositivos do cliente para AWS IoT Core

A configuração do componente de ponte MQTT a seguir especifica a retransmissão de mensagens em tópicos que correspondem ao filtro de clients/+/hello/world/event tópicos dos dispositivos cliente para o. AWS IoT Core

{ "mqttTopicMapping": { "HelloWorldEvent": { "topic": "clients/+/hello/world/event", "source": "LocalMqtt", "target": "IotCore" } } }
exemplo Exemplo: retransmitir mensagens sobre um tópico AWS IoT Core para dispositivos clientes

A configuração do componente de ponte MQTT a seguir especifica a retransmissão de mensagens em tópicos que correspondem ao filtro de clients/+/hello/world/event/response tópicos dos dispositivos clientesAWS IoT Core.

{ "mqttTopicMapping": { "HelloWorldEventConfirmation": { "topic": "clients/+/hello/world/event/response", "source": "IotCore", "target": "LocalMqtt" } } }