通信をテストする (デバイス同期を無効にする) - AWS IoT Greengrass

AWS IoT Greengrass Version 1 は 2023 年 6 月 30 日に延長ライフフェーズに参加しました。詳細については、「AWS IoT Greengrass V1 メンテナンスポリシー」を参照してください。この日以降、 AWS IoT Greengrass V1 は機能、機能強化、バグ修正、またはセキュリティパッチを提供する更新をリリースしません。で実行されるデバイスは中断 AWS IoT Greengrass V1 されず、引き続き動作し、クラウドに接続します。に移行することを強くお勧めします。 AWS IoT Greengrass Version 2これにより、重要な新機能が追加され、プラットフォーム のサポートが追加されます

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

通信をテストする (デバイス同期を無効にする)

  1. コンピュータと AWS IoT Greengrass コアデバイスが、同じネットワークを使用してインターネットに接続されていることを確認します。

    1. AWS IoT Greengrass コアデバイスで、次のコマンドを実行して IP アドレスを検索します。

      hostname -I
    2. コンピュータで、コアの IP アドレスを使用して次のコマンドを実行します。ping コマンドを停止するには、Ctrl + C を使用できます。

      ping IP-address

      次のような出力は、コンピュータと AWS IoT Greengrass コアデバイス間の通信が成功したことを示します (パケット損失 0%)。

      正常な ping コマンドの出力。
      注記

      を実行している EC2 インスタンスに ping を実行できない場合は AWS IoT Greengrass、インスタンスのインバウンドセキュリティグループルールで Echo リクエストメッセージの ICMP トラフィックが許可されていることを確認してください。詳細については、「Amazon EC2 ユーザーガイド」の「セキュリティグループへのルールの追加」を参照してください。 Amazon EC2

      Windows ホストコンピュータのセキュリティが強化された Windows ファイアウォールアプリケーションで、インバウンドエコーリクエストを許可するインバウンドルール ([File and Printer Sharing (Echo Request - ICMPv4-In)] など) を有効にするか、作成する必要もあります。

  2. AWS IoT エンドポイントを取得します。

    1. AWS IoT コンソールのナビゲーションペインから、[Settings] (設定) を選択します。

    2. [Device data endpoint] (デバイスデータエンドポイント) にある[Endpoint] (エンドポイント) の値を書き留めておきます。次の手順では、この値を使用してコマンド内の AWS_IOT_ENDPOINT プレースホルダーを置き換えます。

      注記
  3. コンピュータ ( AWS IoT Greengrass コアデバイスではなく) で、2 つのコマンドライン (ターミナルまたはコマンドプロンプト) ウィンドウを開きます。一方のウィンドウは GG_Switch クライアントデバイスを表し、もう一方のウィンドウは GG_TrafficLight client デバイスを表します。

    1. GG_Switch クライアントデバイスウィンドウから以下のコマンドを実行します。

      • path-to-certs-folder を、証明書、キー、および Python ファイルを含むフォルダへのパスに置き換えます。

      • AWS_IOT_ENDPOINT をエンドポイントに置き換えます。

      • 2 つのスイッチCertIdインスタンスを、GG_Switch クライアントデバイスのファイル名の証明書 ID に置き換えます。

      cd path-to-certs-folder python lightController.py --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert switchCertId-certificate.pem.crt --key switchCertId-private.pem.key --thingName GG_TrafficLight --clientId GG_Switch
    2. GG_TrafficLight client デバイスウィンドウから、次のコマンドを実行します。

      • path-to-certs-folder を、証明書、キー、および Python ファイルを含むフォルダへのパスに置き換えます。

      • AWS_IOT_ENDPOINT をエンドポイントに置き換えます。

      • 2 つのライトCertIdインスタンスを、GG_TrafficLight client デバイスのファイル名の証明書 ID に置き換えます。

      cd path-to-certs-folder python trafficLight.py --endpoint AWS_IOT_ENDPOINT --rootCA AmazonRootCA1.pem --cert lightCertId-certificate.pem.crt --key lightCertId-private.pem.key --thingName GG_TrafficLight --clientId GG_TrafficLight

      20 秒ごとに、スイッチはシャドウステータスを G、Y、R に更新し、次に示されているように、ライトはその新しいステータスを表示します。

      GG_Switch 出力

      GG_Switch に関連付けられた出力のスクリーンショット。

      GG_TrafficLight output:

      GG_ に関連付けられた出力のスクリーンショットTrafficLight。

    各クライアントデバイススクリプトを初めて実行すると AWS IoT Greengrass 、検出サービスが実行されて AWS IoT Greengrass コアに接続します (インターネット経由)。クライアントデバイスが AWS IoT Greengrass コアを検出して正常に接続すると、今後のオペレーションをローカルで実行できます。

    注記

    lightController.py および trafficLight.py スクリプトは、スクリプトと同じフォルダに作成される groupCA フォルダに接続情報を保存します。接続エラーが表示された場合は、ggc-host ファイルの IP アドレスが、Core に設定した IP アドレスエンドポイントと一致することを確認してください。

  4. AWS IoT コンソールで、 AWS IoT Greengrass グループを選択し、クライアントデバイスタブを選択し、GG_TrafficLight を選択してクライアントデバイス AWS IoT の詳細ページを開きます。

  5. [Device Shadows] (デバイスシャドウ) タブを選択します。GG_Switch の状態の変更後は、このシャドウは更新できません。これは、GG_ TrafficLight がクラウド とのシャドウ同期を無効にするに設定されているためです。

  6. GG_Switch (lightController.py) のクライアントデバイスウィンドウで、Ctrl + C を押します。GG_TrafficLight (trafficLight.py) ウィンドウが状態変更メッセージの受信を停止していることがわかります。

    次のセクションでコマンドを実行できるように、これらのウィンドウを開いたままにしてください。