

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# チュートリアル: 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 Device および Mobile 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 IoTconsole](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 コマンドを入力して、ビルドに必要な Makefiles を生成します。

   ```
   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/ja_jp/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)」を参照してください。