Interactúa con las sombras de los dispositivos cliente y sincronízalas - 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.

Interactúa con las sombras de los dispositivos cliente y sincronízalas

Puede usar el componente administrador de sombras para administrar las sombras locales, incluidas las sombras de los dispositivos cliente. Puede usar el administrador de sombras para hacer lo siguiente:

  • Interactúe con las sombras de los dispositivos cliente en los componentes de Greengrass.

  • Sincronice las sombras de los dispositivos cliente conAWS IoT Core.

nota

El componente administrador de sombras no sincroniza las sombras con ellas de forma AWS IoT Core predeterminada. Debe configurar el componente de administrador de sombras para especificar qué sombras del dispositivo cliente desea sincronizar.

Requisitos previos

Para interactuar con las sombras de los dispositivos cliente y sincronizarlas con las sombras de los dispositivos clienteAWS IoT Core, un dispositivo principal debe cumplir los siguientes requisitos:

Habilite el administrador oculto para que se comunique con los dispositivos cliente

De forma predeterminada, el componente administrador de sombras no administra las sombras de los dispositivos cliente. Para habilitar esta función, debe retransmitir los mensajes MQTT entre los dispositivos cliente y el componente de administrador de sombras. Los dispositivos cliente utilizan los mensajes MQTT para recibir y enviar actualizaciones ocultas a los dispositivos. El componente administrador de sombras se suscribe a la interfaz local de publicación/suscripción de Greengrass, por lo que puede configurar el componente puente MQTT para retransmitir mensajes MQTT sobre temas ocultos de dispositivos.

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 permitir que el componente administrador de sombras gestione las sombras de los dispositivos cliente, despliegue el componente puente de MQTT y especifique los temas ocultos para las sombras de los dispositivos cliente. Debe configurar el puente para retransmitir mensajes en ambas direcciones entre el MQTT local y el servicio de publicación/suscripción local.

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

Utilice los siguientes ejemplos para configurar el componente MQTT bridge para permitir la comunicación entre los dispositivos cliente y el componente shadow manager.

nota

Puede utilizar estos ejemplos de configuración en la AWS IoT Greengrass consola. Si utilizas la AWS IoT Greengrass API, la actualización de merge configuración requiere un objeto JSON serializado, por lo que debes serializar los siguientes objetos JSON en cadenas. Para obtener más información, consulte Actualizar las configuraciones de los componentes.

ejemplo Ejemplo: administre todas las sombras de los dispositivos cliente

El siguiente ejemplo de configuración de puentes de MQTT permite que el administrador de sombras gestione todas las sombras de todos los dispositivos cliente.

{ "mqttTopicMapping": { "ShadowsLocalMqttToPubsub": { "topic": "$aws/things/+/shadow/#", "source": "LocalMqtt", "target": "Pubsub" }, "ShadowsPubsubToLocalMqtt": { "topic": "$aws/things/+/shadow/#", "source": "Pubsub", "target": "LocalMqtt" } } }
ejemplo Ejemplo: gestionar las sombras de un dispositivo cliente

El siguiente ejemplo de configuración de un puente de MQTT permite al administrador de sombras gestionar todas las sombras de un dispositivo cliente denominadoMyClientDevice.

{ "mqttTopicMapping": { "ShadowsLocalMqttToPubsub": { "topic": "$aws/things/MyClientDevice/shadow/#", "source": "LocalMqtt", "target": "Pubsub" }, "ShadowsPubsubToLocalMqtt": { "topic": "$aws/things/MyClientDevice/shadow/#", "source": "Pubsub", "target": "LocalMqtt" } } }
ejemplo Ejemplo: administre una sombra con nombre para todos los dispositivos cliente

El siguiente ejemplo de configuración de un puente de MQTT permite que el administrador de sombras gestione una sombra con el nombre DeviceConfiguration de todos los dispositivos cliente.

{ "mqttTopicMapping": { "ShadowsLocalMqttToPubsub": { "topic": "$aws/things/+/shadow/name/DeviceConfiguration/#", "source": "LocalMqtt", "target": "Pubsub" }, "ShadowsPubsubToLocalMqtt": { "topic": "$aws/things/+/shadow/name/DeviceConfiguration/#", "source": "Pubsub", "target": "LocalMqtt" } } }
ejemplo Ejemplo: administre las sombras sin nombre de todos los dispositivos cliente

El siguiente ejemplo de configuración de puentes de MQTT permite al administrador de sombras gestionar sombras sin nombre, pero no sombras con nombre, para todos los dispositivos cliente.

{ "mqttTopicMapping": { "DeleteShadowLocalMqttToPubsub": { "topic": "$aws/things/+/shadow/delete", "source": "LocalMqtt", "target": "Pubsub" }, "DeleteShadowPubsubToLocalMqtt": { "topic": "$aws/things/+/shadow/delete/#", "source": "Pubsub", "target": "LocalMqtt" }, "GetShadowLocalMqttToPubsub": { "topic": "$aws/things/+/shadow/get", "source": "LocalMqtt", "target": "Pubsub" }, "GetShadowPubsubToLocalMqtt": { "topic": "$aws/things/+/shadow/get/#", "source": "Pubsub", "target": "LocalMqtt" }, "UpdateShadowLocalMqttToPubsub": { "topic": "$aws/things/+/shadow/update", "source": "LocalMqtt", "target": "Pubsub" }, "UpdateShadowPubsubToLocalMqtt": { "topic": "$aws/things/+/shadow/update/#", "source": "Pubsub", "target": "LocalMqtt" } } }

Interactúe con las sombras de los dispositivos cliente en los componentes

Puede desarrollar componentes personalizados que utilicen el servicio paralelo local para leer y modificar los documentos paralelos locales de los dispositivos cliente. Para obtener más información, consulte Interactúa con las sombras de los componentes.

Sincronice las sombras de los dispositivos cliente con AWS IoT Core

Puede configurar el componente de administrador de sombras para sincronizar los estados ocultos de los dispositivos cliente locales con AWS IoT Core ellos. Para obtener más información, consulte Sincronice las sombras de los dispositivos locales con AWS IoT Core.