AWS IoT Greengrass Discovery 라이브러리 - FreeRTOS

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS IoT Greengrass Discovery 라이브러리

참고

이 페이지의 내용은 최신 상태가 아닐 수 있습니다. 최신 업데이트는 Freertos.org 라이브러리 페이지를 참조하세요.

개요

AWS IoT Greengrass Discovery 라이브러리는 마이크로 컨트롤러 디바이스가 네트워크에서 Greengrass 코어를 검색하는 데 사용됩니다. AWS IoT Greengrass Discovery API를 사용하면 디바이스가 코어의 엔드포인트를 찾은 후 Greengrass 코어에 메시지를 보낼 수 있습니다.

종속성 및 요구 사항

Greengrass Discovery 라이브러리를 사용하려면 AWS IoT에서 인증서, 정책 등과 같은 사물을 생성해야 합니다. 자세한 내용은 AWS IoT 시작하기를 참조하십시오.

freertos/demos/include/aws_clientcredential.h 파일에서 다음 상수의 값을 설정해야 합니다.

clientcredentialMQTT_BROKER_ENDPOINT

AWS IoT 엔드포인트입니다.

clientcredentialIOT_THING_NAME

IoT 사물의 이름입니다.

clientcredentialWIFI_SSID

Wi-Fi 네트워크의 SSID입니다.

clientcredentialWIFI_PASSWORD

Wi-Fi 암호입니다.

clientcredentialWIFI_SECURITY

Wi-Fi 네트워크에서 사용되는 보안 유형입니다.

또한 freertos/demos/include/aws_clientcredential_keys.h 파일에서 다음 상수의 값을 설정해야 합니다.

keyCLIENT_CERTIFICATE_PEM

사물과 연결된 인증서 PEM입니다.

keyCLIENT_PRIVATE_KEY_PEM

사물과 연결된 프라이빗 키 PEM입니다.

콘솔에서 Greengrass 그룹 및 코어 디바이스를 설정해야 합니다. 자세한 내용은 AWS IoT Greengrass 시작하기 섹션을 참조하세요.

coreMQTT 라이브러리가 Greengrass 연결에 필요하지는 않지만 이 라이브러리를 설치하는 것이 좋습니다. Greengrass 코어를 검색한 후 이 라이브러리를 사용하여 해당 코어와 통신할 수 있습니다.

API 참조

전체 API 참조는 Greengrass API 참조를 참조하십시오.

사용 예

Greengrass 워크플로우

MCU 디바이스는 AWS IoT에서 Greengrass 코어 연결 파라미터를 포함하는 JSON 파일을 요청하여 검색 프로세스를 시작합니다. JSON 파일에서 Greengrass 코어 연결 파라미터를 검색하는 두 가지 방법이 있습니다.

  • 자동 선택에서는 JSON 파일에 나열된 모든 Greengrass 코어를 반복한 후 사용 가능한 첫 번째 코어에 연결합니다.

  • 수동 선택에서는 aws_ggd_config.h의 정보를 사용하여 지정된 Greengrass 코어에 연결합니다.

Greengrass API를 사용하는 방법

Greengrass API에 대한 모든 기본 구성 옵션은 aws_ggd_config_defaults.h에 정의되어 있습니다.

Greengrass 코어가 하나만 존재하는 경우 GGD_GetGGCIPandCertificate를 호출하여 Greengrass 코어 연결 정보로 JSON 파일을 요청합니다. GGD_GetGGCIPandCertificate가 반환되는 경우 pcBuffer 파라미터에는 JSON 파일의 텍스트가 포함되어 있습니다. pxHostAddressData 파라미터에는 연결할 수 있는 Greengrass 코어의 IP 주소와 포트가 포함되어 있습니다.

인증서 동적 할당과 같은 추가 사용자 지정 옵션을 보려면 다음 API를 호출해야 합니다.

GGD_JSONRequestStart

AWS IoT에 대한 HTTP GET 요청을 생성하여 Greengrass 코어 검색을 위한 검색 요청을 시작합니다. GD_SecureConnect_Send는 AWS IoT에 요청을 전송하는 데 사용됩니다.

GGD_JSONRequestGetSize

HTTP 응답에서 JSON 파일의 크기를 가져옵니다.

GGD_JSONRequestGetFile

JSON 객체 문자열을 가져옵니다. GGD_JSONRequestGetSizeGGD_JSONRequestGetFileGGD_SecureConnect_Read를 사용하여 소켓에서 JSON 데이터를 가져옵니다. AWS IoT에서 JSON 데이터를 수신하려면 GGD_JSONRequestStart, GGD_SecureConnect_Send, GGD_JSONRequestGetSize를 호출해야 합니다.

GGD_GetIPandCertificateFromJSON

JSON 데이터에서 IP 주소 및 Greengrass 코어 인증서를 추출합니다. xAutoSelectFlagTrue로 설정하여 자동 선택을 켤 수 있습니다. 자동 선택에서는 FreeRTOS 디바이스를 연결할 수 있는 첫 번째 코어 디바이스를 찾습니다. Greengrass 코어에 연결하려면 GGD_SecureConnect_Connect 함수를 호출하여 코어 디바이스의 IP 주소, 포트 및 인증서를 전달합니다. 수동 선택을 사용하려면 HostParameters_t 파라미터의 다음 필드를 설정합니다.

pcGroupName

코어가 속한 Greengrass 그룹의 ID입니다. aws greengrass list-groups CLI 명령을 사용하여 Greengrass 그룹의 ID를 찾을 수 있습니다.

pcCoreAddress

연결할 Greengrass 코어의 ARN입니다.