AWS IoT Greengrass V1 Discovery デモアプリケーション - FreeRTOS

AWS IoT Greengrass V1 Discovery デモアプリケーション

重要

このデモは、非推奨の Amazon-FreeRTOS リポジトリでホストされています。新しいプロジェクトを作成するときは、ここから始めることをお勧めします。現在非推奨の Amazon-FreeRTOS リポジトリをベースにした既存の FreeRTOS プロジェクトが既にある場合は、「Amazon FreeRTOS Github リポジトリ移行ガイド」を参照してください。

FreeRTOS 向けの AWS IoT Greengrass Discovery デモを実行する前に、AWS、AWS IoT Greengrass、および AWS IoT を設定する必要があります。AWS を設定するには、AWS アカウントとアクセス許可を設定する の指示に従います。AWS IoT Greengrass をセットアップするには、Greengrass グループを作成して Greengrass コアを追加する必要があります。AWS IoT Greengrass のセットアップの詳細については、「AWS IoT Greengrass の使用開始」を参照してください。

AWS と AWS IoT Greengrass を設定した後、AWS IoT Greengrass のいくつかの追加のアクセス許可を設定する必要があります。

AWS IoT Greengrass アクセス許可を設定するには
  1. IAM コンソールを参照します。

  2. ナビゲーションペインで [ロール] を選択した後、[Greengrass_ServiceRole] を見つけて選択します。

  3. [Attach policies (ポリシーをアタッチする)]、[AmazonS3FullAccess]、[AWSIoTFullAccess]、[ポリシーのアタッチ] の順に選択します。

  4. AWS IoT コンソールを参照します。

  5. ナビゲーションペインで [Greengrass]、[グループ] の順に選択し、以前に作成した Greengrass グループを選びます。

  6. [設定]、[ロールの追加] の順に選択します。

  7. [Greengrass_ServiceRole]、[保存] の順に選択します。

ボードを AWS IoT に接続して、FreeRTOS デモを設定します。

  1. AWS IoT で MCU ボードを登録する

    ボードを登録した後、新しい Greengrass ポリシーを作成し、デバイスの証明書にアタッチする必要があります。

    新規 AWS IoT Greengrass ポリシーを作成する方法
    1. AWS IoT コンソールを参照します。

    2. ナビゲーションペインで、[Secure] (保護) を選択し、[Policies] (ポリシー) を選択してから [Create] (作成) を選択します。

    3. ポリシーを識別するための名前を入力します。

    4. [Add statements] (ステートメントを追加) セクションで、[Advanced mode] (アドバンストモード) を選択します。次の JSON をポリシーエディタウィンドウにコピーアンドペーストします。

      { "Effect": "Allow", "Action": [ "greengrass:*" ], "Resource": "*" }

      このポリシーによって、すべてのリソースに AWS IoT Greengrass アクセス許可が付与されます。

    5. [作成] を選択します。

    デバイスの証明書に AWS IoT Greengrass ポリシーをアタッチするには
    1. AWS IoT コンソールを参照します。

    2. ナビゲーションペインで、[管理]、[モノ] の順に選択して、以前に作成したモノを選択します。

    3. [セキュリティ] を選択し、デバイスにアタッチされている証明書を選択します。

    4. [ポリシー]、[アクション]、[ポリシーのアタッチ] の順に選択します。

    5. 前に作成した Greengrass ポリシーを検索して選択し、[アタッチ] を選択します。

  2. FreeRTOS をダウンロードする

    注記

    FreeRTOS コンソールから FreeRTOS をダウンロードする場合は、[Connect to AWS IoT Greengrass- Platform] (AWS IoT に接続 - プラットフォーム) の代わりに、[Connect to - Platform] ( に接続 - プラットフォーム) を選択します。

  3. FreeRTOS デモを設定する.

    freertos/vendors/vendor/boards/board/aws_demos/config_files/aws_demo_config.h を開き、#define CONFIG_CORE_MQTT_MUTUAL_AUTH_DEMO_ENABLED をコメントアウトして CONFIG_GREENGRASS_DISCOVERY_DEMO_ENABLED を定義します。

AWS IoT と AWS IoT Greengrass を設定し、FreeRTOS をダウンロードして設定した後、デバイスで Greengrass デモを構築、フラッシュ、実行できます。ボードのハードウェアとソフトウェアの開発環境を設定するには、ボード固有の入門ガイド の手順に従います。

Greengrass デモは、一連のメッセージを Greengrass コア、および AWS IoT MQTT クライアントに発行します。AWS IoT MQTT クライアントでメッセージを表示するには、AWS IoT コンソールを開き、[テスト] を選択し、[MQTT テストクライアント] を選択して、freertos/demos/ggd にサブスクリプションを追加します。

MQTT クライアントには以下の文字列が表示されます。

Message from Thing to Greengrass Core: Hello world msg #1! Message from Thing to Greengrass Core: Hello world msg #0! Message from Thing to Greengrass Core: Address of Greengrass Core found! 123456789012.us-west-2.compute.amazonaws.com

Amazon EC2 インスタンスを使用する

Amazon EC2 インスタンスを操作している場合
  1. Amazon EC2 インスタンスに関連付けられているパブリック DNS (IPv4) を見つけます。Amazon EC2 コンソールに移動し、左側のナビゲーションパネルで [Instances] (インスタンス) を選択します。Amazon EC2 インスタンスを選択し、[Description] (説明) パネルを選択します。[パブリック DNS (IPv4)] のエントリを探し、メモします。

  2. [Security groups] (セキュリティグループ) のエントリを見つけて、Amazon EC2 インスタンスにアタッチされているセキュリティグループを選択します。

  3. [インバウンドルール] タブを選択し、[インバウンドルールの編集] を選択して、次のルールを追加します。

    インバウンドルール
    タイプ プロトコル ポート範囲 ソース 説明 - オプション
    HTTP TCP 80 0.0.0.0/0 -
    HTTP TCP 80 ::/0 -
    SSH TCP 22 0.0.0.0/0 -
    カスタム TCP TCP 8883 0.0.0.0/0 MQTT 通信
    カスタム TCP TCP 8883 ::/0 MQTT 通信
    HTTPS TCP 443 0.0.0.0/0 -
    HTTPS TCP 443 ::0/0 -
    すべての ICMP - IPv4 ICMP すべて 0.0.0.0/0 -
    すべての ICMP - IPv4 ICMP すべて ::0/0 -
  4. AWS IoT コンソールで [Greengrass]、[グループ] の順に選択し、以前に作成した Greengrass グループを選択します。[設定] を選択します。[ローカル接続の検出] を [接続情報の手動管理] に変更します。

  5. ナビゲーションペインで、[コア] を選択し、グループコアを選択します。

  6. [接続] を選択し、コアエンドポイントが 1 つだけあり (残りのエンドポイントはすべて削除)、IP アドレスではないことを確認します (変化する可能性があるため)。最初のステップでメモしたパブリック DNS (IPv4) を使用することをお勧めします。

  7. 作成した FreeRTOS IoT モノを GG グループに追加します。

    1. 戻る矢印を選択して、AWS IoT Greengrass グループページに戻ります。ナビゲーションペインで、[デバイス] を選択し、[デバイスの追加] を選択します。

    2. [IoT モノの選択] を選択します。デバイスを選択し、[完了] を選択します。

  8. 必要なサブスクリプションを追加します。 [Greengrass Group] (Greengrass グループ) ページで [Subscription] (サブスクリプション) を選択し、[Add Subscription] (サブスクリプションの追加) を選択して、ここに示す情報を入力します。

    サブスクリプション
    ソース ターゲット トピック
    TIGG1 IoT クラウド freertos/demos/ggd

    「ソース」は、ボードを登録したときに AWS IoT コンソールで作成された AWS IoT モノに付けられた名前です。「TIGG1」は、ここに示した例です。

  9. AWS IoT Greengrass グループのデプロイを開始し、デプロイが成功したことを確認します。これで、AWS IoT Greengrass 検出デモを正常に実行できるようになります。