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
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
eGGD_JSONRequestGetFile
usamGGD_SecureConnect_Read
para obter os dados JSON do soquete.GGD_JSONRequestStart
,GGD_SecureConnect_Send
eGGD_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
comoTrue
. 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çãoGGD_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âmetroHostParameters_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.