Biblioteca de descoberta do AWS IoT Greengrass - Gratuito RTOS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Biblioteca de descoberta do AWS IoT Greengrass

nota

O conteúdo desta página pode não estar atualizado. Consulte a página da biblioteca do FreeRTOS.org para obter a atualização mais recente.

Visão geral

A biblioteca de descobertas do AWS IoT Greengrass é usada pelos dispositivos do microcontrolador para descobrir um núcleo do Greengrass na rede. Usando as APIs de descoberta do AWS IoT Greengrass, o dispositivo pode enviar mensagens para um núcleo do Greengrass depois de encontrar o endpoint do núcleo.

Dependências e requisitos

Para usar a biblioteca de descoberta do Greengrass, é necessário criar um item na AWS IoT, incluindo um certificado e uma política. Para obter mais informações, consulte Conceitos básicos do AWS IoT.

É necessário definir valores para as constantes a seguir no arquivo freertos/demos/include/aws_clientcredential.h:

clientcredentialMQTT_BROKER_ENDPOINT

O endpoint da AWS IoT.

clientcredentialIOT_THING_NAME

O nome da coisa da IoT.

clientcredentialWIFI_SSID

O SSID da rede Wi-Fi.

clientcredentialWIFI_PASSWORD

A senha de Wi-Fi.

clientcredentialWIFI_SECURITY

O tipo de segurança usado pela rede Wi-Fi.

Também é necessário definir valores para as constantes a seguir no arquivo freertos/demos/include/aws_clientcredential_keys.h:

keyCLIENT_CERTIFICATE_PEM

O certificado PEM associado à coisa.

keyCLIENT_PRIVATE_KEY_PEM

A chave privada PEM associada à coisa.

É necessário ter um grupo do Greengrass e um dispositivo de núcleo configurados no console. Para obter mais informações, consulte o tópico Conceitos básicos sobre a AWS IoT Greengrass.

Embora a biblioteca coreMQTT não seja necessária para a conectividade do Greengrass, recomendamos que você a instale. A biblioteca pode ser usada para se comunicar com o núcleo do Greengrass após ele ter sido descoberto.

Referência de API

Para obter uma referência completa de API, consulte Referência de API do Greengrass.

Exemplo de uso

Fluxo de trabalho do Greengrass

O dispositivo MCU inicia o processo de descoberta solicitando à AWS IoT um arquivo JSON que contenha os parâmetros de conectividade de núcleo do Greengrass. Existem dois métodos para recuperar os parâmetros de conectividade de núcleo do Greengrass a partir do arquivo JSON:

  • A seleção automática itera todos os núcleos do Greengrass listados no arquivo JSON e se conecta ao primeiro disponível.

  • A seleção manual usa as informações em aws_ggd_config.h para se conectar ao núcleo especificado do Greengrass.

Como usar a API do Greengrass

Todas as opções de configuração padrão para a API do Greengrass são definidas em aws_ggd_config_defaults.h.

Se apenas um núcleo do Greengrass estiver presente, chame GGD_GetGGCIPandCertificate para solicitar o arquivo JSON com as informações de conectividade de núcleo do Greengrass. Quando GGD_GetGGCIPandCertificate é retornado, o parâmetro pcBuffer contém o texto do arquivo JSON. O parâmetro pxHostAddressData contém o endereço IP e a porta do núcleo do Greengrass aos quais você pode se conectar.

Para obter mais opções de personalização, como a alocação dinâmica de certificados, é necessário chamar as APIs a seguir:

GGD_JSONRequestStart

Faz uma solicitação HTTP GET para a AWS IoT para iniciar a solicitação de descoberta para descobrir um núcleo do Greengrass. GD_SecureConnect_Send é usado para enviar a solicitação à AWS IoT.

GGD_JSONRequestGetSize

Obtém o tamanho do arquivo JSON da resposta HTTP.

GGD_JSONRequestGetFile

Obtém a string do objeto JSON. GGD_JSONRequestGetSize e GGD_JSONRequestGetFile usam GGD_SecureConnect_Read para obter os dados JSON do soquete. GGD_JSONRequestStart, GGD_SecureConnect_Send e GGD_JSONRequestGetSize devem ser chamados para receber os dados JSON da AWS IoT.

GGD_GetIPandCertificateFromJSON

Extrai o endereço IP e o certificado de núcleo do Greengrass a partir dos dados JSON. Você pode ativar a seleção automática definindo xAutoSelectFlag como True. A seleção automática encontra o primeiro dispositivo de núcleo ao qual seu dispositivo FreeRTOS pode se conectar. Para conectar-se a um núcleo do Greengrass, chame a função GGD_SecureConnect_Connect, transmitindo o endereço IP, a porta e o certificado do dispositivo de núcleo. Para usar a seleção manual, defina os seguintes campos do parâmetro HostParameters_t:

pcGroupName

O ID do grupo do Greengrass ao qual o núcleo pertence. Você pode usar o comando aws greengrass list-groups da CLI para encontrar o ID dos grupos do Greengrass.

pcCoreAddress

O ARN do núcleo do Greengrass ao qual você está se conectando.