Cómo funciona AWS IoT Greengrass
El software cliente AWS IoT Greengrass, también denominado software AWS IoT Greengrass Core, se ejecuta en distribuciones basadas en Windows y Linux, como Ubuntu o Raspberry Pi OS, para dispositivos con arquitecturas ARM o x86. Con AWS IoT Greengrass, puede programar dispositivos para que actúen localmente sobre los datos que generan, ejecutar predicciones basadas en modelos de machine learning y filtrar y agregar datos en los dispositivos. AWS IoT Greengrass permite la ejecución local de funciones de AWS Lambda, contenedores de Docker, procesos nativos del sistema operativo o tiempos de ejecución personalizados de su elección.
AWS IoT Greengrass brinda módulos de software prediseñados llamados componentes que le permiten ampliar fácilmente la funcionalidad de los dispositivos periféricos. Los componentes de AWS IoT Greengrass le permiten conectarse a servicios de AWS y aplicaciones de terceros en la periferia. Después de desarrollar sus aplicaciones de IoT, AWS IoT Greengrass le permite implementar, configurar y administrar esas aplicaciones de forma remota en su flota de dispositivos en las instalaciones.
El siguiente ejemplo muestra cómo interactúa un dispositivo de AWS IoT Greengrass con el servicio en la nube de AWS IoT Greengrass y otros servicios de AWS de la Nube de AWS.
Conceptos clave de AWS IoT Greengrass
Los siguientes son conceptos esenciales para la comprensión y el uso de AWS IoT Greengrass:
- Objeto AWS IoT
-
Un objeto AWS IoT es una representación de un dispositivo concreto o de una entidad lógica. La información sobre un objeto se almacena en el registro de AWS IoT.
- DIspositivo principal de Greengrass
-
Un dispositivo que ejecuta el software AWS IoT Greengrass Core. Un dispositivo principal de Greengrass es un objeto IoT de AWS. Puede agregar varios dispositivos principales a grupos de objetos AWS IoT para crear y administrar grupos de dispositivos principales de Greengrass. Para obtener más información, consulte Configuración de los dispositivos principales de AWS IoT Greengrass.
- Dispositivo de cliente de Greengrass
-
Un dispositivo que se conecta y se comunica con un dispositivo principal de Greengrass a través de MQTT. Un dispositivo de cliente de Greengrass es un objeto AWS IoT. El dispositivo principal puede procesar, filtrar y agregar datos de los dispositivos de cliente que se conectan a él. Puede configurar el dispositivo principal para retransmitir mensajes MQTT entre los dispositivos de cliente, el servicio de AWS IoT Core en la nube y los componentes de Greengrass. Para obtener más información, consulte Interacción con dispositivos IoT locales.
Los dispositivos de cliente pueden ejecutar FreeRTOS o usar el SDK para dispositivos con AWS IoT o la API de detección de Greengrass para obtener información sobre los dispositivos principales a los que se pueden conectar.
- Componente de Greengrass
-
Un módulo de software que se implementa y se ejecuta en un dispositivo principal de Greengrass. Todo el software que se desarrolla e implementa con AWS IoT Greengrass se modela como un componente. AWS IoT Greengrass ofrece componentes públicos prediseñados que proporcionan características y funcionalidades que puede utilizar en sus aplicaciones. También puede desarrollar sus propios componentes personalizados, en su dispositivo local o en la nube. Después de desarrollar un componente personalizado, puede usar el servicio en la nube de AWS IoT Greengrass para implementarlo en uno o varios dispositivos principales. Puede crear un componente personalizado e implementar ese componente para un dispositivo principal. Al hacerlo, el dispositivo principal descarga los siguientes recursos para ejecutar el componente:
-
Receta: un archivo JSON o YAML que describe el módulo de software definiendo los detalles, la configuración y los parámetros de los componentes.
-
Artefacto: el código de origen, los binarios o los scripts que definen el software que se ejecutará en el dispositivo. Puede crear artefactos desde cero o puede crear un componente mediante una función de Lambda, un contenedor de Docker o un tiempo de ejecución personalizado.
-
Dependencia: la relación entre los componentes que permite aplicar actualizaciones o reinicios automáticos de los componentes dependientes. Por ejemplo, puede hacer que un componente de procesamiento seguro de mensajes dependa de un componente de cifrado. Esto garantiza que cualquier actualización del componente de cifrado actualice y reinicie automáticamente el componente de procesamiento de mensajes.
Para obtener más información, consulte Componentes proporcionados por AWS y Desarrollo de componentes de AWS IoT Greengrass.
-
- Implementación
-
El proceso para enviar componentes y aplicar la configuración de componentes deseada a un dispositivo objetivo de destino, que puede ser un único dispositivo principal de Greengrass o un grupo de dispositivos principales de Greengrass. Las implementaciones aplican automáticamente cualquier configuración de componentes actualizada al destino e incluyen cualquier otro componente que se defina como dependencias. También puede clonar una implementación existente para crear una nueva que utilice los mismos componentes, pero que se implemente en un destino diferente. Las implementaciones son continuas, lo que significa que cualquier actualización que realice en los componentes o en la configuración de los componentes de una implementación se envía automáticamente a todos los destinos. Para obtener más información, consulte Implementación de componentes de AWS IoT Greengrass en los dispositivos.
- Software AWS IoT Greengrass Core
-
El conjunto de todo el software de AWS IoT Greengrass que se instala en un dispositivo principal de AWS IoT Greengrass. El software principal contiene lo siguiente:
-
Núcleo: este componente obligatorio ofrece la funcionalidad mínima del software AWS IoT Greengrass Core. El núcleo administra las implementaciones, la orquestación y la administración del ciclo de vida de otros componentes. También facilita la comunicación entre los componentes de AWS IoT Greengrass de forma local en un dispositivo individual. Para obtener más información, consulte Núcleo de Greengrass.
-
Componentes opcionales: estos componentes configurables son proporcionados por AWS IoT Greengrass y habilitan características adicionales en sus dispositivos de periferia. En función de sus requisitos, puede elegir los componentes opcionales que desee implementar en su dispositivo, como la transmisión de datos, la inferencia de machine learning local o una interfaz de línea de comandos local. Para obtener más información, consulte Componentes proporcionados por AWS.
Puede actualizar su software AWS IoT Greengrass Core implementando nuevas versiones de sus componentes en su dispositivo.
-
Características de AWS IoT Greengrass
AWS IoT Greengrass Version 2 consta de los elementos siguientes:
-
Distribuciones de software
-
El componente de núcleo de Greengrass, que es la instalación mínima del software AWS IoT Greengrass Core. Este componente administra las implementaciones, la orquestación y la administración del ciclo de vida de los componentes de Greengrass.
-
Componentes proporcionados por AWS adicionales y opcionales que se integran con los servicios, protocolos y software.
-
Herramientas de desarrollo de Greengrass, que puede utilizar para crear, probar, compilar, publicar e implementar componentes personalizados de Greengrass.
-
El SDK para dispositivos con AWS IoT, que contiene la biblioteca de comunicación entre procesos (IPC) para componentes personalizados de Greengrass y la biblioteca de detección de Greengrass para dispositivos de cliente.
-
El SDK del administrador de flujos, que puede utilizar para administrar los flujos de datos en los dispositivos principales.
-
-
Servicio en la nube
-
API de AWS IoT Greengrass V2
-
Consola de AWS IoT Greengrass V2
-
Software AWS IoT Greengrass Core
Puede usar el software AWS IoT Greengrass Core que se ejecuta en sus dispositivos de periferia para hacer lo siguiente:
-
Procesar los flujos de datos en los dispositivos locales con exportaciones automáticas a la nube de AWS. Para obtener más información, consulte Administración de flujos de datos en los dispositivos principales de Greengrass.
-
Admitir la mensajería MQTT entre AWS IoT y componentes. Para obtener más información, consulte Publicación/suscripción de mensajes MQTT AWS IoT Core.
-
Interactuar con los dispositivos locales que se conectan y se comunican a través de MQTT. Para obtener más información, consulte Interacción con dispositivos IoT locales.
-
Admitir mensajes de publicación y suscripción locales entre componentes. Para obtener más información, consulte Publicar/suscribir mensajes locales.
-
Implementar e invocar componentes y funciones de Lambda. Para obtener más información, consulte Implementación de componentes de AWS IoT Greengrass en los dispositivos.
-
Administrar los ciclos de vida de los componentes, por ejemplo, con soporte para scripts de instalación y ejecución. Para obtener más información, consulte Referencia de receta del componente de AWS IoT Greengrass.
-
Realizar actualizaciones de software vía inalámbrica (OTA) seguras del software AWS IoT GreengrassCore y los componentes personalizados. Para obtener más información, consulte Actualización del software AWS IoT Greengrass Core (OTA) y Implementación de componentes de AWS IoT Greengrass en los dispositivos.
-
Brindar almacenamiento seguro y cifrado de secretos locales y acceso controlado por componentes. Para obtener más información, consulte Administrador de secretos.
-
Asegurar las conexiones entre los dispositivos y la nube de AWS mediante la autenticación y la autorización de dispositivos. Para obtener más información, consulte Autenticación y autorización de dispositivos en AWS IoT Greengrass.
Configurar y administrar los dispositivos principales de Greengrass a través de las API de AWS IoT Greengrass donde crea implementaciones de software continuas. Para obtener más información, consulte Implementación de componentes de AWS IoT Greengrass en los dispositivos.
Algunas características solo son compatibles con determinadas plataformas. Para obtener más información, consulte Compatibilidad de características de Greengrass por sistema operativo.
Para obtener más información sobre plataformas compatibles, requisitos y descargas, consulte Configuración de los dispositivos principales de AWS IoT Greengrass.
Al descargar este software, acepta el acuerdo de licencia del software de Greengrass Core