最初のステップ - FreeRTOS

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

最初のステップ

重要

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

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

注記

AWSアカウントとアクセス許可の設定

にサインアップするAWS アカウント

がない場合はAWS アカウント、次の手順を実行して作成します。

にサインアップするにはAWS アカウント
  1. https://portal.aws.amazon.com/billing/signup を開きます。

  2. オンラインの手順に従います。

    サインアップ手順の一環として、電話またはテキストメッセージを受け取り、電話キーパッドで検証コードを入力します。

    にサインアップするとAWS アカウント、 AWS アカウントのルートユーザー が作成されます。ルートユーザーには、アカウントのすべての AWS のサービス とリソースへのアクセス権があります。セキュリティベストプラクティスとして、ユーザーに管理アクセス権を割り当て、ルートユーザーアクセスが必要なタスクの実行にはルートユーザーのみを使用するようにしてください。

AWSサインアッププロセスが完了すると、 から確認メールが送信されます。https://aws.amazon.com/[マイアカウント] をクリックして、いつでもアカウントの現在のアクティビティを表示し、アカウントを管理することができます。

管理アクセスを持つユーザーを作成する

にサインアップしたらAWS アカウント、日常的なタスクにルートユーザーを使用しないようにAWS アカウントのルートユーザー、 のセキュリティを確保しAWS IAM アイデンティティセンター、 を有効にして管理ユーザーを作成します。

を保護するAWS アカウントのルートユーザー
  1. ルートユーザーを選択し、AWS アカウントE メールアドレスを入力して、アカウント所有者AWS マネジメントコンソールとして にサインインします。次のページでパスワードを入力します。

    ルートユーザーを使用してサインインする方法については、「AWS サインイン ユーザーガイド」の「ルートユーザーとしてサインインする」を参照してください。

  2. ルートユーザーの多要素認証 (MFA) を有効にします。

    手順については、IAM ユーザーガイドのAWS アカウント「ルートユーザー (コンソール) の仮想 MFA デバイスを有効にする」を参照してください。

管理アクセスを持つユーザーを作成する
  1. IAM アイデンティティセンターを有効にします。

    手順については、「AWS IAM アイデンティティセンター ユーザーガイド」の「AWS IAM アイデンティティセンター の有効化」を参照してください。

  2. IAM アイデンティティセンターで、ユーザーに管理アクセスを付与します。

    を ID ソースIAM アイデンティティセンターディレクトリとして使用する方法のチュートリアルについては、AWS IAM アイデンティティセンター「 ユーザーガイド」の「デフォルトを使用してユーザーアクセスを設定するIAM アイデンティティセンターディレクトリ」を参照してください。

管理アクセス権を持つユーザーとしてサインインする
  • IAM アイデンティティセンターのユーザーとしてサインインするには、IAM アイデンティティセンターのユーザーの作成時に E メールアドレスに送信されたサインイン URL を使用します。

    IAM Identity Center ユーザーを使用してサインインする方法については、AWS サインイン「 ユーザーガイド」のAWS「 アクセスポータルにサインインする」を参照してください。

追加のユーザーにアクセス権を割り当てる
  1. IAM アイデンティティセンターで、最小特権のアクセス許可を適用するというベストプラクティスに従ったアクセス許可セットを作成します。

    手順については、「AWS IAM アイデンティティセンター ユーザーガイド」の「アクセス許可セットを作成する」を参照してください。

  2. グループにユーザーを割り当て、そのグループにシングルサインオンアクセス権を割り当てます。

    手順については、「AWS IAM アイデンティティセンター ユーザーガイド」の「グループの追加」を参照してください。

アクセス権限を付与するにはユーザー、グループ、またはロールにアクセス許可を追加します。

への MCU ボードの登録AWS IoT

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マネジメントコンソールを開き、右上隅のアカウント名の下にあるメニューを見つけて展開し、マイアカウントを選択します。アカウント ID が [Account Settings] (アカウント設定) に表示されます。

    AWSアカウントのAWSリージョンを検索するには、 を使用しますAWS Command Line Interface。をインストールするにはAWS CLI、AWS Command Line Interface「 ユーザーガイド」の手順に従います。をインストールしたらAWS CLI、コマンドプロンプトウィンドウを開き、次のコマンドを入力します。

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

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

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

    この例では、リージョンは us-west-2 です。

    注記

    例に示されているように、ATS エンドポイントを使用することをお勧めします。

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

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

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

  5. [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 メッセージブローカーからメッセージを受信するためのアクセス許可をデバイスに付与します。

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

デバイス用の IoT モノ、プライベートキー、証明書を作成するには
  1. AWS IoT コンソールを参照します。

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

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

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

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

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

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

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

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

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

ボードが に登録されたらAWS IoT、 に進むことができますFreeRTOS をダウンロードする

FreeRTOS をダウンロードする

FreeRTOS は、FreeRTOS GitHub リポジトリからダウンロードできます。

FreeRTOS をダウンロードしたら、FreeRTOS デモを設定する の手順を実行できます。

FreeRTOS デモを設定する

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

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

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

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

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

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

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

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

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

  5. 以下の定数に値を指定します。

    • #define clientcredentialMQTT_BROKER_ENDPOINT "YourAWS IoTendpoint";

    • #define clientcredentialIOT_THING_NAME "TheAWS IoTthing name of your board"

Wi-Fi を設定するには

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

  1. demos/include/aws_clientcredential.h.

  2. 以下の #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 を開きます。

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

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

  4. [Generate and save aws_clientcredential_keys.h] (aws_clientcredential_keys.h の生成と保存) を選択して、ファイルを demos/include に保存します。これにより、ディレクトリ内の既存ファイルが上書きされます。

    注記

    証明書とプライベートキーは、デモ専用にハードコードされています。本番稼動レベルのアプリケーションでは、これらのファイルを安全な場所に保存する必要があります。

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