最初のステップ - 無料RTOS

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

最初のステップ

重要

このページで言及している 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 Identity Center、日常的なタスクにルートユーザーを使用しないように管理ユーザーを作成します。

のセキュリティ保護 AWS アカウントのルートユーザー
  1. ルートユーザーを選択し、 AWS アカウント E メールアドレスを入力して、アカウント所有者AWS Management Consoleとして にサインインします。次のページでパスワードを入力します。

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

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

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

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

    手順については、「AWS IAM Identity Center ユーザーガイド」の「AWS IAM Identity Centerの有効化」を参照してください。

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

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

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

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

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

    手順については、「AWS IAM Identity Center ユーザーガイド」の「権限設定を作成する」を参照してください。

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

    手順については、「AWS IAM Identity Center ユーザーガイド」の「グループの参加」を参照してください。

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

への 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 に置き換えます。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:Connect", "Resource":"arn:aws:iot:aws-region:aws-account-id:*" }, { "Effect": "Allow", "Action": "iot:Publish", "Resource": "arn:aws:iot:aws-region:aws-account-id:*" }, { "Effect": "Allow", "Action": "iot:Subscribe", "Resource": "arn:aws:iot:aws-region:aws-account-id:*" }, { "Effect": "Allow", "Action": "iot:Receive", "Resource": "arn:aws:iot:aws-region:aws-account-id:*" } ] }

    このポリシーは以下のアクセス権限を与えます。

    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 「モノの作成」ページで、「モノの作成」を選択します。

  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 GitHub リポジトリ から FreeRTOS をダウンロードできます。

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 "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.

  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 認証情報をフォーマットするには

デバイス AWS IoT に代わって FreeRTOS に登録されたモノとそのアクセス許可ポリシーに関連付けられた 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 にあります。