

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

# 最初のステップ
<a name="freertos-prereqs"></a>

**重要**  <a name="deprecation-message-general"></a>
このページで言及している Amazon-FreeRTOS リポジトリは非推奨です。新しいプロジェクトを作成するときは、[ここから始める](freertos-getting-started-modular.md)ことをお勧めします。現在非推奨の Amazon-FreeRTOS リポジトリをベースにした既存の FreeRTOS プロジェクトが既にある場合は、「[Amazon FreeRTOS Github リポジトリ移行ガイド](github-repo-migration.md)」を参照してください。

で FreeRTOS の使用を開始するには AWS IoT、 AWS アカウント、 へのアクセス権限を持つユーザー AWS IoT 、および FreeRTOS クラウドサービスが必要です。また、FreeRTOS をダウンロードし、ボードの FreeRTOS デモプロジェクトが動作するように設定する必要があります AWS IoT。以下のセクションでは、これらの要件について説明します。

**注記**  
ESP32-DevKitC、ESP-WROVER-KIT、または ESP32-WROOM-32SE を使用している場合は、これらの最初のステップをスキップして [Espressif ESP32-DevKitC と ESP-WROVER-KIT の開始方法](getting_started_espressif.md) に進みます。
Nordic nRF52840-DK を使用している場合は、これらの最初のステップをスキップして「[Nordic nRF52840-DK の開始方法](getting_started_nordic.md)」に進みます。

1. [AWS アカウントとアクセス許可の設定](#freertos-account-and-permissions) 

1. [への MCU ボードの登録 AWS IoT](#get-started-freertos-thing)

1. [FreeRTOS をダウンロードする](#freertos-download)

1. [FreeRTOS デモを設定する](#freertos-configure)

## AWS アカウントとアクセス許可の設定
<a name="freertos-account-and-permissions"></a>

### にサインアップする AWS アカウント
<a name="sign-up-for-aws"></a>

の使用を開始するには AWS、 が必要です AWS アカウント。の作成の詳細については AWS アカウント、 *AWS アカウント管理 リファレンスガイド*[の「 の開始方法 AWS アカウント](https://docs.aws.amazon.com//accounts/latest/reference/getting-started.html)」を参照してください。

アクセスを提供するには、ユーザー、グループ、またはロールにアクセス許可を追加します。
+ 以下のユーザーとグループ AWS IAM アイデンティティセンター:

  アクセス許可セットを作成します。「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[アクセス許可セットを作成する](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)」の手順に従ってください。
+ IAM 内で、ID プロバイダーによって管理されているユーザー:

  ID フェデレーションのロールを作成します。詳細については *IAM ユーザーガイド* の [サードパーティー ID プロバイダー (フェデレーション) 用のロールを作成する](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) を参照してください。
+ IAM ユーザー:
  + ユーザーが担当できるロールを作成します。手順については *IAM ユーザーガイド* の [IAM ユーザーのロールの作成](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) を参照してください。
  + (お奨めできない方法) ポリシーをユーザーに直接アタッチするか、ユーザーをユーザーグループに追加します。*IAM ユーザーガイド* の [ユーザー (コンソール) へのアクセス許可の追加](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) の指示に従います。

## への MCU ボードの登録 AWS IoT
<a name="get-started-freertos-thing"></a>

 AWS クラウドと通信 AWS IoT するには、ボードを に登録する必要があります。ボードを に登録するには AWS IoT、以下が必要です。

** AWS IoT ポリシー**  
この AWS IoT ポリシーは、 AWS IoT リソースにアクセスするためのアクセス許可をデバイスに付与します。クラウドに保存されます AWS 。

** AWS IoT モノ**  
 AWS IoT モノを使用すると、 でデバイスを管理できます AWS IoT。クラウドに保存されます AWS 。

**プライベートキーと X.509 証明書**  
プライベートキーと証明書により、デバイスは で認証できます AWS IoT。

ボードを登録するには、次の手順に従ってください。

**AWS IoT ポリシーを作成するには**

1. IAM ポリシーを作成するには、 AWS リージョンと AWS アカウント番号を知っている必要があります。

    AWS アカウント番号を検索するには、 [AWS マネジメントコンソール](https://console.aws.amazon.com/)を開き、右上隅のアカウント名の下にあるメニューを見つけて展開し、**マイアカウント**を選択します。アカウント ID が **[Account Settings]** (アカウント設定) に表示されます。

    AWS アカウントの AWS リージョンを検索するには、 を使用します AWS Command Line Interface。をインストールするには AWS CLI、[AWS Command Line Interface 「 ユーザーガイド](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html)」の手順に従います。をインストールしたら AWS CLI、コマンドプロンプトウィンドウを開き、次のコマンドを入力します。

   ```
   aws iot describe-endpoint --endpoint-type=iot:Data-ATS
   ```

   出力は次のようになります:

   ```
   {
       "endpointAddress": "xxxxxxxxxxxxxx-ats.iot.us-west-2.amazonaws.com"
   }
   ```

   この例では、リージョンは `us-west-2` です。
**注記**  
例に示されているように、ATS エンドポイントを使用することをお勧めします。

1. [AWS IoT コンソール](https://console.aws.amazon.com/iotv2/)を参照します。

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

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

1. **[Add statements]** (ステートメントを追加) セクションで、**[Advanced mode]** (アドバンストモード) を選択します。次の JSON をポリシーエディタウィンドウにコピーして貼り付けます。`{{aws-region}}` と を AWS リージョンとアカウント ID `{{aws-account}}` に置き換えます。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "iot:Connect",
               "Resource": "arn:aws:iot:{{us-east-1}}:{{123456789012}}:*"
           },
           {
               "Effect": "Allow",
               "Action": "iot:Publish",
               "Resource": "arn:aws:iot:{{us-east-1}}:{{123456789012}}:*"
           },
           {
               "Effect": "Allow",
               "Action": "iot:Subscribe",
               "Resource": "arn:aws:iot:{{us-east-1}}:{{123456789012}}:*"
           },
           {
               "Effect": "Allow",
               "Action": "iot:Receive",
               "Resource": "arn:aws:iot:{{us-east-1}}:{{123456789012}}:*"
           }
       ]
   }
   ```

------

   このポリシーは以下のアクセス権限を与えます。  
**`iot:Connect`**  
任意のクライアント ID を使用して AWS IoT メッセージブローカーに接続するアクセス許可をデバイスに付与します。  
**`iot:Publish`**  
MQTT トピックについて MQTT メッセージを発行するためのアクセス許可をデバイスに付与します。  
**`iot:Subscribe`**  
MQTT トピックフィルターをサブスクライブするためのアクセス許可をデバイスに付与します。  
**`iot:Receive`**  
MQTT トピックについて AWS IoT メッセージブローカーからメッセージを受信するためのアクセス許可をデバイスに付与します。

1. **[Create]** (作成) を選択します。

**デバイス用の IoT モノ、プライベートキー、証明書を作成するには**

1. [AWS IoT コンソール](https://console.aws.amazon.com/iotv2/)を参照します。

1. ナビゲーションペインで、**[Manage]** (管理)、**[Things]** (モノ) の順に選択します。

1. アカウントに IoT モノが登録されていない場合は、**[You don't have any things yet]** (まだモノがありません) ページが表示されます。このページが表示された場合は、**[Register a thing]** (モノの登録) を選択します。それ以外の場合は、**[Create]** (作成) を選択します。

1. ** AWS IoT モノの作成**ページで、**モノを 1 つ**作成する を選択します。

1. **[Add your device to the thing registry]** (Thing Registry にデバイスを追加) ページで、モノの名前を入力してから **[Next]** (次へ) を選択します。

1. **[Add a certificate for your thing]** (モノに証明書を追加) ページの **[One-click certificate creation]** (1-Click 証明書作成) から **[Create certificate]** (証明書の作成) を選択します。

1. それぞれの **[Download]** (ダウンロード) リンクを選択して、プライベートキーと証明書をダウンロードします。

1. 証明書を有効にするには、**[Activate]** (有効化) を選択します。証明書は、使用前にアクティブ化する必要があります。

1. **ポリシーをアタッチ**を選択して、デバイスに AWS IoT オペレーションへのアクセスを許可するポリシーを証明書にアタッチします。

1. 作成したポリシーを選択し、**[Register thing]** (モノの登録) を選択します。

ボードが に登録されたら AWS IoT、 に進むことができます[FreeRTOS をダウンロードする](#freertos-download)。

## FreeRTOS をダウンロードする
<a name="freertos-download"></a>

FreeRTOS は、[FreeRTOS GitHub リポジトリ](https://github.com/freertos/freertos)からダウンロードできます。

FreeRTOS をダウンロードしたら、[FreeRTOS デモを設定する](#freertos-configure) の手順を実行できます。

## FreeRTOS デモを設定する
<a name="freertos-configure"></a>

ボードでデモをコンパイルして実行するには、FreeRTOS ディレクトリで一部の設定ファイルを編集する必要があります。

**AWS IoT エンドポイントを設定するには**

ボードで実行されているアプリケーションが正しい AWS IoT エンドポイントにリクエストを送信できるように、エンドポイントに FreeRTOS を指定する必要があります。

1. [AWS IoT コンソール](https://console.aws.amazon.com/iotv2/)を参照します。

1. 左側のナビゲーションペインで **[設定]** を選択します。

    AWS IoT エンドポイントは**デバイスデータエンドポイント**に表示されます。次のようになっているはずです。`{{1234567890123}}-ats.iot.{{us-east-1}}.amazonaws.com`このエンドポイントを書きとめておきます。

1. ナビゲーションペインで、**[Manage]** (管理)、**[Things]** (モノ) の順に選択します。

   デバイスには AWS IoT モノの名前が必要です。この名前を書き留めておきます。

1. `demos/include/aws_clientcredential.h` を開きます。

1. 以下の定数に値を指定します。
   + `#define clientcredentialMQTT_BROKER_ENDPOINT "{{Your AWS IoT endpoint}}";`
   + `#define clientcredentialIOT_THING_NAME "{{The AWS IoT thing name of your board}}"`

**Wi-Fi を設定するには**

ボードが Wi-Fi 接続経由でインターネットに接続している場合は、ネットワークに接続するための Wi-Fi 認証情報を FreeRTOS に渡す必要があります。Wi-Fi がボードでサポートされていない場合は、以下のステップをスキップできます。

1. `demos/include/aws_clientcredential.h`.

1. 以下の `#define` 定数の値を指定します。
   + `#define clientcredentialWIFI_SSID "{{The SSID for your Wi-Fi network}}"`
   + `#define clientcredentialWIFI_PASSWORD "{{The password for your Wi-Fi network}}"`
   + `#define clientcredentialWIFI_SECURITY` {{Wi-Fi ネットワークのセキュリティタイプ}}

     有効なセキュリティタイプは以下の通りです。
     + `eWiFiSecurityOpen` (オープン、セキュリティなし)
     + `eWiFiSecurityWEP` (WEP セキュリティ)
     + `eWiFiSecurityWPA` (WPA セキュリティ)
     + `eWiFiSecurityWPA2` (WPA2 セキュリティ)

**AWS IoT 認証情報をフォーマットするには**

FreeRTOS に登録済みモノとアクセス許可ポリシーに関連付けられた AWS IoT 証明書とプライベートキーが必要です。 AWS IoT 
**注記**  
 AWS IoT 認証情報を設定するには、デバイスを登録したときに AWS IoT コンソールからダウンロードしたプライベートキーと証明書が必要です。デバイスを AWS IoT モノとして登録したら、 AWS IoT コンソールからデバイス証明書を取得できますが、プライベートキーを取得することはできません。

FreeRTOS は C 言語のプロジェクトであり、証明書とプライベートキーをプロジェクトに追加するには、特別な形式にする必要があります。

1. ブラウザウィンドウで、`tools/certificate_configuration/CertificateConfigurator.html` を開きます。

1. **[Certificate PEM file]** (証明書 PEM ファイル) で、 AWS IoT コンソールからダウンロードした `{{ID}}-certificate.pem.crt` を選択します。

1. **[Private Key PEM file]** (プライベートキー PEM ファイル) で、 AWS IoT コンソールからダウンロードした `{{ID}}-private.pem.key` を選択します。

1. **[Generate and save aws\_clientcredential\_keys.h]** (aws\_clientcredential\_keys.h の生成と保存) を選択して、ファイルを `demos/include` に保存します。これにより、ディレクトリ内の既存ファイルが上書きされます。
**注記**  
証明書とプライベートキーは、デモ専用にハードコードされています。本番稼動レベルのアプリケーションでは、これらのファイルを安全な場所に保存する必要があります。

FreeRTOS の設定を完了した後は、ボードの入門ガイドを参照し、プラットフォームのハードウェアおよびソフトウェア開発環境をセットアップして、ボードでデモをコンパイルして実行できます。ボード固有の説明については、「[ボード固有の入門ガイド](getting-started-guides.md)」を参照してください。入門ガイドチュートリアルで使用されているデモアプリケーションは、coreMQTT Mutual Authentication デモで、`demos/coreMQTT/mqtt_demo_mutual_auth.c` にあります。