자습서: 사용 AWS IoT Device SDK for Embedded C - AWS IoT Core

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

자습서: 사용 AWS IoT Device SDK for Embedded C

이 섹션에서는 를 실행하는 방법을 설명합니다 AWS IoT Device SDK for Embedded C.

Step1: 설치 AWS IoT Device SDK for Embedded C

AWS IoT Device SDK for Embedded C 는 일반적으로 최적화된 C 언어 런타임이 필요한 리소스 제한 디바이스를 대상으로 합니다. 모든 운영 체제SDK에서 를 사용하고 모든 프로세서 유형(예: MCUs 및 )에서 호스팅할 수 있습니다MPUs. 사용 가능한 메모리 및 처리 리소스가 더 많은 경우 고차 AWS IoT 디바이스 및 모바일SDKs(예: C++, Java JavaScript및 Python) 중 하나를 사용하는 것이 좋습니다.

일반적으로 AWS IoT Device SDK for Embedded C 는 임베디드 운영 체제를 실행하는 MCUs 또는 로우엔드MPUs를 사용하는 시스템을 위한 것입니다. 이 섹션의 프로그래밍 예제에서는 디바이스가 Linux를 사용한다고 가정합니다.

  1. 에서 디바이스 AWS IoT Device SDK for Embedded C 로 를 다운로드합니다GitHub.

    git clone https://github.com/aws/aws-iot-device-sdk-embedded-c.git --recurse-submodules

    그러면 현재 디렉토리에 aws-iot-device-sdk-embedded-c라는 디렉터리가 생성됩니다.

  2. 해당 디렉터리로 이동하여 최신 릴리스를 체크아웃합니다. 최신 릴리스 태그는 github.com/aws/aws-iot-device-sdk-embedded-C/tags를 참조하세요.

    cd aws-iot-device-sdk-embedded-c git checkout latest-release-tag
  3. OpenSSL 버전 1.1.0 이상을 설치합니다. 개방형SSL 개발 라이브러리는 일반적으로 패키지 관리자를 통해 설치할 때 'libssl-dev' 또는 'openssl-devel'이라고 합니다.

    sudo apt-get install libssl-dev

2단계: 샘플 앱 구성

에는 시도할 샘플 애플리케이션이 AWS IoT Device SDK for Embedded C 포함되어 있습니다. 간소화를 위해 이 자습서에서는 AWS IoT Core 메시지 브로커에 연결하고 MQTT 주제를 구독하고 게시하는 방법을 보여주는 mqtt_demo_mutual_auth 애플리케이션을 사용합니다.

  1. AWS IoT Core 자습서 시작하기에서 만든 인증서와 개인 키를 build/bin/certificates 디렉터리에 복사합니다.

    참고

    디바이스 및 루트 CA 인증서는 만료 또는 취소될 수 있습니다. 인증서가 만료되거나 취소되면 새 CA 인증서 또는 프라이빗 키와 디바이스 인증서를 디바이스에 복사해야 합니다.

  2. 개인 AWS IoT Core 엔드포인트, 프라이빗 키, 인증서 및 루트 CA 인증서로 샘플을 구성해야 합니다. aws-iot-device-sdk-embedded-c/demos/mqtt/mqtt_demo_mutual_auth 디렉터리로 이동합니다.

    가 AWS CLI 설치된 경우 이 명령을 사용하여 계정의 엔드포인트 를 찾을 수 있습니다URL.

    aws iot describe-endpoint --endpoint-type iot:Data-ATS

    가 AWS CLI 설치되어 있지 않은 경우 AWS IoT 콘솔을 엽니다. 탐색 창에서 Manage(관리)를 선택한 다음 Things(사물)를 선택합니다. 디바이스에서 IoT 사물을 선택한 다음 상호 작용(Interact)을 선택합니다. 엔드포인트는 사물 세부 정보 페이지의 HTTPS 섹션에 표시됩니다.

  3. demo_config.h 파일을 열어 다음의 값을 업데이트합니다.

    AWS_IOT_ENDPOINT

    개인 엔드포인트입니다.

    CLIENT_CERT_PATH

    인증서 파일 경로(예: certificates/device.pem.crt")입니다.

    CLIENT_PRIVATE_KEY_PATH

    프라이빗 키 파일 이름(예: certificates/private.pem.key)입니다.

    예:

    // Get from demo_config.h // ================================================= #define AWS_IOT_ENDPOINT "my-endpoint-ats.iot.us-east-1.amazonaws.com" #define AWS_MQTT_PORT 8883 #define CLIENT_IDENTIFIER "testclient" #define ROOT_CA_CERT_PATH "certificates/AmazonRootCA1.crt" #define CLIENT_CERT_PATH "certificates/my-device-cert.pem.crt" #define CLIENT_PRIVATE_KEY_PATH "certificates/my-device-private-key.pem.key" // =================================================
  4. 이 명령을 사용하여 디바이스에 가 CMake 설치되어 있는지 확인합니다.

    cmake --version

    컴파일러에 대한 버전 정보가 표시되면 다음 섹션을 계속 진행할 수 있습니다.

    오류가 발생하거나 정보가 표시되지 않는 경우 이 명령을 사용하여 cmake 패키지를 설치해야 합니다.

    sudo apt-get install cmake

    cmake --version 명령을 다시 실행하고 CMake 가 설치되어 있고 계속할 준비가 되었는지 확인합니다.

  5. 이 명령을 사용하여 디바이스에 개발 도구가 설치되어 있는지 확인하세요.

    gcc --version

    컴파일러에 대한 버전 정보가 표시되면 다음 섹션을 계속 진행할 수 있습니다.

    오류가 발생하거나 컴파일러 정보가 표시되지 않는 경우 이 명령을 사용하여 build-essential 패키지를 설치해야 합니다.

    sudo apt-get install build-essential

    gcc --version 명령을 다시 실행하고 빌드 도구가 설치되었으며 계속할 준비가 되었는지 확인합니다.

3단계: 샘플 애플리케이션 빌드 및 실행

이 절차에서는 디바이스에서 mqtt_demo_mutual_auth 애플리케이션을 생성하고 를 사용하여 AWS IoT 콘솔에 연결하는 방법을 설명합니다 AWS IoT Device SDK for Embedded C.

AWS IoT Device SDK for Embedded C 샘플 애플리케이션을 실행하려면
  1. aws-iot-device-sdk-embedded-c로 이동하여 빌드 디렉터리를 생성합니다.

    mkdir build && cd build
  2. 다음 CMake 명령을 입력하여 빌드에 필요한 Makefiles를 생성합니다.

    cmake ..
  3. 다음 명령어를 입력하여 실행 가능한 앱 파일을 빌드합니다.

    make
  4. 이 명령으로 mqtt_demo_mutual_auth 앱을 실행합니다.

    cd bin ./mqtt_demo_mutual_auth

    다음과 유사한 출력 화면이 표시되어야 합니다.

    AWS IoT Device SDK for Embedded C 샘플 애플리케이션을 실행하기 위한 명령줄 출력입니다.

이제 를 AWS IoT 사용하여 디바이스가 에 연결됩니다 AWS IoT Device SDK for Embedded C.

AWS IoT 콘솔을 사용하여 샘플 앱이 게시하는 MQTT 메시지를 볼 수도 있습니다. AWS IoT 콘솔에서 MQTT 클라이언트를 사용하는 방법에 대한 자세한 내용은 클라이언트를 AWS IoT MQTT 사용하여 MQTT 메시지 보기 섹션을 참조하세요.