通信をテストする - 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. コンピュータで 2 つのコマンドラインウィンドウを開きます。モジュール 5 と同様に、1 つのウィンドウは GG_Switch クライアントデバイス用、もう 1 つは GG_TrafficLight クライアントデバイス用です。それらを使用して、モジュール 5 で実行したのと同じコマンドを実行します。

    GG_Switch クライアントデバイスの次のコマンドを実行します。

    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

    GG_TrafficLight クライアントデバイスに次のコマンドを実行します。

    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 に更新し、その新しい状態が信号に表示されます。

  2. Lambda 関数の関数ハンドラが 3 回目のグリーンライトごと (3 分ごと) にトリガーされ、新しい DynamoDB レコードが作成されます。lightController.py および trafficLight.py が 3 分間実行されたら、AWS Management Console に移動し、DynamoDB コンソールを開きます。

  3. AWS リージョン のメニューで、[US East (N. Virginia)] (米国東部 (バージニア北部)) を選択します。これは、GG_Car_Aggregator 関数がテーブルを作成するリージョンです。

  4. ナビゲーションペインで [テーブル] を選択し、[CarStats] テーブルを選択します。

  5. [View items] (項目を表示) を選択すると、テーブル内のエントリが表示されます。

    通過した車に関する基本的な統計情報のあるエントリが表示されます (3 分間ごとに 1 つのエントリ)。必要に応じて更新ボタンを選択し、テーブルの更新を確認します。

  6. テストに成功しない場合、Greengrass ログでトラブルシューティング情報を検索できます。

    1. root ユーザーに切り替え、log ディレクトリに移動します。AWS IoT Greengrass ログへのアクセスには root アクセス許可が必要です。

      sudo su cd /greengrass/ggc/var/log
    2. runtime.log でエラーがないかどうかを確認します。

      cat system/runtime.log | grep 'ERROR'
    3. Lambda 関数によって生成されたログを確認します。

      cat user/region/account-id/GG_Car_Aggregator.log

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

    詳細については、「AWS IoT Greengrass のトラブルシューティング」を参照してください。

これでこのチュートリアルは終了です。これで、AWS IoT Greengrass Core、グループ、サブスクリプション、クライアントデバイス、およびエッジで実行される Lambda 関数のデプロイプロセスを含む、AWS IoT Greengrass プログラミングモデルとその基本的な概念を理解できたはずです。

DynamoDB テーブルと Greengrass Lambda 関数とサブスクリプションを削除できます。AWS IoT Greengrass Core デバイスと AWS IoT クラウド間の通信を停止するには、Core デバイスでターミナルを開き、以下のコマンドのいずれかを実行します。

  • AWS IoT Greengrass Core デバイスをシャットダウンするには

    sudo halt
  • AWS IoT Greengrass デーモンを停止するには

    cd /greengrass/ggc/core/ sudo ./greengrassd stop