¿Qué es AWS IoT Greengrass? - AWS IoT Greengrass

AWS IoT Greengrass Version 1 entró en la fase de vida útil prolongada el 30 de junio de 2023. Para obtener más información, consulte la política de mantenimiento de AWS IoT Greengrass V1 Después de esta fecha, AWS IoT Greengrass V1 no se publicarán actualizaciones que proporcionen funciones, mejoras, correcciones de errores o parches de seguridad. Los dispositivos que se ejecuten AWS IoT Greengrass V1 no se verán afectados y seguirán funcionando y conectándose a la nube. Le recomendamos encarecidamente que migre a AWS IoT Greengrass Version 2, ya que añade importantes funciones nuevas y es compatible con plataformas adicionales.

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.

¿Qué es AWS IoT Greengrass?

AWS IoT Greengrass es un software que extiende las capacidades de la nube a los dispositivos locales. Esto permite que los dispositivos recopilen y analicen datos más cerca del origen de la información, reaccionen de forma autónoma a eventos locales y se comuniquen de forma segura entre sí en las redes locales. Los dispositivos locales también pueden comunicarse de forma segura con los datos de IoT AWS IoT Core y exportarlos a Nube de AWS. AWS IoT Greengrass los desarrolladores pueden usar AWS Lambda funciones y conectores prediseñados para crear aplicaciones sin servidor que se implementen en los dispositivos para su ejecución local.

En el siguiente diagrama se muestra la arquitectura básica de. AWS IoT Greengrass

El núcleo de Greengrass permite la ejecución local de Lambda, la mensajería, las sombras de los dispositivos y la seguridad. El núcleo de Greengrass interactúa Nube de AWS y funciona localmente con conectividad intermitente.

AWS IoT Greengrass permite a los clientes crear dispositivos de IoT y lógica de aplicaciones. En concreto, AWS IoT Greengrass proporciona una gestión basada en la nube de la lógica de las aplicaciones que se ejecuta en los dispositivos. Los conectores y las funciones de Lambda implementados localmente se activan por eventos locales, mensajes de la nube u otras fuentes.

En AWS IoT Greengrass, los dispositivos se comunican de forma segura en una red local e intercambian mensajes entre sí sin tener que conectarse a la nube. AWS IoT Greengrass proporciona un administrador de mensajes pub/sub local que puede almacenar en búfer los mensajes de forma inteligente si se pierde la conectividad, de modo que se conservan los mensajes entrantes y salientes a la nube.

AWS IoT Greengrass protege los datos de los usuarios:

  • A través de la autorización y autenticación seguras de los dispositivos.

  • A través de conectividad segura en la red local.

  • Entre los dispositivos locales y la nube.

Las credenciales de seguridad de los dispositivos funcionan dentro de un grupo hasta que se revocan, aunque se interrumpa la conectividad a la nube, de manera que los dispositivos puedan seguir comunicándose de forma segura en el nivel local.

AWS IoT Greengrass proporciona over-the-air actualizaciones seguras de las funciones de Lambda.

AWS IoT Greengrass consta de:

  • Distribuciones de software

    • AWS IoT Greengrass Software básico

    • AWS IoT Greengrass SDK principal

  • Servicio en la nube

    • AWS IoT Greengrass API

  • Características

    • Tiempo de ejecución de Lambda

    • Implementación de sombras

    • Administrador de mensajes

    • Administración de grupos

    • Servicio de detección

    • O agente ver-the-air de actualización

    • Administrador de transmisiones

    • Acceso a recursos locales

    • Inferencia de aprendizaje automático local

    • Secrets Manager local

    • Conectores con integración incorporada con servicios, protocolos y software

AWS IoT Greengrass Software básico

El software AWS IoT Greengrass Core ofrece las siguientes funciones:

  • Implementación y ejecución local de conectores y funciones de Lambda.

  • Procese los flujos de datos localmente con exportaciones automáticas al Nube de AWS.

  • Mensajes MQTT a través de la red local entre dispositivos, conectores y funciones de Lambda mediante suscripciones administradas.

  • La mensajería MQTT entre AWS IoT dispositivos, conectores y funciones Lambda mediante suscripciones gestionadas.

  • Proteja las conexiones entre los dispositivos y la autenticación y autorización de los dispositivos que los Nube de AWS utilizan.

  • Sincronización de sombras locales de dispositivos. Las sombras se pueden configurar para sincronizarse con Nube de AWS.

  • Acceso controlado a los recursos del dispositivo local y el volumen.

  • Implementación de modelos de machine learning entrenados en la nube para la ejecución de la inferencia local.

  • Detección automática de direcciones IP que permite a los dispositivos detectar el dispositivo principal de Greengrass.

  • Implementación central de la configuración de grupos nuevos o actualizados. Una vez descargados los datos de configuración, el dispositivo principal se reinicia automáticamente.

  • Actualizaciones de software seguras over-the-air (OTA) de funciones Lambda definidas por el usuario.

  • Almacenamiento seguro y cifrado de los secretos locales y acceso controlado por conectores y funciones de Lambda.

AWS IoT Greengrass las instancias principales se configuran mediante AWS IoT Greengrass API que crean y actualizan las definiciones de AWS IoT Greengrass grupos almacenadas en la nube.

AWS IoT Greengrass Versiones principales del software

AWS IoT Greengrass proporciona varias opciones para instalar el software AWS IoT Greengrass principal, incluidos los archivos de descarga tar.gz, un script de inicio rápido e apt instalaciones en plataformas Debian compatibles. Para obtener más información, consulte Instalación del software AWS IoT Greengrass Core.

En las siguientes pestañas se describen las novedades y los cambios en las versiones AWS IoT Greengrass del software Core.

GGC v1.11
1.11.6

Mejoras y correcciones de errores:

  • Resiliencia mejorada en caso de que se produzca una pérdida repentina de energía durante una implementación.

  • Se solucionó un problema por el que la corrupción de los datos del administrador de transmisiones podía impedir que se AWS IoT Greengrass iniciara el software Core.

  • Se ha corregido un problema que provocaba que los nuevos dispositivos cliente no se pudieran conectar al núcleo en determinadas situaciones.

  • Se ha corregido un error que provocaba que los nombres de los flujos del administrador de flujos no pudieran contener .log.

1.11.5

Mejoras y correcciones de errores:

  • Mejoras de rendimiento generales y correcciones de errores.

1.11.4

Mejoras y correcciones de errores:

  • Se ha corregido un problema con el administrador de transmisiones que impedía actualizar el software AWS IoT Greengrass Core a la versión 1.11.3. Si utilizas Stream Manager para exportar datos a la nube, ahora puedes usar una actualización OTA para actualizar una versión anterior, v1.x, del software Core a la AWS IoT Greengrass versión 1.11.4.

  • Mejoras de rendimiento generales y correcciones de errores.

1.11.3

Mejoras y correcciones de errores:

  • Se ha corregido un problema que provocaba que el software AWS IoT Greengrass Core que se ejecutaba en un abrir y cerrar de ojos en un dispositivo Ubuntu dejara de responder tras un repentino corte de energía en el dispositivo.

  • Se ha corregido un problema que provocaba un retraso en la entrega de los mensajes MQTT a funciones de Lambda de larga duración.

  • Se ha corregido un problema que provocaba que los mensajes MQTT no se enviaran correctamente cuando el valor maxWorkItemCount estaba establecido en un valor superior a 1024.

  • Se ha corregido un problema que provocaba que el agente de actualización de OTA ignorara el período KeepAlive de MQTT especificado en la propiedad keepAlive en config.json.

  • Mejoras de rendimiento generales y correcciones de errores.

importante

Si utilizas el administrador de transmisiones para exportar datos a la nube, no actualices el software AWS IoT Greengrass Core v1.11.3 desde una versión anterior, v1.x. Si es la primera vez que habilitas Stream Manager, te recomendamos encarecidamente que instales primero la última versión del software Core. AWS IoT Greengrass

1.11.1

Mejoras y correcciones de errores:

  • Se ha corregido un problema que provocaba que el administrador de flujos aumentara el uso de memoria.

  • Se ha corregido un problema que provocaba que el administrador de transmisiones restableciera el número de secuencia de la transmisión 0 si el dispositivo principal de Greengrass estaba apagado durante más tiempo del período especificado time-to-live (TTL) de los datos de la transmisión.

  • Se ha corregido un problema que impedía que el administrador de flujos detuviera correctamente los reintentos de exportación de datos al Nube de AWS.

1.11.0

Nuevas características:

  • Un agente de telemetría del núcleo de Greengrass recopila datos de telemetría locales y los publica en. Nube de AWS Para recuperar los datos de telemetría para su posterior procesamiento, los clientes pueden crear una EventBridge regla de Amazon y suscribirse a un objetivo. Para obtener más información, consulte Recopilación de datos de telemetría del estado del sistema desde los dispositivos principales. AWS IoT Greengrass

  • Una API HTTP local devuelve una instantánea del estado actual de los procesos de trabajo locales iniciados por. AWS IoT Greengrass Para obtener más información, consulte Llamadas a la API de comprobación de estado local.

  • Un administrador de transmisiones exporta automáticamente los datos a Amazon S3 y AWS IoT SiteWise.

    Los nuevos parámetros del administrador de flujos le permiten actualizar las transmisiones existentes y pausar o reanudar la exportación de datos.

  • Compatibilidad para ejecutar funciones Lambda de Python 3.8.x en el dispositivo principal.

  • Una nueva propiedad ggDaemonPort en config.json que se usa para configurar el número de puerto IPC de Greengrass core. El número de puerto predeterminado es 8000.

    Una propiedad systemComponentAuthTimeout nueva en config.json que se utiliza para configurar el tiempo de espera de la autenticación IPC de Greengrass core. El valor de tiempo predeterminado es 5000 milisegundos.

  • Se aumentó la cantidad máxima de AWS IoT dispositivos por AWS IoT Greengrass grupo de 200 a 2500.

    Se aumentó el número máximo de suscripciones por grupo de 1000 a 10 000.

    Para obtener más información, consulte Puntos de conexión y cuotas de AWS IoT Greengrass.

Mejoras y correcciones de errores:

  • Optimización general que puede reducir la utilización de memoria de los procesos de servicio de Greengrass.

  • Un nuevo parámetro de configuración del tiempo de ejecución (mountAllBlockDevices) permite a Greengrass utilizar los montajes de enlace para montar todos los dispositivos de bloques en un contenedor después de configurar el OverlayFS. Esta característica resolvió un problema que provocaba un error en la implementación de Greengrass si /usr no estaba por debajo de la jerarquía /.

  • Se ha corregido un problema que provocaba un fallo en el AWS IoT Greengrass núcleo si /tmp se trataba de un enlace simbólico.

  • Se ha corregido un error para permitir que el agente de implementación de Greengrass elimine de la carpeta los artefactos del modelo de machine learning no utilizados. mlmodel_public

  • Mejoras de rendimiento generales y correcciones de errores.

Extended life versions
1.10.5

Mejoras y correcciones de errores:

  • Mejoras de rendimiento generales y correcciones de errores.

1.10.4

Mejoras y correcciones de errores:

  • Se ha corregido un problema que provocaba que el software AWS IoT Greengrass Core que se ejecutaba en un abrir y cerrar de ojos en un dispositivo Ubuntu dejara de responder tras un corte repentino de energía en el dispositivo.

  • Se ha corregido un problema que provocaba un retraso en la entrega de los mensajes MQTT a funciones de Lambda de larga duración.

  • Se ha corregido un problema que provocaba que los mensajes MQTT no se enviaran correctamente cuando el valor maxWorkItemCount estaba establecido en un valor superior a 1024.

  • Se ha corregido un problema que provocaba que el agente de actualización de OTA ignorara el período KeepAlive de MQTT especificado en la propiedad keepAlive en config.json.

  • Mejoras de rendimiento generales y correcciones de errores.

1.10.3

Mejoras y correcciones de errores:

  • Una propiedad systemComponentAuthTimeout nueva en config.json que se utiliza para configurar el tiempo de espera de la autenticación IPC de Greengrass core. El valor de tiempo predeterminado es 5000 milisegundos.

  • Se ha corregido un problema que provocaba que el administrador de flujos aumentara el uso de memoria.

1.10.2

Mejoras y correcciones de errores:

  • Una nueva mqttOperationTimeout propiedad en config.json que se utiliza para establecer el tiempo de espera de las operaciones de publicación, suscripción y cancelación de la suscripción en las conexiones de MQTT. AWS IoT Core

  • Mejoras de rendimiento generales y correcciones de errores.

1.10.1

Mejoras y correcciones de errores:

  • El administrador de secuencias es más resistente a la corrupción de datos de archivos.

  • Se ha corregido un problema que provocaba un error de montaje de sysfs en dispositivos que utilizaban el kernel de Linux 5.1 y versiones posteriores.

  • Mejoras de rendimiento generales y correcciones de errores.

1.10.0

Nuevas características:

  • Las actualizaciones O ver-the-air (OTA) con integración de seguridad de hardware se pueden configurar con OpenSSL 1.1.

  • Mejoras de rendimiento generales y correcciones de errores.

1.9.4

Mejoras y correcciones de errores:

  • Mejoras de rendimiento generales y correcciones de errores.

1.9.3

Nuevas características:

  • Support para ARMv6L. AWS IoT Greengrass El software principal v1.9.3 o posterior se puede instalar en distribuciones de Raspbian en arquitecturas ARMv6L (por ejemplo, en dispositivos Raspberry Pi Zero).

  • Actualizaciones OTA en el puerto 443 con ALPN. Los núcleos Greengrass que utilizan el puerto 443 para el tráfico MQTT ahora admiten actualizaciones de software over-the-air (OTA). AWS IoT Greengrass utiliza la extensión TLS de Application Layer Protocol Network (ALPN) para habilitar estas conexiones. Para obtener más información, consulte Actualizaciones de OTA para el software AWS IoT Greengrass Core y Realizar la conexión en el puerto 443 o a través de un proxy de red.

Mejoras y correcciones de errores:

  • Se ha corregido un error introducido en la versión 1.9.0 que impedía que las funciones de Lambda de Python 2.7 enviaran cargas binarias a otras funciones de Lambda.

  • Mejoras de rendimiento generales y correcciones de errores.

1.9.2

Nuevas características:

  • Support for OpenWrt. AWS IoT Greengrass El software principal v1.9.2 o posterior se puede instalar en OpenWrt distribuciones con arquitecturas Armv8 (AArch64) y ARMv7L. OpenWrt Actualmente, no admite la inferencia de aprendizaje automático.

1.9.1

Mejoras y correcciones de errores:

  • Corrige un error introducido en la versión 1.9.0 que elimina los mensajes de cloud que contienen caracteres comodín en el tema.

1.9.0

Nuevas características:

  • Compatibilidad con los tiempos de ejecución Lambda de Node.js 8.10 y de Python 3.7. Las funciones Lambda que utilizan los tiempos de ejecución de Python 3.7 y Node.js 8.10 ahora pueden ejecutarse en un núcleo. AWS IoT Greengrass (AWS IoT Greengrass sigue siendo compatible con los tiempos de ejecución de Python 2.7 y Node.js 6.10).

  • Conexiones MQTT optimizadas. El núcleo de Greengrass establece menos conexiones con AWS IoT Core. Este cambio puede reducir los costos operativos de los cargos que se basan en el número de conexiones.

  • Clave Curva elíptica (EC) para el servidor MQTT local. El servidor MQTT local admite claves EC además de las claves RSA. (El certificado del servidor MQTT tiene una firma SHA-256 RSA, independientemente del tipo de clave). Para obtener más información, consulte AWS IoT Greengrass principios básicos de seguridad.

Mejoras y correcciones de errores:

  • Mejoras de rendimiento generales y correcciones de errores.

1.8.4

Se ha corregido un problema con la sincronización de sombras y la reconexión del administrador de certificados de dispositivo.

Mejoras de rendimiento generales y correcciones de errores.

1.8.3

Mejoras de rendimiento generales y correcciones de errores.

1.8.2

Mejoras de rendimiento generales y correcciones de errores.

1.8.1

Mejoras de rendimiento generales y correcciones de errores.

1.8.0

Nuevas características:

  • Identidad de acceso predeterminada configurable para las funciones de Lambda del grupo. Esta configuración de nivel de grupo determina los permisos predeterminados que se utilizan para ejecutar funciones de Lambda. Puede definir el ID de usuario, el ID de grupo o ambos. Las funciones de Lambda pueden invalidar la identidad de acceso predeterminada de su grupo. Para obtener más información, consulte Configuración de la identidad de acceso predeterminada para las funciones de Lambda de un grupo.

  • Tráfico HTTPS a través del puerto 443. La comunicación HTTPS se puede configurar para la comunicación a través del puerto 443 en lugar del puerto 8443 predeterminado. Esto complementa la AWS IoT Greengrass compatibilidad con la extensión TLS de Application Layer Protocol Network (ALPN) y permite que todo el tráfico de mensajería de Greengrass, tanto MQTT como HTTPS, utilice el puerto 443. Para obtener más información, consulte Realizar la conexión en el puerto 443 o a través de un proxy de red.

  • Identificadores AWS IoT de cliente con nombres predecibles para las conexiones. Este cambio proporciona compatibilidad con los AWS IoT Device Defender y eventos de ciclo de vida de AWS IoT, para que puede recibir notificaciones de eventos de conexión, desconexión, suscripción y anulación de suscripción. Los nombres predecibles también permiten crear lógica en torno a los ID de conexión (por ejemplo, crear plantillas de política de suscripción basadas en atributos del certificado). Para obtener más información, consulte ID de cliente para conexiones MQTT con AWS IoT.

Mejoras y correcciones de errores:

  • Se ha corregido un problema con la sincronización de sombras y la reconexión del administrador de certificados de dispositivo.

  • Mejoras de rendimiento generales y correcciones de errores.

1.7.1

Nuevas características:

Mejoras y correcciones de errores:

  • Mejoras de rendimiento generales y correcciones de errores.

Además, las siguientes características están disponibles con esta versión:

  • El comprobador de AWS IoT dispositivos AWS IoT Greengrass, que puede utilizar para comprobar que funcionan la arquitectura de la CPU, la configuración del núcleo y los controladores. AWS IoT Greengrass Para obtener más información, consulte Uso AWS IoT del comprobador de dispositivos para V1 AWS IoT Greengrass.

  • Los paquetes de software AWS IoT Greengrass Core, AWS IoT Greengrass Core SDK y AWS IoT Greengrass Machine Learning SDK están disponibles para su descarga a través de Amazon CloudFront. Para obtener más información, consulte AWS IoT Greengrass descargas.

1.6.1

Nuevas características:

  • Los ejecutables de Lambda que ejecutan un código binario en el núcleo de Greengrass. Utilice el nuevo AWS IoT Greengrass Core SDK para C para escribir ejecutables Lambda en C y C++. Para obtener más información, consulte Ejecutables de Lambda.

  • Opción de almacenamiento en caché local de mensajes que pueden persistir entre reinicios. Puede definir la configuración de almacenamiento para mensajes MQTT que se ponen a la cola para su procesamiento. Para obtener más información, consulte Cola de mensajes MQTT para objetivos en la nube.

  • Intervalo configurable de reintentos de reconexión máximos para cuando el dispositivo del núcleo está desconectado. Para obtener más información, consulte la propiedad mqttMaxConnectionRetryInterval en Archivo de configuración de AWS IoT Greengrass Core.

  • Acceso del recurso local al directorio /proc del host. Para obtener más información, consulte Acceder a recursos locales con conectores y funciones de Lambda.

  • Directorio de escritura configurable. El software AWS IoT Greengrass Core se puede implementar en ubicaciones de solo lectura y lectura-escritura. Para obtener más información, consulte Configurar un directorio de escritura para AWS IoT Greengrass.

Mejoras y correcciones de errores:

  • Se ha mejorado el rendimiento de la publicación de mensajes en el núcleo de Greengrass y entre los dispositivos y el núcleo.

  • Se han reducido los recursos de computación necesarios para procesar los registros generados por funciones de Lambda definidas por el usuario.

1.5.0

Nuevas características:

  • AWS IoT Greengrass La inferencia de Machine Learning (ML) está disponible de forma general. Puede llevar a cabo inferencias de aprendizaje automático localmente en los dispositivos de AWS IoT Greengrass con modelos creados y entrenados en la nube. Para obtener más información, consulte Cómo realizar la inferencia de machine learning.

  • Las funciones de Lambda de Greengrass ahora admiten datos binarios como carga de entrada, además de JSON. Para usar esta función, debes actualizar a la versión 1.1.0 del SDK de AWS IoT Greengrass Core, que puedes descargar desde la página de descargas del SDK de AWS IoT Greengrass Core.

Mejoras y correcciones de errores:

  • Se ha reducido la huella de memoria global.

  • Se han realizado mejoras de desempeño para enviar mensajes a la nube.

  • Se han realizado mejoras de desempeño y de estabilidad en el agente de descargas, el administrador de certificados de dispositivos y el agente de actualización OTA.

  • Correcciones de errores menores.

1.3.0

Nuevas características:

1.1.0

Nuevas características:

  • AWS IoT Greengrass Los grupos implementados se pueden restablecer eliminando las funciones, suscripciones y configuraciones de Lambda. Para obtener más información, consulte Restablecimiento de implementaciones.

  • Compatibilidad con los tiempos de ejecución de Lambda de Node.js 6.10 y Java 8, además de Python 2.7.

Para migrar desde la versión anterior del AWS IoT Greengrass núcleo:

  • Copie los certificados de la carpeta /greengrass/configuration/certs en /greengrass/certs.

  • Copie /greengrass/configuration/config.json en /greengrass/config/config.json.

  • Ejecute /greengrass/ggc/core/greengrassd en lugar de /greengrass/greengrassd.

  • Implemente el grupo en el nuevo núcleo.

1.0.0

Versión inicial

AWS IoT Greengrass grupos

Un grupo de Greengrass es una colección de configuraciones y componentes, como un núcleo de Greengrass, dispositivos y suscripciones. Los grupos se utilizan para definir un ámbito de interacción. Por ejemplo, un grupo podría representar la planta de un edificio, un camión o un emplazamiento minero entero. En el siguiente diagrama se muestran los componentes que pueden componer un grupo de Greengrass.

AWS IoT Core componentes, Greengrass y Lambda, con elementos de núcleo, configuración, funciones de Lambda, suscripciones, conectores, dispositivos y recursos interconectados.

En el diagrama anterior:

A: Definición de grupo de Greengrass

Información sobre la configuración de grupo y los componentes.

B: Configuración de grupo de Greengrass

Entre ellos se incluyen:

C: Núcleo de Greengrass

La AWS IoT cosa (dispositivo) que representa el núcleo de Greengrass. Para obtener más información, consulte Configuración de AWS IoT Greengrass Core.

D: Definición de la función de Lambda

Una lista de las funciones de Lambda que se ejecutan localmente en el núcleo, con datos de configuración asociados. Para obtener más información, consulte Ejecutar funciones de Lambda en el núcleo de AWS IoT Greengrass.

E: Definición de suscripción

Una lista de suscripciones que permiten la comunicación mediante mensajes MQTT. Una suscripción define:

  • Un origen del mensaje y un destino del mensaje. Pueden ser dispositivos cliente, funciones Lambda AWS IoT Core, conectores y el servicio paralelo local.

  • Un tema o asunto que se utiliza para filtrar mensajes.

Para obtener más información, consulte Suscripciones administradas en el flujo de trabajo de mensajería de MQTT.

F: definición de conector

Una lista de los conectores que se ejecutan localmente en el núcleo, con datos de configuración asociados. Para obtener más información, consulte Integración con servicios y protocolos mediante conectores de Greengrass.

G: Definición de dispositivos

Una lista de AWS IoT elementos (conocidos como dispositivos cliente o dispositivos) que son miembros del grupo Greengrass, con los datos de configuración asociados. Para obtener más información, consulte Dispositivos en AWS IoT Greengrass.

H: Definición de recursos

Una lista de los recursos locales, recursos de aprendizaje automático y recursos de secretos en el núcleo de Greengrass, con datos de configuración asociados. Para obtener más información, consulte Acceder a recursos locales con conectores y funciones de Lambda, Cómo realizar la inferencia de machine learning y Implementación de secretos en el núcleo de AWS IoT Greengrass.

Cuando se implementa, la definición del grupo de Greengrass, las funciones de Lambda, los conectores, los recursos y la tabla de suscripción se copian en el dispositivo principal. Para obtener más información, consulte Implementación de grupos de AWS IoT Greengrass en un núcleo de AWS IoT Greengrass.

Dispositivos en AWS IoT Greengrass

Un grupo de Greengrass puede contener dos tipos de AWS IoT dispositivos:

Núcleo de Greengrass

Un núcleo de Greengrass es un dispositivo que ejecuta el software AWS IoT Greengrass Core, lo que le permite comunicarse directamente con el servicio AWS IoT Core y el AWS IoT Greengrass mismo. Un núcleo tiene su propio certificado de dispositivo que se utiliza para autenticarse. AWS IoT Core Tiene una sombra de dispositivo y una entrada en el AWS IoT Core registro. Los núcleos Greengrass ejecutan un entorno de ejecución Lambda local, un agente de despliegue y un rastreador de direcciones IP que envía la información de la dirección IP al AWS IoT Greengrass servicio para permitir que los dispositivos cliente descubran automáticamente su información de conexión principal y de grupo. Para obtener más información, consulte Configuración de AWS IoT Greengrass Core.

nota

Un grupo de Greengrass debe contener exactamente un núcleo.

Dispositivo cliente

Los dispositivos cliente (también denominados dispositivos conectados, dispositivos Greengrass o dispositivos) son dispositivos que se conectan a un núcleo de Greengrass a través de MQTT. Tienen su propio certificado de dispositivo para la AWS IoT Core autenticación, una sombra del dispositivo y una entrada en el AWS IoT Core registro. Los dispositivos de cliente pueden ejecutar FreeRTOS o utilizar el SDK de AWS IoTo la API de AWS IoT Greengrass de descubrimiento para obtener la información de descubrimiento utilizada para conectarse y autenticarse con el núcleo en el mismo grupo de Greengrass. Para obtener información sobre cómo usar la AWS IoT consola para crear y configurar un dispositivo cliente AWS IoT Greengrass, consulteMódulo 4: Interacción con dispositivos cliente en un grupo de AWS IoT Greengrass. O bien, si desea ver ejemplos que muestran cómo AWS CLI utilizarla para crear y configurar un dispositivo cliente AWS IoT Greengrass, consulte create-device-definitionla Referencia de AWS CLI comandos.

En un grupo de Greengrass, puede crear suscripciones que permitan a los dispositivos cliente comunicarse a través de MQTT con las funciones, conectores y otros dispositivos cliente de Lambda del grupo, y con AWS IoT Core el servicio paralelo local. Los mensajes de MQTT se enrutan a través del núcleo. Si el dispositivo de núcleo pierde la conectividad con la nube, los dispositivos de cliente pueden seguir comunicándose a través de la red local. El tamaño de estos dispositivos puede variar, desde dispositivos con microcontroladores más pequeños a dispositivos más grandes. En la actualidad, un grupo de Greengrass pueden contener un máximo de 2500 dispositivos de cliente. Un dispositivo de cliente puede ser miembro de hasta 10 grupos.

nota

OPC-UA es un estándar de intercambio de información para la comunicación industrial. Para implementar el soporte para OPC-UA en el núcleo de Greengrass, puede usar el conector IoT. SiteWise El conector envía datos de dispositivos industriales desde los servidores OPC-UA a las propiedades de los activos. AWS IoT SiteWise

La siguiente tabla muestra cómo se relacionan estos tipos de dispositivos.

AWS IoT Core y una matriz de capacidades del dispositivo que muestra configuraciones como el certificado, la política de IoT o IoT Thing compatibles tanto en el núcleo como en el dispositivo, con los permisos Device Gateway, sensor/actuador y funciones fuera del Grupo Greengrass marcados.

El dispositivo AWS IoT Greengrass principal almacena los certificados en dos ubicaciones:

  • Certificado del dispositivo del núcleo en /greengrass-root/certs. Normalmente, el certificado de dispositivo del núcleo se denomina hash.cert.pem (por ejemplo, 86c84488a5.cert.pem). El AWS IoT cliente utiliza este certificado para la autenticación mutua cuando el núcleo se conecta a los AWS IoT Greengrass servicios AWS IoT Core and.

  • Certificado de servidor MQTT en /greengrass-root/ggc/var/state/server. El certificado del servidor MQTT se denomina server.crt. Este certificado se utiliza para la autenticación mutua entre el servidor MQTT local (en el núcleo de Greengrass) y los dispositivos Greengrass.

    nota

    greengrass-root representa la ruta en la que se instala el software AWS IoT Greengrass principal en el dispositivo. Normalmente, este es el directorio /greengrass.

SDK

Para trabajar AWS con ellos se utilizan los siguientes SDK: AWS IoT Greengrass

AWS SDK

Utilice el AWS SDK para crear aplicaciones que interactúen con cualquier AWS servicio, incluidos Amazon S3, Amazon DynamoDB y muchos AWS IoT más. AWS IoT Greengrass En el contexto de AWS IoT Greengrass, puede usar el AWS SDK en las funciones de Lambda implementadas para realizar llamadas directas a cualquier AWS servicio. Para obtener más información, consulte SDK de AWS.

AWS IoT SDK de dispositivo

El SDK para AWS IoT dispositivos ayuda a los dispositivos a conectarse AWS IoT Core y AWS IoT Greengrass. Para obtener más información, consulte los SDK de dispositivos de AWS IoT en la Guía para desarrolladores de AWS IoT .

Los dispositivos cliente pueden usar cualquiera de las plataformas AWS IoT Device SDK v2 para descubrir la información de conectividad de un núcleo de Greengrass. La información de conectividad incluye lo siguiente:

  • Los ID de los grupos de Greengrass a los que pertenece el dispositivo cliente.

  • Las direcciones IP del núcleo de Greengrass de cada grupo. También se denominan puntos de conexión principales.

  • El certificado de CA grupal, que los dispositivos utilizan para la autenticación mutua con el núcleo. Para obtener más información, consulte Flujo de trabajo de conexión de dispositivos.

nota

En la versión 1 de los SDK para AWS IoT dispositivos, solo las plataformas C++ y Python ofrecen soporte de descubrimiento integrado.

AWS IoT Greengrass SDK principal

El SDK AWS IoT Greengrass principal permite que las funciones de Lambda interactúen con el núcleo de Greengrass, publiquen mensajes e interactúen con el servicio paralelo local AWS IoT, invoquen otras funciones de Lambda desplegadas y accedan a recursos secretos. Este SDK lo utilizan las funciones de Lambda que se ejecutan en un núcleo de AWS IoT Greengrass . Para obtener más información, consulte SDK de AWS IoT Greengrass Core.

AWS IoT Greengrass SDK de Machine Learning

El AWS IoT Greengrass Machine Learning SDK permite que las funciones de Lambda consuman modelos de aprendizaje automático que se implementan en el núcleo de Greengrass como recursos de aprendizaje automático. Este SDK lo utilizan las funciones de Lambda que se ejecutan en un AWS IoT Greengrass núcleo e interactúan con un servicio de inferencia local. Para obtener más información, consulte SDK de machine learning de AWS IoT Greengrass.

Plataformas compatibles y requisitos

En las siguientes pestañas se enumeran las plataformas compatibles y los requisitos del software AWS IoT Greengrass Core.

nota

Puede descargar el software AWS IoT Greengrass principal desde las descargas del software AWS IoT Greengrass principal.

GGC v1.11

Plataformas admitidas:

  • Arquitectura: Armv7l

    • Sistema operativo: Linux

    • Sistema operativo: Linux (OpenWrt)

  • Arquitectura: Armv8 (AArch64)

    • Sistema operativo: Linux

    • Sistema operativo: Linux (OpenWrt)

  • Arquitectura: Armv6l

    • Sistema operativo: Linux

  • Arquitectura: x86_64

    • Sistema operativo: Linux

  • Las plataformas Windows, macOS y Linux se pueden ejecutar AWS IoT Greengrass en un contenedor de Docker. Para obtener más información, consulte Ejecución de AWS IoT Greengrass en un contenedor Docker.

Requisitos:

  • Espacio en disco mínimo de 128 MB disponible para el software AWS IoT Greengrass principal. Si utiliza el agente de actualización OTA, el mínimo es de 400 MB.

  • Se asigna un mínimo de 128 MB de RAM al software AWS IoT Greengrass principal. Con el administrador de secuencias habilitado, el mínimo es 198 MB de RAM.

    nota

    El administrador de transmisiones está activado de forma predeterminada si utilizas la opción de creación de grupos por defecto de la AWS IoT consola para crear tu grupo de Greengrass.

  • Versión del kernel de Linux:

  • Biblioteca C de GNU (glibc), versión 2.14 o posterior. OpenWrt Las distribuciones requieren la versión 1.1.16 o posterior de la biblioteca C de Musl.

  • El directorio /var/run debe existir en el dispositivo.

  • Los archivos /dev/stderr, /dev/stdin y /dev/stdout deben estar disponibles.

  • La protección de enlaces permanentes y simbólicos debe estar habilitada en el dispositivo. De lo contrario, solo se AWS IoT Greengrass puede ejecutar en modo inseguro, utilizando la bandera. -i

  • Las siguientes configuraciones de kernel de Linux deben estar habilitado en el dispositivo:

    • Espacio de nombres:

      • CONFIG_IPC_NS

      • CONFIG_UTS_NS

      • CONFIG_USER_NS

      • CONFIG_PID_NS

    • Grupos de control:

      • CONFIG_CGROUP_DEVICE

      • CONFIG_CGROUPS

      • CONFIG_MEMCG

      El kernel debe admitir los grupos de control. Cuando se ejecuta AWS IoT Greengrass con contenedores, se aplican los siguientes requisitos:

      • El grupo de control (cgroup) de memoria debe estar habilitado y montado para permitir que AWS IoT Greengrass establezca el límite de memoria para las funciones de Lambda.

      • El cgroup del dispositivo debe estar habilitado y montado si se utilizan funciones Lambda con acceso a recursos locales para abrir archivos en AWS IoT Greengrass el dispositivo principal.

    • Otros:

      • CONFIG_POSIX_MQUEUE

      • CONFIG_OVERLAY_FS

      • CONFIG_HAVE_ARCH_SECCOMP_FILTER

      • CONFIG_SECCOMP_FILTER

      • CONFIG_KEYS

      • CONFIG_SECCOMP

      • CONFIG_SHMEM

  • El certificado raíz de Amazon S3 y AWS IoT debe estar presente en el almacén de confianza del sistema.

  • El administrador de transmisiones requiere el tiempo de ejecución de Java 8 y un mínimo de 70 MB de RAM, además del requisito de memoria básico del software AWS IoT Greengrass Core. El administrador de transmisiones está activado de forma predeterminada cuando se utiliza la opción de creación de grupos predeterminada de la AWS IoT consola. El administrador de transmisiones no es compatible con las OpenWrt distribuciones.

  • Las bibliotecas que admiten el tiempo de ejecución de AWS Lambda requerido por las funciones de Lambda que desea ejecutar localmente. Las bibliotecas necesarias deben instalarse en el núcleo y agregarse a la variable de entorno PATH. Pueden instalarse varias bibliotecas en el mismo núcleo.

    • Consulte la versión 3.8 de Python para ver las funciones que utilizan el tiempo de ejecución Python 3.8.

    • Consulte Python versión 3.7 para ver las funciones que utilizan el tiempo de ejecución Python 3.7.

    • Consulte Python versión 2.7 para ver las funciones que utilizan el tiempo de ejecución Python 2.7.

    • Node.js versión 12.x para las funciones que utilizan el entorno de tiempo de ejecución de Node.js 12.x.

    • Consulte Java versión 8 o posterior para ver las funciones que utilizan el runtime Java 8.

      nota

      Oficialmente, no se admite la ejecución de Java en una OpenWrt distribución. Sin embargo, si su OpenWrt compilación es compatible con Java, es posible que pueda ejecutar funciones Lambda creadas en Java en sus dispositivos. OpenWrt

      Para obtener más información sobre la AWS IoT Greengrass compatibilidad con los tiempos de ejecución de Lambda, consulte. Ejecutar funciones de Lambda en el núcleo de AWS IoT Greengrass

  • El agente de actualización (OTA) requiere los siguientes comandos de shell over-the-air (no las BusyBox variantes):

    • wget

    • realpath

    • tar

    • readlink

    • basename

    • dirname

    • pidof

    • df

    • grep

    • umount

    • mv

    • gzip

    • mkdir

    • rm

    • ln

    • cut

    • cat

    • /bin/bash

GGC v1.10

Plataformas admitidas:

  • Arquitectura: Armv7l

    • Sistema operativo: Linux

    • Sistema operativo: Linux (OpenWrt)

  • Arquitectura: Armv8 (AArch64)

    • Sistema operativo: Linux

    • Sistema operativo: Linux (OpenWrt)

  • Arquitectura: Armv6l

    • Sistema operativo: Linux

  • Arquitectura: x86_64

    • Sistema operativo: Linux

  • Las plataformas Windows, macOS y Linux se pueden ejecutar AWS IoT Greengrass en un contenedor de Docker. Para obtener más información, consulte Ejecución de AWS IoT Greengrass en un contenedor Docker.

Requisitos:

  • Espacio en disco mínimo de 128 MB disponible para el software AWS IoT Greengrass principal. Si utiliza el agente de actualización OTA, el mínimo es de 400 MB.

  • Se asigna un mínimo de 128 MB de RAM al software AWS IoT Greengrass principal. Con el administrador de secuencias habilitado, el mínimo es 198 MB de RAM.

    nota

    El administrador de transmisiones está activado de forma predeterminada si utilizas la opción de creación de grupos por defecto de la AWS IoT consola para crear tu grupo de Greengrass.

  • Versión del kernel de Linux:

  • Biblioteca C de GNU (glibc), versión 2.14 o posterior. OpenWrt Las distribuciones requieren la versión 1.1.16 o posterior de la biblioteca C de Musl.

  • El directorio /var/run debe existir en el dispositivo.

  • Los archivos /dev/stderr, /dev/stdin y /dev/stdout deben estar disponibles.

  • La protección de enlaces permanentes y simbólicos debe estar habilitada en el dispositivo. De lo contrario, solo se AWS IoT Greengrass puede ejecutar en modo inseguro, utilizando la bandera. -i

  • Las siguientes configuraciones de kernel de Linux deben estar habilitado en el dispositivo:

    • Espacio de nombres:

      • CONFIG_IPC_NS

      • CONFIG_UTS_NS

      • CONFIG_USER_NS

      • CONFIG_PID_NS

    • Grupos de control:

      • CONFIG_CGROUP_DEVICE

      • CONFIG_CGROUPS

      • CONFIG_MEMCG

      El kernel debe admitir los grupos de control. Cuando se ejecuta AWS IoT Greengrass con contenedores, se aplican los siguientes requisitos:

      • El grupo de control (cgroup) de memoria debe estar habilitado y montado para permitir que AWS IoT Greengrass establezca el límite de memoria para las funciones de Lambda.

      • El cgroup del dispositivo debe estar habilitado y montado si se utilizan funciones Lambda con acceso a recursos locales para abrir archivos en AWS IoT Greengrass el dispositivo principal.

    • Otros:

      • CONFIG_POSIX_MQUEUE

      • CONFIG_OVERLAY_FS

      • CONFIG_HAVE_ARCH_SECCOMP_FILTER

      • CONFIG_SECCOMP_FILTER

      • CONFIG_KEYS

      • CONFIG_SECCOMP

      • CONFIG_SHMEM

  • El certificado raíz de Amazon S3 y AWS IoT debe estar presente en el almacén de confianza del sistema.

  • El administrador de transmisiones requiere el tiempo de ejecución de Java 8 y un mínimo de 70 MB de RAM, además del requisito de memoria básico del software AWS IoT Greengrass Core. El administrador de transmisiones está activado de forma predeterminada cuando se utiliza la opción de creación de grupos predeterminada de la AWS IoT consola. El administrador de transmisiones no es compatible con las OpenWrt distribuciones.

  • Las bibliotecas que admiten el tiempo de ejecución de AWS Lambda requerido por las funciones de Lambda que desea ejecutar localmente. Las bibliotecas necesarias deben instalarse en el núcleo y agregarse a la variable de entorno PATH. Pueden instalarse varias bibliotecas en el mismo núcleo.

    • Consulte Python versión 3.7 para ver las funciones que utilizan el tiempo de ejecución Python 3.7.

    • Consulte Python versión 2.7 para ver las funciones que utilizan el tiempo de ejecución Python 2.7.

    • Node.js versión 12.x para las funciones que utilizan el entorno de tiempo de ejecución de Node.js 12.x.

    • Consulte Java versión 8 o posterior para ver las funciones que utilizan el runtime Java 8.

      nota

      Oficialmente, no se admite la ejecución de Java en una OpenWrt distribución. Sin embargo, si su OpenWrt compilación es compatible con Java, es posible que pueda ejecutar funciones Lambda creadas en Java en sus dispositivos. OpenWrt

      Para obtener más información sobre la AWS IoT Greengrass compatibilidad con los tiempos de ejecución de Lambda, consulte. Ejecutar funciones de Lambda en el núcleo de AWS IoT Greengrass

  • El agente de actualización (OTA) requiere los siguientes comandos de shell over-the-air (no las BusyBox variantes):

    • wget

    • realpath

    • tar

    • readlink

    • basename

    • dirname

    • pidof

    • df

    • grep

    • umount

    • mv

    • gzip

    • mkdir

    • rm

    • ln

    • cut

    • cat

    • /bin/bash

GGC v1.9

Plataformas admitidas:

  • Arquitectura: Armv7l

    • Sistema operativo: Linux

    • Sistema operativo: Linux (OpenWrt)

  • Arquitectura: Armv8 (AArch64)

    • Sistema operativo: Linux

    • Sistema operativo: Linux (OpenWrt)

  • Arquitectura: Armv6l

    • Sistema operativo: Linux

  • Arquitectura: x86_64

    • Sistema operativo: Linux

  • Las plataformas Windows, macOS y Linux se pueden ejecutar AWS IoT Greengrass en un contenedor de Docker. Para obtener más información, consulte Ejecución de AWS IoT Greengrass en un contenedor Docker.

Requisitos:

  • Espacio en disco mínimo de 128 MB disponible para el software AWS IoT Greengrass principal. Si utiliza el agente de actualización OTA, el mínimo es de 400 MB.

  • Se asigna un mínimo de 128 MB de RAM al software AWS IoT Greengrass principal.

  • Versión del kernel de Linux:

    • Se requiere la versión 4.4 o posterior del kernel de Linux para permitir la ejecución AWS IoT Greengrass con contenedores.

    • Se requiere la versión 3.17 o posterior del kernel de Linux para permitir la ejecución AWS IoT Greengrass sin contenedores. En esta configuración, la creación de contenedores de la función de Lambda predeterminada para el grupo de Greengrass debe establecerse en Sin contenedor. Para ver instrucciones, consulte Configuración de la creación de contenedores predeterminada para funciones Lambda de un grupo.

  • Biblioteca C de GNU (glibc), versión 2.14 o posterior. OpenWrt Las distribuciones requieren la versión 1.1.16 o posterior de la biblioteca C de Musl.

  • El directorio /var/run debe existir en el dispositivo.

  • Los archivos /dev/stderr, /dev/stdin y /dev/stdout deben estar disponibles.

  • La protección de enlaces permanentes y simbólicos debe estar habilitada en el dispositivo. De lo contrario, solo se AWS IoT Greengrass puede ejecutar en modo inseguro, utilizando la bandera. -i

  • Las siguientes configuraciones de kernel de Linux deben estar habilitado en el dispositivo:

    • Espacio de nombres:

      • CONFIG_IPC_NS

      • CONFIG_UTS_NS

      • CONFIG_USER_NS

      • CONFIG_PID_NS

    • Grupos de control:

      • CONFIG_CGROUP_DEVICE

      • CONFIG_CGROUPS

      • CONFIG_MEMCG

      El kernel debe admitir los grupos de control. Cuando se ejecuta AWS IoT Greengrass con contenedores, se aplican los siguientes requisitos:

      • El grupo de control (cgroup) de memoria debe estar habilitado y montado para permitir que AWS IoT Greengrass establezca el límite de memoria para las funciones de Lambda.

      • El cgroup del dispositivo debe estar habilitado y montado si se utilizan funciones Lambda con acceso a recursos locales para abrir archivos en AWS IoT Greengrass el dispositivo principal.

    • Otros:

      • CONFIG_POSIX_MQUEUE

      • CONFIG_OVERLAY_FS

      • CONFIG_HAVE_ARCH_SECCOMP_FILTER

      • CONFIG_SECCOMP_FILTER

      • CONFIG_KEYS

      • CONFIG_SECCOMP

      • CONFIG_SHMEM

  • El certificado raíz de Amazon S3 y AWS IoT debe estar presente en el almacén de confianza del sistema.

  • Las bibliotecas que admiten el tiempo de ejecución de AWS Lambda requerido por las funciones de Lambda que desea ejecutar localmente. Las bibliotecas necesarias deben instalarse en el núcleo y agregarse a la variable de entorno PATH. Pueden instalarse varias bibliotecas en el mismo núcleo.

    • Consulte Python versión 2.7 para ver las funciones que utilizan el tiempo de ejecución Python 2.7.

    • Consulte Python versión 3.7 para ver las funciones que utilizan el tiempo de ejecución Python 3.7.

    • Consulte Node.js versión 6.10 o posterior para ver las funciones que utilizan el tiempo de ejecución Node.js 6.10.

    • Consulte Node.js versión 8.10 o posterior para ver las funciones que utilizan el tiempo de ejecución Node.js 8.10.

    • Consulte Java versión 8 o posterior para ver las funciones que utilizan el runtime Java 8.

      nota

      Oficialmente, no se admite la ejecución de Java en una OpenWrt distribución. Sin embargo, si su OpenWrt compilación es compatible con Java, es posible que pueda ejecutar funciones Lambda creadas en Java en sus dispositivos. OpenWrt

      Para obtener más información sobre la AWS IoT Greengrass compatibilidad con los tiempos de ejecución de Lambda, consulte. Ejecutar funciones de Lambda en el núcleo de AWS IoT Greengrass

  • El agente de actualización (OTA) requiere los siguientes comandos de shell over-the-air (no las BusyBox variantes):

    • wget

    • realpath

    • tar

    • readlink

    • basename

    • dirname

    • pidof

    • df

    • grep

    • umount

    • mv

    • gzip

    • mkdir

    • rm

    • ln

    • cut

    • cat

GGC v1.8
  • Plataformas admitidas:

  • Se requieren los elementos siguientes:

    • Espacio en disco mínimo de 128 MB disponible para el software AWS IoT Greengrass Core. Si utiliza el agente de actualización OTA, el mínimo es de 400 MB.

    • Se asigna un mínimo de 128 MB de RAM al software AWS IoT Greengrass principal.

    • Versión del kernel de Linux:

      • Se requiere la versión 4.4 o posterior del kernel de Linux para permitir la ejecución AWS IoT Greengrass con contenedores.

      • Se requiere la versión 3.17 o posterior del kernel de Linux para permitir la ejecución AWS IoT Greengrass sin contenedores. En esta configuración, la creación de contenedores de la función de Lambda predeterminada para el grupo de Greengrass debe establecerse en Sin contenedor. Para ver instrucciones, consulte Configuración de la creación de contenedores predeterminada para funciones Lambda de un grupo.

    • Biblioteca de C de GNU (glibc) versión 2.14 o posterior.

    • El directorio /var/run debe existir en el dispositivo.

    • Los archivos /dev/stderr, /dev/stdin y /dev/stdout deben estar disponibles.

    • La protección de enlaces permanentes y simbólicos debe estar habilitada en el dispositivo. De lo contrario, solo se AWS IoT Greengrass puede ejecutar en modo inseguro, utilizando el -i indicador.

    • Las siguientes configuraciones de kernel de Linux deben estar habilitado en el dispositivo:

      • Espacio de nombres:

        • CONFIG_IPC_NS

        • CONFIG_UTS_NS

        • CONFIG_USER_NS

        • CONFIG_PID_NS

      • Grupos de control:

        • CONFIG_CGROUP_DEVICE

        • CONFIG_CGROUPS

        • CONFIG_MEMCG

        El kernel debe admitir los grupos de control. Cuando se ejecuta AWS IoT Greengrass con contenedores, se aplican los siguientes requisitos:

        • El grupo de control (cgroup) de memoria debe estar habilitado y montado para permitir que AWS IoT Greengrass establezca el límite de memoria para las funciones de Lambda.

        • El cgroup del dispositivo debe estar habilitado y montado si se utilizan funciones Lambda con acceso a recursos locales para abrir archivos en AWS IoT Greengrass el dispositivo principal.

      • Otros:

        • CONFIG_POSIX_MQUEUE

        • CONFIG_OVERLAY_FS

        • CONFIG_HAVE_ARCH_SECCOMP_FILTER

        • CONFIG_SECCOMP_FILTER

        • CONFIG_KEYS

        • CONFIG_SECCOMP

        • CONFIG_SHMEM

    • El certificado raíz de Amazon S3 y AWS IoT debe estar presente en el almacén de confianza del sistema.

  • Los elementos siguientes son obligatorios:

    • Las bibliotecas que admiten el tiempo de ejecución de AWS Lambda requerido por las funciones de Lambda que desea ejecutar localmente. Las bibliotecas necesarias deben instalarse en el núcleo y agregarse a la variable de entorno PATH. Pueden instalarse varias bibliotecas en el mismo núcleo.

      • Consulte Python versión 2.7 para ver las funciones que utilizan el tiempo de ejecución Python 2.7.

      • Consulte Node.js versión 6.10 o posterior para ver las funciones que utilizan el tiempo de ejecución Node.js 6.10.

      • Consulte Java versión 8 o posterior para ver las funciones que utilizan el runtime Java 8.

    • El agente de actualización (OTA) requiere los siguientes comandos de shell over-the-air (no las BusyBox variantes):

      • wget

      • realpath

      • tar

      • readlink

      • basename

      • dirname

      • pidof

      • df

      • grep

      • umount

      • mv

      • gzip

      • mkdir

      • rm

      • ln

      • cut

      • cat

Para obtener información sobre AWS IoT Greengrass las cuotas (límites), consulte Service Quotas en Referencia general de Amazon Web Services.

Para obtener información sobre precios, consulte Precios de AWS IoT Greengrass y Precios de AWS IoT Core.

AWS IoT Greengrass descargas

Puede utilizar la información siguiente para buscar y descargar software para utilizarlo con AWS IoT Greengrass.

AWS IoT Greengrass Software básico

El software AWS IoT Greengrass Core extiende la AWS funcionalidad a un dispositivo AWS IoT Greengrass central, lo que permite que los dispositivos locales actúen localmente a partir de los datos que generan.

v1.11
1.11.6

Mejoras y correcciones de errores:

  • Resiliencia mejorada en caso de que se produzca una pérdida repentina de energía durante una implementación.

  • Se solucionó un problema por el que la corrupción de los datos del administrador de transmisiones podía impedir que se AWS IoT Greengrass iniciara el software Core.

  • Se ha corregido un problema que provocaba que los nuevos dispositivos cliente no se pudieran conectar al núcleo en determinadas situaciones.

  • Se ha corregido un error que provocaba que los nombres de los flujos del administrador de flujos no pudieran contener .log.

1.11.5

Mejoras y correcciones de errores:

  • Mejoras de rendimiento generales y correcciones de errores.

1.11.4

Mejoras y correcciones de errores:

  • Se ha corregido un problema con el administrador de transmisiones que impedía actualizar el software AWS IoT Greengrass Core a la versión 1.11.3. Si utilizas Stream Manager para exportar datos a la nube, ahora puedes usar una actualización OTA para actualizar una versión anterior, v1.x, del software Core a la AWS IoT Greengrass versión 1.11.4.

  • Mejoras de rendimiento generales y correcciones de errores.

1.11.3

Mejoras y correcciones de errores:

  • Se ha corregido un problema que provocaba que el software AWS IoT Greengrass Core que se ejecutaba en un abrir y cerrar de ojos en un dispositivo Ubuntu dejara de responder tras un repentino corte de energía en el dispositivo.

  • Se ha corregido un problema que provocaba un retraso en la entrega de los mensajes MQTT a funciones de Lambda de larga duración.

  • Se ha corregido un problema que provocaba que los mensajes MQTT no se enviaran correctamente cuando el valor maxWorkItemCount estaba establecido en un valor superior a 1024.

  • Se ha corregido un problema que provocaba que el agente de actualización de OTA ignorara el período KeepAlive de MQTT especificado en la propiedad keepAlive en config.json.

  • Mejoras de rendimiento generales y correcciones de errores.

importante

Si utilizas el administrador de transmisiones para exportar datos a la nube, no actualices el software AWS IoT Greengrass Core v1.11.3 desde una versión anterior, v1.x. Si es la primera vez que habilitas Stream Manager, te recomendamos encarecidamente que instales primero la última versión del software Core. AWS IoT Greengrass

1.11.1

Mejoras y correcciones de errores:

  • Se ha corregido un problema que provocaba que el administrador de flujos aumentara el uso de memoria.

  • Se ha corregido un problema que provocaba que el administrador de transmisiones restableciera el número de secuencia de la transmisión 0 si el dispositivo principal de Greengrass estaba apagado durante más tiempo del período especificado time-to-live (TTL) de los datos de la transmisión.

  • Se ha corregido un problema que impedía que el administrador de flujos detuviera correctamente los reintentos de exportación de datos al Nube de AWS.

1.11.0

Nuevas características:

  • Un agente de telemetría del núcleo de Greengrass recopila datos de telemetría locales y los publica en. Nube de AWS Para recuperar los datos de telemetría para su posterior procesamiento, los clientes pueden crear una EventBridge regla de Amazon y suscribirse a un objetivo. Para obtener más información, consulte Recopilación de datos de telemetría del estado del sistema desde los dispositivos principales. AWS IoT Greengrass

  • Una API HTTP local devuelve una instantánea del estado actual de los procesos de trabajo locales iniciados por. AWS IoT Greengrass Para obtener más información, consulte Llamadas a la API de comprobación de estado local.

  • Un administrador de transmisiones exporta automáticamente los datos a Amazon S3 y AWS IoT SiteWise.

    Los nuevos parámetros del administrador de flujos le permiten actualizar las transmisiones existentes y pausar o reanudar la exportación de datos.

  • Compatibilidad para ejecutar funciones Lambda de Python 3.8.x en el dispositivo principal.

  • Una nueva propiedad ggDaemonPort en config.json que se usa para configurar el número de puerto IPC de Greengrass core. El número de puerto predeterminado es 8000.

    Una propiedad systemComponentAuthTimeout nueva en config.json que se utiliza para configurar el tiempo de espera de la autenticación IPC de Greengrass core. El valor de tiempo predeterminado es 5000 milisegundos.

  • Se aumentó la cantidad máxima de AWS IoT dispositivos por AWS IoT Greengrass grupo de 200 a 2500.

    Se aumentó el número máximo de suscripciones por grupo de 1000 a 10 000.

    Para obtener más información, consulte Puntos de conexión y cuotas de AWS IoT Greengrass.

Mejoras y correcciones de errores:

  • Optimización general que puede reducir la utilización de memoria de los procesos de servicio de Greengrass.

  • Un nuevo parámetro de configuración del tiempo de ejecución (mountAllBlockDevices) permite a Greengrass utilizar los montajes de enlace para montar todos los dispositivos de bloques en un contenedor después de configurar el OverlayFS. Esta característica resolvió un problema que provocaba un error en la implementación de Greengrass si /usr no estaba por debajo de la jerarquía /.

  • Se ha corregido un problema que provocaba un fallo en el AWS IoT Greengrass núcleo si /tmp se trataba de un enlace simbólico.

  • Se ha corregido un error para permitir que el agente de implementación de Greengrass elimine de la carpeta los artefactos del modelo de machine learning no utilizados. mlmodel_public

  • Mejoras de rendimiento generales y correcciones de errores.

Para instalar el software AWS IoT Greengrass Core en su dispositivo principal, descargue el paquete correspondiente a su arquitectura y sistema operativo (SO) y, a continuación, siga los pasos de la Guía de introducción.

sugerencia

AWS IoT Greengrass también ofrece otras opciones para instalar el software AWS IoT Greengrass principal. Por ejemplo, puede usar la configuración de dispositivos Greengrass para configurar su entorno e instalar la última versión del software AWS IoT Greengrass Core. O bien, en las plataformas Debian compatibles, puede utilizar el administrador de paquetes APT para instalar o actualizar el software AWS IoT Greengrass Core. Para obtener más información, consulte Instalación del software AWS IoT Greengrass Core.

Arquitectura

Sistema operativo

Enlace

Armv8 (AArch64)

Linux

Download

Armv8 (AArch64)

Linux () OpenWrt

Download

Armv7l

Linux

Download

Armv7l

Linux (OpenWrt)

Download

Armv6l

Linux

Descargar

x86_64

Linux

Download

Extended life versions
1.10.5

Nuevas características en v1.10:

Mejoras y correcciones de errores:

  • Las actualizaciones O ver-the-air (OTA) con integración de seguridad de hardware se pueden configurar con OpenSSL 1.1.

  • El administrador de secuencias es más resistente a la corrupción de datos de archivos.

  • Se ha corregido un problema que provocaba un error de montaje de sysfs en dispositivos que utilizaban el kernel de Linux 5.1 y versiones posteriores.

  • Una nueva mqttOperationTimeout propiedad de config.json que se utiliza para establecer el tiempo de espera de las operaciones de publicación, suscripción y cancelación de la suscripción en las conexiones MQTT. AWS IoT Core

  • Se ha corregido un problema que provocaba que el administrador de flujos aumentara el uso de memoria.

  • Una propiedad systemComponentAuthTimeout nueva en config.json que se utiliza para configurar el tiempo de espera de la autenticación IPC de Greengrass core. El valor de tiempo predeterminado es 5000 milisegundos.

  • Se ha corregido un problema que provocaba que el agente de actualización de OTA ignorara el período KeepAlive de MQTT especificado en la propiedad keepAlive en config.json.

  • Se ha corregido un problema que provocaba que los mensajes MQTT no se enviaran correctamente cuando el valor maxWorkItemCount estaba establecido en un valor superior a 1024.

  • Se ha corregido un problema que provocaba un retraso en la entrega de los mensajes MQTT a funciones de Lambda de larga duración.

  • Se ha corregido un problema que provocaba que el software AWS IoT Greengrass Core que se ejecutaba en un abrir y cerrar de ojos en un dispositivo Ubuntu dejara de responder tras un corte repentino de energía en el dispositivo.

  • Mejoras de rendimiento generales y correcciones de errores.

Para instalar el software AWS IoT Greengrass Core en su dispositivo principal, descargue el paquete correspondiente a su arquitectura y sistema operativo (SO) y, a continuación, siga los pasos de la Guía de introducción.

Arquitectura

Sistema operativo

Enlace

Armv8 (AArch64)

Linux

Download

Armv8 (AArch64)

Linux (OpenWrt)

Download

Armv7l

Linux

Download

Armv7l

Linux (OpenWrt)

Download

Armv6l

Linux

Descargar

x86_64

Linux

Download

1.9.4

Nuevas características en v1.9:

  • Compatibilidad con los tiempos de ejecución Lambda de Node.js 8.10 y de Python 3.7. Las funciones Lambda que utilizan los tiempos de ejecución de Python 3.7 y Node.js 8.10 ahora pueden ejecutarse en un núcleo. AWS IoT Greengrass (AWS IoT Greengrass sigue siendo compatible con los tiempos de ejecución de Python 2.7 y Node.js 6.10).

  • Conexiones MQTT optimizadas. El núcleo de Greengrass establece menos conexiones con AWS IoT Core. Este cambio puede reducir los costos operativos de los cargos que se basan en el número de conexiones.

  • Clave Curva elíptica (EC) para el servidor MQTT local. El servidor MQTT local admite claves EC además de las claves RSA. (El certificado del servidor MQTT tiene una firma SHA-256 RSA, independientemente del tipo de clave). Para obtener más información, consulte AWS IoT Greengrass principios básicos de seguridad.

  • Support for OpenWrt. AWS IoT Greengrass El software principal v1.9.2 o posterior se puede instalar en OpenWrt distribuciones con arquitecturas Armv8 (AArch64) y ARMv7L. OpenWrt Actualmente, no admite la inferencia de aprendizaje automático.

  • Support para ARMv6L. AWS IoT Greengrass El software principal v1.9.3 o posterior se puede instalar en distribuciones de Raspbian en arquitecturas ARMv6L (por ejemplo, en dispositivos Raspberry Pi Zero).

  • Actualizaciones OTA en el puerto 443 con ALPN. Los núcleos Greengrass que utilizan el puerto 443 para el tráfico MQTT ahora admiten actualizaciones de software over-the-air (OTA). AWS IoT Greengrass utiliza la extensión TLS de Application Layer Protocol Network (ALPN) para habilitar estas conexiones. Para obtener más información, consulte Actualizaciones de OTA para el software AWS IoT Greengrass Core y Realizar la conexión en el puerto 443 o a través de un proxy de red.

Para instalar el software AWS IoT Greengrass principal en su dispositivo principal, descargue el paquete correspondiente a su arquitectura y sistema operativo (SO) y, a continuación, siga los pasos de la Guía de introducción.

Arquitectura

Sistema operativo

Enlace

Armv8 (AArch64)

Linux

Download

Armv8 (AArch64)

Linux (OpenWrt)

Download

Armv7l

Linux

Download

Armv7l

Linux (OpenWrt)

Download

Armv6l

Linux

Descargar

x86_64

Linux

Download

1.8.4
  • Nuevas características:

    • Identidad de acceso predeterminada configurable para las funciones de Lambda del grupo. Esta configuración de nivel de grupo determina los permisos predeterminados que se utilizan para ejecutar funciones de Lambda. Puede definir el ID de usuario, el ID de grupo o ambos. Las funciones de Lambda pueden invalidar la identidad de acceso predeterminada de su grupo. Para obtener más información, consulte Configuración de la identidad de acceso predeterminada para las funciones de Lambda de un grupo.

    • Tráfico HTTPS a través del puerto 443. La comunicación HTTPS se puede configurar para la comunicación a través del puerto 443 en lugar del puerto 8443 predeterminado. Esto complementa la AWS IoT Greengrass compatibilidad con la extensión TLS de Application Layer Protocol Network (ALPN) y permite que todo el tráfico de mensajería de Greengrass, tanto MQTT como HTTPS, utilice el puerto 443. Para obtener más información, consulte Realizar la conexión en el puerto 443 o a través de un proxy de red.

    • Identificadores AWS IoT de cliente con nombres predecibles para las conexiones. Este cambio proporciona compatibilidad con los AWS IoT Device Defender y eventos de ciclo de vida de AWS IoT, para que puede recibir notificaciones de eventos de conexión, desconexión, suscripción y anulación de suscripción. Los nombres predecibles también permiten crear lógica en torno a los ID de conexión (por ejemplo, crear plantillas de política de suscripción basadas en atributos del certificado). Para obtener más información, consulte ID de cliente para conexiones MQTT con AWS IoT.

    Mejoras y correcciones de errores:

    • Se ha corregido un problema con la sincronización de sombras y la reconexión del administrador de certificados de dispositivo.

    • Mejoras de rendimiento generales y correcciones de errores.

Para instalar el software AWS IoT Greengrass principal en su dispositivo principal, descargue el paquete correspondiente a su arquitectura y sistema operativo (SO) y, a continuación, siga los pasos de la Guía de introducción.

Arquitectura

Sistema operativo

Enlace

Armv8 (AArch64)

Linux

Download

Armv7l

Linux

Descargar

x86_64

Linux

Download

Al descargar este software, acepta el acuerdo de licencia del software de Greengrass Core.

Para obtener información sobre otras opciones para instalar el software AWS IoT Greengrass Core en el dispositivo, consulteInstalación del software AWS IoT Greengrass Core.

 

AWS IoT Greengrass software snap

AWS IoT Greengrass snap 1.11.x le permite ejecutar una versión limitada a AWS IoT Greengrass través de cómodos paquetes de software, junto con todas las dependencias necesarias, en un entorno contenerizado.

nota

La AWS IoT Greengrass instantánea está disponible para la versión 1.11.x del software Core. AWS IoT Greengrass AWS IoT Greengrass no proporciona una instantánea para la versión 1.10.x. Las versiones que no son compatibles no reciben actualizaciones ni correcciones de errores.

La AWS IoT Greengrass instantánea no admite conectores ni la inferencia de aprendizaje automático (ML).

Para obtener más información, consulte Ejecución de AWS IoT Greengrass en un snap.

 

AWS IoT Greengrass Software Docker

AWS proporciona un Dockerfile e imágenes de Docker que facilitan su ejecución AWS IoT Greengrass en un contenedor Docker.

Dockerfile

Los archivos Docker contienen código fuente para crear imágenes de contenedores personalizadas. AWS IoT Greengrass Las imágenes se pueden modificar para ejecutarlas en arquitecturas de plataforma distintas o para reducir su tamaño. Consulte el archivo README para obtener instrucciones.

Descargue la versión de software AWS IoT Greengrass Core de destino.

v1.11
Extended life versions

 

Imagen de Docker

Las imágenes de Docker tienen el software AWS IoT Greengrass principal y las dependencias instaladas en las imágenes base de Amazon Linux 2 (x86_64) y Alpine Linux (x86_64, ARMv7L o AArch64). Puede usar imágenes prediseñadas para comenzar a experimentar con AWS IoT Greengrass.

importante

El 30 de junio de 2022, AWS IoT Greengrass finalizó el mantenimiento de las imágenes de Docker de AWS IoT Greengrass Core software v1.x publicadas en Amazon Elastic Container Registry (Amazon ECR) y Docker Hub. Puede seguir descargando estas imágenes de Docker desde Amazon ECR y Docker Hub hasta el 30 de junio de 2023, es decir, un año después de que finalice el mantenimiento. Sin embargo, las imágenes de Docker de la versión 1.x del software AWS IoT Greengrass principal ya no reciben parches de seguridad ni correcciones de errores una vez finalizado el mantenimiento el 30 de junio de 2022. Si ejecuta una carga de trabajo de producción que depende de estas imágenes de Docker, le recomendamos que cree sus propias imágenes de Docker con los archivos Docker que se proporcionan. AWS IoT Greengrass Para obtener más información, consulte AWS IoT Greengrass Version 1política de mantenimiento.

Descargue una imagen prediseñada de Docker Hub o Amazon Elastic Container Registry (Amazon ECR).

  • En el caso de Docker Hub, utilice la etiqueta de versión para descargar una versión específica de la imagen de Docker de Greengrass. Para buscar etiquetas para todas las imágenes disponibles, consulte la página Tags (Etiquetas) en Docker Hub.

  • En el caso de Amazon ECR, utilice la etiqueta latest para descargar la última versión disponible de la imagen de Docker de Greengrass. Para obtener más información sobre la publicación de las versiones de imágenes disponibles y la descarga de imágenes de Amazon ECR, consulte Ejecución de AWS IoT Greengrass en un contenedor Docker.

aviso

A partir de la versión 1.11.6 del software AWS IoT Greengrass Core, las imágenes de Docker de Greengrass ya no incluyen Python 2.7, porque Python 2.7 llegó end-of-life en 2020 y ya no recibe actualizaciones de seguridad. Si decide actualizar a estas imágenes de Docker, le recomendamos que compruebe que sus aplicaciones funcionan con las nuevas imágenes de Docker antes de implementar las actualizaciones en los dispositivos de producción. Si necesita Python 2.7 para su aplicación que usa una imagen de Docker de Greengrass, puede modificar el Dockerfile de Greengrass para incluir Python 2.7 en su aplicación.

AWS IoT Greengrass no proporciona imágenes de Docker para la versión 1.11.1 del software Core. AWS IoT Greengrass

nota

De forma predeterminada, las imágenes alpine-aarch64 y alpine-armv7l solo pueden ejecutarse en hosts basados en Arm. Para ejecutar estas imágenes en un host x86, puede instalar QEMU y montar las bibliotecas QEMU en el host. Por ejemplo:

docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

 

AWS IoT Greengrass SDK básico

Las funciones Lambda utilizan el SDK AWS IoT Greengrass principal para interactuar con el AWS IoT Greengrass núcleo de forma local. Esto permite a las funciones de Lambda implementadas:

  • Intercambia mensajes MQTT con. AWS IoT Core

  • Intercambiar mensajes MQTT con conectores, dispositivos de cliente y otras funciones de Lambda en el grupo de Greengrass.

  • Interactuar con el servicio de sombra local.

  • Invocar otras funciones de Lambda locales.

  • Tener acceso a recursos de secretos.

  • Interactuar con el administrador de secuencias.

Descargue el SDK AWS IoT Greengrass principal para su idioma o plataforma desde GitHub.

Para obtener más información, consulte SDK de AWS IoT Greengrass Core.

 

Bibliotecas y entornos de ejecución de aprendizaje automático compatibles

Para realizar la inferencia en un núcleo de Greengrass, debe instalar la biblioteca o el entorno de ejecución de aprendizaje automático apropiados para el tipo de modelo de aprendizaje automático.

AWS IoT Greengrass admite los siguientes tipos de modelos de ML. Utilice estos vínculos para buscar información acerca de cómo instalar la biblioteca o el entorno de ejecución apropiados para el tipo de modelo y la plataforma del dispositivo.

Ejemplos de aprendizaje automático

AWS IoT Greengrass proporciona ejemplos que puede utilizar con bibliotecas y tiempos de ejecución de ML compatibles. Estos ejemplos se publican bajo el contrato de licencia de software de Greengrass Core.

Deep learning runtime (DLR)

Descargue el ejemplo apropiado para la plataforma de su dispositivo:

Para ver un tutorial en el que se utiliza el ejemplo de DLR, consulte Cómo configurar la inferencia de machine learning optimizado mediante AWS Management Console.

MXNet

Descargue el ejemplo apropiado para la plataforma de su dispositivo:

Para ver un tutorial en el que se utiliza el ejemplo de MXNet, consulte Cómo configurar la inferencia de machine learning mediante AWS Management Console.

TensorFlow

Descargue el ejemplo de Tensorflow para la plataforma de su dispositivo. Este ejemplo funciona con Raspberry Pi, NVIDIA Jetson TX2 e Intel Atom.

 

AWS IoT Greengrass Software ML SDK

SDK de machine learning de AWS IoT Greengrass permite que las funciones de Lambda que autorice consuman un modelo de machine learning local y envíen datos al conector ML Feedback para cargarlos y publicarlos.

v1.1.0
v1.0.0

Esperamos tener noticias suyas

Agradecemos sus comentarios. Para contactarnos, visite AWS re:Post y use la etiqueta AWS IoT Greengrass.