Sincronice las sombras de los dispositivos locales con 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.

Sincronice las sombras de los dispositivos locales con AWS IoT Core

El componente administrador de sombras permite sincronizar AWS IoT Greengrass los estados de sombra de los dispositivos locales conAWS IoT Core. Debe modificar la configuración del componente administrador de sombras para incluir el parámetro de synchronization configuración y AWS IoT especificar los nombres de los dispositivos y las sombras que desea sincronizar.

Al configurar el administrador de sombras para que sincronice las sombras, sincroniza todos los cambios de estado de las sombras especificadas, independientemente de si los cambios se producen en documentos de sombra locales o en documentos de sombra de nubes.

También puede especificar si el componente del administrador de sombras sincroniza las sombras en tiempo real o en intervalos periódicos. De forma predeterminada, el componente administrador de sombras sincroniza las sombras en tiempo real, por lo que el dispositivo principal envía y recibe actualizaciones ocultas desde y hacia el momento en que AWS IoT Core se produce cada actualización. Puede configurar intervalos periódicos para reducir el uso de ancho de banda y los cargos.

Requisitos previos

Para sincronizar las sombras localesAWS IoT Core, debe configurar la AWS IoT política del dispositivo principal de Greengrass para permitir las siguientes acciones de política AWS IoT Core clandestina.

  • iot:GetThingShadow

  • iot:UpdateThingShadow

  • iot:DeleteThingShadow

Para obtener más información, consulte los siguientes temas:

Configure el componente shadow manager

El administrador de sombras necesita una lista de asignaciones de nombres ocultas para sincronizar la información sobre el estado de las sombras en los documentos paralelos locales y ocultarlos. AWS IoT Core

Para sincronizar los estados de sombra, cree una implementación que incluya el aws.greengrass.ShadowManager componente y especifique las sombras que desea sincronizar en el parámetro de configuración de la synchronize configuración del administrador de sombras de la implementación.

nota

Para permitir que un dispositivo principal interactúe con las sombras de los dispositivos cliente, también debe configurar e implementar el componente MQTT bridge. Para obtener más información, consulte Habilitar el administrador de sombras para que se comunique con los dispositivos cliente.

El siguiente ejemplo de actualización de configuración indica al componente administrador de sombras que sincronice las siguientes sombras conAWS IoT Core:

  • La sombra clásica para el dispositivo principal

  • El nombre MyCoreShadow del dispositivo principal

  • La sombra clásica para una cosa del IoT llamada MyDevice2

  • Las sombras nombradas MyShadowA y MyShadowB para una cosa del IoT llamada MyDevice1

Esta actualización de configuración especifica sincronizar las sombras con AWS IoT Core ellas en tiempo real. Si utiliza la versión 2.1.0 o posterior del administrador de sombras, puede configurar el componente del administrador de sombras para que sincronice las sombras a intervalos periódicos. Para configurar esta función, cambie la estrategia de sincronización a periodic y especifique una delay en segundos para el intervalo. Para obtener más información, consulte el parámetro de configuración de la estrategia del componente shadow manager.

Esta actualización de configuración especifica que las sombras se sincronicen en ambas direcciones entre AWS IoT Core y el dispositivo principal. Si utiliza la versión 2.2.0 o posterior del administrador de sombras, puede configurar el componente de gestión de sombras para que sincronice las sombras en una sola dirección. Para configurar esta función, cambie la sincronización direction a deviceToCloud o. cloudToDevice Para obtener más información, consulte el parámetro de configuración de dirección del componente Shadow Manager.

{ "strategy": { "type": "realTime" }, "synchronize": { "coreThing": { "classic": true, "namedShadows": [ "MyCoreShadow" ] }, "shadowDocuments": [ { "thingName": "MyDevice1", "classic": false, "namedShadows": [ "MyShadowA", "MyShadowB" ] }, { "thingName": "MyDevice2", "classic": true, "namedShadows": [ ] } ], "direction": "betweenDeviceAndCloud" } }

Sincronice las sombras locales

Cuando el dispositivo principal de Greengrass está conectado a la AWS IoT nube, el administrador de sombras realiza las siguientes tareas para las sombras que especifique en la configuración del componente. El comportamiento depende de la opción de configuración de la dirección de sincronización de sombras que especifique. De forma predeterminada, el administrador de sombras usa la betweenDeviceAndCloud opción de sincronizar las sombras en ambas direcciones. Si utiliza la versión 2.2.0 o posterior del administrador de sombras, puede configurar el dispositivo principal para que sincronice las sombras en una sola dirección, que puede ser cloudToDevice o. deviceToCloud

  • Si la configuración de dirección de sincronización de sombras es betweenDeviceAndCloud ocloudToDevice, el administrador de sombras recupera la información de estado notificada del documento de sombra de la nube en el que se encuentra. AWS IoT Core A continuación, actualiza los documentos ocultos almacenados localmente para sincronizar el estado del dispositivo.

  • Si la configuración de dirección de sincronización oculta es betweenDeviceAndCloud odeviceToCloud, el administrador de sombras publica el estado actual del dispositivo en el documento oculto de la nube.

Comportamiento conflictivo de fusión de sombras

En algunos casos, por ejemplo, cuando el dispositivo principal está desconectado de Internet, es posible que una sombra cambie en el servicio virtual local y en la AWS IoT nube antes de que el administrador virtual sincronice los cambios. Como resultado, los estados deseados y notificados difieren entre el servicio paralelo local y la nube AWS IoT

Cuando el administrador de sombras sincroniza la sombra, fusiona los cambios de acuerdo con el siguiente comportamiento:

  • Si utiliza una versión del administrador de sombras anterior a la 2.2.0, o si especifica la dirección de sincronización de las betweenDeviceAndCloud sombras, se aplica el siguiente comportamiento:

    • Cuando se produce un conflicto de fusión en el estado deseado de una sombra, el administrador de sombras sobrescribe la sección conflictiva del documento paralelo local con el valor de la nube. AWS IoT

    • Cuando se produce un conflicto de fusión en el estado registrado de una sombra, el administrador de la sombra sobrescribe la sección conflictiva de la sombra de la AWS IoT nube con el valor del documento paralelo local.

  • Al especificar la dirección de sincronización de las deviceToCloud sombras, el administrador de sombras sobrescribe la sección conflictiva de la sombra en la AWS IoT nube con el valor del documento paralelo local.

  • Al especificar la dirección de sincronización de las cloudToDevice sombras, el administrador de sombras sobrescribe la sección conflictiva del documento paralelo local con el valor de la nube. AWS IoT