

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

# 자습서: AWS IoT Device SDK for Embedded C 사용
<a name="iot-embedded-c-sdk"></a>

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

**Topics**
+ [1단계: AWS IoT Device SDK for Embedded C 설치](#install-embedded-c-sdk)
+ [2단계: 샘플 앱 구성](#iot-c-sdk-app-config)
+ [3단계: 샘플 애플리케이션 빌드 및 실행](#iot-c-sdk-app-run)

## 1단계: AWS IoT Device SDK for Embedded C 설치
<a name="install-embedded-c-sdk"></a>

AWS IoT Device SDK for Embedded C는 일반적으로 최적화된 C 언어 런타임을 필요로 하는 리소스 제약 디바이스를 대상으로 합니다. 모든 운영 체제에서 SDK를 사용하고, 모든 프로세서 유형(예: MCU 및 MPU)에서 호스팅할 수 있습니다. 더 많은 메모리 및 처리 리소스를 사용할 수 있는 경우, 상위 순위의 AWS IoT 디바이스 및 모바일 SDK(예: C\$1\$1, Java, JavaScript 및 Python) 중 하나를 사용하도록 하세요.

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

**Example**  

1. [GitHub](https://github.com/aws/aws-iot-device-sdk-embedded-C)에서 AWS IoT Device SDK for Embedded C를 디바이스로 다운로드하세요.

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

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

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

   ```
   cd aws-iot-device-sdk-embedded-c
   git checkout latest-release-tag
   ```

1. OpenSSL 버전 1.1.0 이상을 설치합니다. OpenSSL 개발 라이브러리는 패키지 관리자를 통해 설치될 때 일반적으로 ‘libssl-dev’ 또는 ‘openssl-devel’이라고 합니다.

   ```
   sudo apt-get install libssl-dev
   ```

## 2단계: 샘플 앱 구성
<a name="iot-c-sdk-app-config"></a>

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

1. [AWS IoT Core 자습서 시작하기](iot-gs.md)에서 만든 인증서와 개인 키를 `build/bin/certificates` 디렉터리에 복사합니다.
**참고**  
디바이스 및 루트 CA 인증서는 만료 또는 취소될 수 있습니다. 인증서가 만료되거나 취소되면 새 CA 인증서 또는 프라이빗 키와 디바이스 인증서를 디바이스에 복사해야 합니다.

1. 개인 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 콘솔](https://console.aws.amazon.com/iot/home)을 엽니다. 탐색 창에서 **Manage(관리)**를 선택한 다음 **Things(사물)**를 선택합니다. 디바이스에서 IoT 사물을 선택한 다음 **상호 작용(Interact)**을 선택합니다. 사물 세부 정보 페이지의 **HTTPS** 섹션에 엔드포인트가 표시됩니다.

1. `demo_config.h` 파일을 열어 다음의 값을 업데이트합니다.  
AWS\$1IOT\$1ENDPOINT  
개인 엔드포인트입니다.  
CLIENT\$1CERT\$1PATH  
인증서 파일 경로(예: `certificates/device.pem.crt"`)입니다.  
CLIENT\$1PRIVATE\$1KEY\$1PATH  
프라이빗 키 파일 이름(예: `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"
   // =================================================
   ```

1. 이 명령을 사용하여 디바이스에 CMake가 설치되어 있는지 확인하세요.

   ```
   cmake --version
   ```

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

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

   ```
   sudo apt-get install cmake
   ```

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

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

   ```
   gcc --version
   ```

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

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

   ```
   sudo apt-get install build-essential
   ```

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

## 3단계: 샘플 애플리케이션 빌드 및 실행
<a name="iot-c-sdk-app-run"></a>

이 절차에서는 디바이스에서 `mqtt_demo_mutual_auth` 애플리케이션을 생성하고 AWS IoT Device SDK for Embedded C를 사용하여 [AWS IoT 콘솔](https://console.aws.amazon.com/iot/home)에 연결하는 방법을 설명합니다.

**AWS IoT Device SDK for Embedded C 샘플 애플리케이션을 실행하려면**

1. `aws-iot-device-sdk-embedded-c`로 이동하여 빌드 디렉터리를 생성합니다.

   ```
   mkdir build && cd build
   ```

1. 다음 CMake 명령을 입력하여 빌드에 필요한 Makefile을 생성합니다.

   ```
   cmake ..  
   ```

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

   ```
   make
   ```

1. 이 명령으로 `mqtt_demo_mutual_auth` 앱을 실행합니다.

   ```
   cd bin
   ./mqtt_demo_mutual_auth
   ```

   다음과 유사한 출력 화면이 표시되어야 합니다.  
![\[AWS IoT Device SDK for Embedded C 샘플 애플리케이션을 실행하기 위한 명령줄 출력입니다.\]](http://docs.aws.amazon.com/ko_kr/iot/latest/developerguide/images/successful-run2.png)

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

AWS IoT 콘솔을 사용하여 샘플 앱이 게시하는 MQTT 메시지를 확인할 수도 있습니다. [AWS IoT 콘솔](https://console.aws.amazon.com/iot/home)에서 MQTT 클라이언트를 사용하는 방법에 대한 내용은 [MQTT 클라이언트를 사용하여 AWS IoT MQTT 메시지 보기](view-mqtt-messages.md) 단원을 참조하세요.