メニュー
AWS Greengrass
開発者ガイド

デバイス設定

AWS IoT デバイス SDK for C++ を Github にダウンロードします。samples という名前のフォルダ内に、このシナリオの例が含まれています。

2 つのデバイス (スイッチとロボットアーム) で実行されているコードは、AWS IoT デバイス SDK for C++ を使用して構築されています。パッケージには、SDK のバージョン、スイッチおよびロボットアームのサンプルが含まれています。以下の手順に従って、AWS Greengrass コア でデバイスをコンパイルします。

  1. AWSSDK ファイルを任意のフォルダに解凍します。

  2. リポジトリフォルダに変更します。 build という名前のフォルダを作成し、ビルドファイルとこのフォルダへの変更を保持します。インソースビルドは許可されません。

  3. CLI で cmake ../. を実行して SDK を構築します。

    このコマンドにより、必要なサードパーティーのライブラリがダウンロードされ、メイクファイルが生成されます。

  4. make robot-arm-sample と入力します。

  5. make switch-sample と入力します。

デバイスコードをコンパイルすると、デバイスのバイナリは /aws-iot-device-sdk-cpp/build/bin ディレクトリに配置されます。AWS IoT に接続して AWS Greengrass コア の接続情報を取得するには、デバイスを AWS IoT で認証する証明書が必要です。これらの証明書は、AWS IoT でデバイスのモノを作成したときにダウンロードした証明書と同じです。

RobotArm_Thing 用にダウンロードした証明書を /aws-iot-device-sdk-cpp/build/bin/certs/robotArm/ フォルダ内にコピーします。証明書とプライベートキーは、AWS IoT でデバイスを認証するために使用します。AWS IoT CA 証明書を VeriSign Class 3 Public Primary G5 root CA certificate からダウンロードします。このファイルの名前を root-ca.pem に変更し、ファイルを /certs/robotArm/ フォルダに配置します。root-ca.pem は、AWS IoT サービスのアイデンティティを検証するためにデバイスで使用します。 Switch_Thing 用にダウンロードした証明書とプライベートキーを root-ca.pem のコピーと一緒に/aws-iot-device-sdk-cpp/build/bin/certs/switch/ フォルダ内にコピーします。

/aws-iot-device-sdk-cpp/build/bin/config/ ディレクトリ内に、2 つのファイルが表示されます。

  • RobotArmConfig.json

  • SwitchConfig.json

これらのファイルを開き、root_ca_relative_pathdevice_certificate_relative_path、および device_private_key_relative_path の値を AWS IoT ルート CA 証明書、プライベートキー、およびモノの証明書の相対パスに変更します。

ロボットアームデバイスの設定

/aws-iot-dev-sdk-cpp/build/bin/config/RobotArmConfig.json で以下の値を設定します。

endpoint

greengrass.iot.AWS_REGION.amazonaws.com (AWS IoT エンドポイントの IP アドレスまたはドメイン名)。

root_ca_relative_path

certs/robotArm/root-ca.pem (AWS IoT のルート CA 証明書)。

device_certificate_relative_path

certs/robotArm/RobotArm_Thing-cert (RobotArm_Thing のデバイス証明書)。

device_private_key_relative_path

certs/robotArm/RobotArm_Thing-private-key (RobotArm_Thing のプライバートキー)。

ロボットアームを表す AWS IoT モノに別の名前を使用した場合は、client_idthing_name を、その使用した名前に置き換えます。Lambda 関数とデバイスコードも変更する必要があります。

スイッチデバイスの設定

/aws-iot-dev-sdk-cpp/build/bin/config/SwitchConfig.json で以下の値を設定します。

endpoint

AWS IoT エンドポイントの IP アドレスまたはドメイン名。本番稼働用環境の場合、エンドポイントは greengrass.iot.AWS_REGION.amazonaws.com です。

root_ca_certificate_path

certs/switch/root-ca.pem (AWS IoT のルート CA 証明書)。

device_certificate_relative_path

certs/switch/Switch_Thing-cert (Switch_Thing のデバイス証明書)。

device_private_key_relative_path

certs/switch/Switch_Thing-private-key (Switch_Thing のプライバートキー)。

スイッチを表す AWS IoT モノに別の名前を使用した場合は、client_idthing_name を、その使用した名前に置き換えます。Lambda 関数とデバイスコードも変更する必要があります。次にデバイスを実行します。