翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
チュートリアル: AWS IoT Device SDK for Embedded C の使用
このセクションでは、AWS IoT Device SDK for Embedded C を実行する方法について説明します。
このセクションの手順
ステップ 1: AWS IoT Device SDK for Embedded C をインストールする
AWS IoT Device SDK for Embedded C は通常、最適化された C 言語ランタイムを必要とするリソース制約のあるデバイスを対象としています。この SDK は、任意のオペレーティングシステムで使用でき、任意のプロセッサタイプ (MCU や MPU など) でホストできます。使用可能なメモリと処理リソースが多い場合は、上位の AWS IoT Device および Mobile SDK (C++、Java、JavaScript、Python など) のいずれかを使用することをお勧めします。
一般的に、AWS IoT Device SDK for Embedded C は、組み込みオペレーティングシステムを実行する MCU またはローエンド MPU を使用するシステムを対象としています。このセクションのプログラミング例では、ご利用のデバイスが Linux を使用していると仮定しています。
例
-
GitHub
から 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
という名前のディレクトリが作成されます。 -
そのディレクトリに移動し、最新のリリースを確認します。最新のリリースタグについては、github.com/aws/aws-iot-device-sdk-embedded-C/tags
を参照してください。 cd aws-iot-device-sdk-embedded-c git checkout
latest-release-tag
-
OpenSSL バージョン 1.1.0 以降をインストールします。OpenSSL 開発ライブラリは、通常、パッケージマネージャーを介してインストールされた場合、「libssl-dev」または「openssl-devel」と呼ばれます。
sudo apt-get install libssl-dev
ステップ 2: サンプルアプリケーションを設定する
AWS IoT Device SDK for Embedded C には、サンプルアプリケーションが含まれています。分かりやすいように、このチュートリアルでは mqtt_demo_mutual_auth
アプリケーションを使用して、AWS IoT Core メッセージブローカーに接続し MQTT トピックにサブスクライブして発行する方法を示します。
-
AWS IoT Core チュートリアルの開始方法 で作成した証明書およびプライベートキーを
build/bin/certificates
ディレクトリにコピーします。注記
デバイスおよびルート CA 証明書の有効期限切れや失効の対象となります。これらの証明書の有効期限が切れたり、失効した場合は、新しい CA 証明書またはプライベートキーおよびデバイス証明書をデバイスにコピーする必要があります。
-
サンプルは、パーソナル 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
](コンソール)を開きます。ナビゲーションペインで、[Manage (管理)]、[Things (モノ)] の順に選択します。デバイスの IoT のモノを選択し、[Interact] (操作) を選択します。モノ の詳細ページの [HTTPS] セクションにエンドポイントが表示されます。 -
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" // ================================================= -
次のコマンドを使用して、デバイスに CMake がインストールされているかどうかを確認します。
cmake --version
コンパイラのバージョン情報が表示された場合は、次のセクションに進みます。
エラーが発生する、または情報が表示されない場合は、次のコマンドを使用して cmake パッケージをインストールする必要があります。
sudo apt-get install cmake
cmake --version コマンドを再度実行し、CMake がインストールされ、続行する準備ができていることを確認します。
-
次のコマンドを使用して、デバイスに開発ツールがインストールされているかどうかを確認します。
gcc --version
コンパイラのバージョン情報が表示された場合は、次のセクションに進みます。
エラーが発生したり、コンパイラ情報が表示されない場合は、次のコマンドを使用して
build-essential
パッケージをインストールする必要があります。sudo apt-get install build-essential
gcc --version コマンドを再度実行し、ビルドツールがインストールされ、続行する準備ができていることを確認します。
ステップ 3: サンプルアプリケーションをビルドして実行する
この手順では、デバイスで mqtt_demo_mutual_auth
アプリケーションを生成し、AWS IoT Device SDK for Embedded C を使用して AWS IoT コンソール
AWS IoT Device SDK for Embedded C サンプルアプリケーションを実行するには
-
aws-iot-device-sdk-embedded-c
に移動し、ディレクトリを作成します。mkdir build && cd build
-
次の CMake コマンドを入力して、ビルドに必要な Makefiles を生成します。
cmake ..
-
次のコマンドを入力して、実行可能アプリケーションファイルをビルドします。
make
-
次のコマンドで
mqtt_demo_mutual_auth
アプリを実行します。cd bin ./mqtt_demo_mutual_auth
次のような出力が表示されます:
これで、デバイスは AWS IoT Device SDK for Embedded C を使用して AWS IoT に接続されました。
AWS IoT コンソールを使用して、サンプルアプリケーションが発行している MQTT メッセージを表示することもできます。AWS IoT コンソール