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.
Interacción y sincronización con las sombras de dispositivo de cliente
Puede usar el componente administrador de sombras para administrar las sombras locales, incluidas las sombras de dispositivo de cliente. Puede usar el administrador de sombras para hacer lo siguiente:
-
Interactuar con las sombras de dispositivo de cliente en los componentes de Greengrass.
-
Sincronice las sombras de los dispositivos cliente con. AWS IoT Core
nota
El componente administrador de sombras no sincroniza las sombras con ellas de forma AWS IoT Core predeterminada. Debe configurar el componente administrador de sombras para especificar qué sombras de dispositivo de cliente desea sincronizar.
Temas
Requisitos previos
Para interactuar con las sombras de los dispositivos cliente y sincronizarlas con AWS IoT Core ellas, un dispositivo básico debe cumplir los siguientes requisitos:
-
El dispositivo principal debe ejecutar los siguientes componentes, además de los componentes de Greengrass para la compatibilidad con los dispositivos de cliente:
-
Núcleo de Greengrass versión 2.6.0 o posterior
-
Administrador de sombras versión 2.2.0 o posterior
-
Puente MQTT versión 2.2.0 o posterior
-
-
El componente de autenticación del dispositivo de cliente debe configurarse para permitir que los dispositivos de cliente se comuniquen sobre temas de sombras de dispositivo.
Habilitación del administrador de sombras para que se comunique con los dispositivos de cliente
De forma predeterminada, el componente administrador de sombras no administra las sombras de dispositivo de cliente. Para habilitar esta característica, debe retransmitir los mensajes MQTT entre los dispositivos de cliente y el componente administrador de sombras. Los dispositivos de cliente utilizan los mensajes MQTT para recibir y enviar actualizaciones de sombra de dispositivo. 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 de MQTT para retransmitir mensajes MQTT sobre temas de sombra de dispositivo.
El componente puente de MQTT utiliza una lista de asignaciones de temas, cada una de las cuales especifica un origen y un destino del mensaje. Para permitir que el componente administrador de sombras administre las sombras de dispositivo de cliente, implemente el componente puente de MQTT y especifique los temas de sombra para las sombras de dispositivo de 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 puente MQTT en un dispositivo principal o en un grupo de dispositivos principales, cree una implementación que incluya el componente aws.greengrass.clientdevices.mqtt.Bridge
. Especifique las asignaciones de temas, mqttTopicMapping
, en la configuración del componente puente de MQTT en la implementación.
Utilice los siguientes ejemplos para configurar el componente puente d MQTT para permitir la comunicación entre los dispositivos de cliente y el componente administrador de sombras.
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 Actualización de las configuraciones de los componentes.
ejemplo Ejemplo: administrar todas las sombras de dispositivo de cliente
El siguiente ejemplo de configuración de puente de MQTT permite que el administrador de sombras administre todas las sombras de todos los dispositivos de cliente.
{ "mqttTopicMapping": { "ShadowsLocalMqttToPubsub": { "topic": "$aws/things/+/shadow/#", "source": "LocalMqtt", "target": "Pubsub" }, "ShadowsPubsubToLocalMqtt": { "topic": "$aws/things/+/shadow/#", "source": "Pubsub", "target": "LocalMqtt" } } }
ejemplo Ejemplo: administrar las sombras de un dispositivo de cliente
El siguiente ejemplo de configuración de puente de MQTT permite que el administrador de sombras administre todas las sombras de un dispositivo de cliente llamado MyClientDevice
.
{ "mqttTopicMapping": { "ShadowsLocalMqttToPubsub": { "topic": "$aws/things/MyClientDevice/shadow/#", "source": "LocalMqtt", "target": "Pubsub" }, "ShadowsPubsubToLocalMqtt": { "topic": "$aws/things/MyClientDevice/shadow/#", "source": "Pubsub", "target": "LocalMqtt" } } }
ejemplo Ejemplo: administrar una sombra con nombre para todos los dispositivos de cliente
El siguiente ejemplo de configuración de puente de MQTT permite que el administrador de sombras administre una sombra con nombre DeviceConfiguration
para todos los dispositivos de 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: administrar todas las sombras sin nombre de los dispositivos de cliente
El siguiente ejemplo de configuración de puente de MQTT permite que el administrador de sombras administre todas las sombras sin nombre, pero no las que tengan nombre, de todos los dispositivos de 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" } } }
Interacción con las sombras de dispositivo de cliente en los componentes
Puede desarrollar componentes personalizados que utilicen el servicio de sombra local para leer y modificar los documentos de sombra local de los dispositivos de cliente. Para obtener más información, consulte Interacción con las sombras de los componentes.
Sincronización de las sombras de dispositivo de cliente con AWS IoT Core
Puede configurar el componente administrador de sombras para sincronizar con ellos los estados ocultos de los dispositivos clientes locales. AWS IoT Core Para obtener más información, consulte Sincronice las sombras de los dispositivos locales con AWS IoT Core.