AWS IoT GreengrassBiblioteca de detección de - FreeRTOS

AWS IoT GreengrassBiblioteca de detección de

nota

Es posible que el contenido de esta página no esté actualizado. Consulte la página de la biblioteca de FreeRTOS.org para obtener la última actualización.

Descripción general

Los dispositivos de microcontrolador utilizan la biblioteca de detección de AWS IoT Greengrass para detectar un núcleo de Greengrass en su red. Con las API de detección de AWS IoT Greengrass su dispositivo puede enviar mensajes a un núcleo de Greengrass después de encontrar el punto de enlace del núcleo.

Dependencias y requisitos

Para utilizar la biblioteca de detección de Greengrass, debe crear un objeto en AWS IoT, incluido un certificado y una política. Para obtener más información, consulte Introducción a AWS IoT.

Debe definir valores para las siguientes constantes en el archivo freertos/demos/include/aws_clientcredential.h:

clientcredentialMQTT_BROKER_ENDPOINT

El punto de enlace de AWS IoT.

clientcredentialIOT_THING_NAME

Es el nombre de su objeto de IoT.

clientcredentialWIFI_SSID

El SSID de su red wifi.

clientcredentialWIFI_PASSWORD

La contraseña de wifi.

clientcredentialWIFI_SECURITY

El tipo de seguridad utilizado por su red wifi.

También debe definir valores para las siguientes constantes en el archivo freertos/demos/include/aws_clientcredential_keys.h:

keyCLIENT_CERTIFICATE_PEM

El certificado PEM asociado a su objeto.

keyCLIENT_PRIVATE_KEY_PEM

El PEM de clave privada asociado a su objeto.

Debe tener un grupo de Greengrass y un dispositivo de núcleo configurado en la consola. Para obtener más información, consulte Introducción a AWS IoT Greengrass.

Aunque no se necesita una biblioteca de coreMQTT para la conectividad Greengrass, le recomendamos encarecidamente que la instale. La biblioteca se pueden utilizar para comunicarse con el núcleo de Greengrass después de que se haya detectado.

Referencia de la API

Para obtener una referencia de la API completa, consulte la Referencia de la API Greengrass.

Ejemplo de uso

Flujo de Greengrass

El dispositivo MCU inicia el proceso de detección solicitando un archivo JSON de AWS IoT que contiene los parámetros de conectividad del núcleo de Greengrass. Existen dos métodos para recuperar los parámetros de conectividad del núcleo de Greengrass del archivo JSON:

  • La selección automática realiza iteraciones por todos los núcleos de Greengrass enumerados en el archivo JSON y se conecta al primero disponible.

  • La selección manual utiliza la información en aws_ggd_config.h para conectarse al núcleo de Greengrass especificado.

Uso de la API de Greengrass

Todas las opciones de configuración predeterminadas para la API de Greengrass se definen en aws_ggd_config_defaults.h.

Si solo está presente un núcleo de Greengrass, llame a GGD_GetGGCIPandCertificate para solicitar el archivo JSON con información de conectividad del núcleo de Greengrass. Cuando se devuelve GGD_GetGGCIPandCertificate, el parámetro pcBuffer contiene el texto del archivo JSON. El parámetro pxHostAddressData contiene la dirección IP y el puerto del núcleo de Greengrass al que puede conectarse.

Para obtener más opciones de personalización, como la posibilidad de asignar certificados de forma dinámica, debe llamar a las siguientes API:

GGD_JSONRequestStart

Realiza una solicitud HTTP GET a AWS IoT para iniciar la solicitud de detección para detectar un núcleo de Greengrass. GD_SecureConnect_Send se utiliza para enviar la solicitud a AWS IoT.

GGD_JSONRequestGetSize

Obtiene el tamaño del archivo JSON de la respuesta HTTP.

GGD_JSONRequestGetFile

Obtiene la cadena de objeto JSON. GGD_JSONRequestGetSize y GGD_JSONRequestGetFile utilizan GGD_SecureConnect_Read para obtener los datos JSON del socket. Se debe llamar a GGD_JSONRequestStart, GGD_SecureConnect_Send, GGD_JSONRequestGetSize para recibir los datos JSON de AWS IoT.

GGD_GetIPandCertificateFromJSON

Extrae la dirección IP y el certificado del núcleo de Greengrass de los datos JSON. Puede activar la selección automática estableciendo xAutoSelectFlag en True. La selección automática encuentra el primer dispositivo de núcleo al que puede conectarse su dispositivo FreeRTOS. Para conectarse a un núcleo de Greengrass, llame a la función GGD_SecureConnect_Connect y pase la dirección IP, el puerto y el certificado del dispositivo de núcleo. Para utilizar la selección manual, establezca los siguientes campos del parámetro HostParameters_t:

pcGroupName

El ID de grupo de Greengrass al que pertenece el núcleo. Puede utilizar el comando de la CLI aws greengrass list-groups para encontrar el ID de sus grupos de Greengrass.

pcCoreAddress

El ARN del núcleo de Greengrass al que se va a conectar.