View a markdown version of this page

AWS IoT Greengrass 검색 라이브러리 - FreeRTOS

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

AWS IoT Greengrass 검색 라이브러리

참고

이 페이지의 내용은 최신 상태가 아닐 수 있습니다. 최신 업데이트는 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 디바이스는 Greengrass 코어 연결 파라미터가 포함된 AWS IoT 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

Greengrass 코어를 검색 AWS IoT 하기 위한 검색 요청을 시작하기 위해에 HTTP GET 요청을 수행합니다. 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입니다.