Retransmitir mensajes MQTT entre dispositivos cliente y AWS IoT Core - AWS IoT Greengrass

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Retransmitir mensajes MQTT entre dispositivos cliente y AWS IoT Core

Puede retransmitir mensajes MQTT y otros datos entre dispositivos cliente y. AWS IoT Core Los dispositivos cliente se conectan al componente intermediario MQTT que se ejecuta en el dispositivo principal. De forma predeterminada, los dispositivos principales no transmiten mensajes o datos MQTT entre los dispositivos cliente y. AWS IoT Core De forma predeterminada, los dispositivos cliente solo se pueden comunicar entre sí a través de MQTT.

Para retransmitir mensajes MQTT entre dispositivos cliente y AWS IoT Core configurar el componente de puente MQTT para que haga lo siguiente:

  • Retransmita mensajes desde los dispositivos cliente a. AWS IoT Core

  • AWS IoT CoreRetransmita mensajes desde los dispositivos cliente.

nota

El puente MQTT usa QoS 1 para publicar y AWS IoT Core suscribirse, incluso cuando un dispositivo cliente usa QoS 0 para publicar y suscribirse al broker MQTT local. Como resultado, es posible que observe una latencia adicional al retransmitir los mensajes MQTT desde los dispositivos cliente del broker MQTT local. AWS IoT Core Para obtener más información sobre la configuración de MQTT en los dispositivos principales, consulte. Configure los MQTT tiempos de espera y los ajustes de la memoria caché

Configure e implemente el componente de puente MQTT

El componente MQTT bridge consume una lista de mapeos de temas, cada uno de los cuales especifica un origen y un destino del mensaje. Para retransmitir mensajes entre los dispositivos cliente yAWS IoT Core, implementar el componente de puente MQTT y especificar cada tema de origen y destino en la configuración del componente.

Para implementar el componente MQTT bridge en un dispositivo principal o en un grupo de dispositivos principales, cree una implementación que incluya el aws.greengrass.clientdevices.mqtt.Bridge componente. Especifique las asignaciones de temas en la configuración del componente de puente MQTT de la implementación. mqttTopicMapping

El siguiente ejemplo define una implementación que configura el componente de puente MQTT para retransmitir mensajes sobre temas que coinciden con el filtro de temas desde los dispositivos cliente hasta los que coinciden con el filtro de clients/+/hello/world temas. AWS IoT Core La actualización merge de la configuración requiere un objeto JSON serializado. Para obtener más información, consulte Actualizar las configuraciones de los 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\"}}}" } } ... } }

Retransmita mensajes MQTT

Para retransmitir mensajes MQTT entre dispositivos cliente y configurar e AWS IoT Core implementar el componente MQTT Bridge y especificar los temas que se van a retransmitir.

ejemplo Ejemplo: retransmitir mensajes sobre un tema desde los dispositivos cliente a AWS IoT Core

La siguiente configuración de componentes de puente de MQTT especifica la transmisión de mensajes sobre temas que coinciden con el filtro de temas desde los dispositivos cliente a los que coinciden con el filtro de clients/+/hello/world/event temas. AWS IoT Core

{ "mqttTopicMapping": { "HelloWorldEvent": { "topic": "clients/+/hello/world/event", "source": "LocalMqtt", "target": "IotCore" } } }
ejemplo Ejemplo: retransmitir mensajes sobre un tema desde los dispositivos AWS IoT Core cliente

La siguiente configuración de componentes del puente MQTT especifica la transmisión de mensajes sobre temas que coinciden con el filtro de temas desde los que se filtra el clients/+/hello/world/event/response tema AWS IoT Core a los dispositivos cliente.

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