最初のステップ - FreeRTOS

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

最初のステップ

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

注記

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

AWS アカウントを作成するには、「AWS アカウントの作成とアクティベート」を参照してください。

IAM ユーザーをに追加するにはAWSアカウントの詳細については、IAM ユーザーガイド。IAM ユーザーアカウントにアクセスを付与するにはAWS IoTと FreeRTOS をインストールするには、以下の IAM ポリシーを IAM ユーザーアカウントにアタッチします。

  • AmazonFreeRTOSFullAccess

  • AWSIoTFullAccess

AmazonFreeRTOSFullAccess ポリシーを IAM ユーザーにアタッチするには

  1. 「」を参照してください。IAM コンソールを選択し、ナビゲーションペインで [] を選択します。ユーザー

  2. 検索テキストボックスにユーザー名を入力し、リストから選択します。

  3. [Add permissions] を選択します。

  4. [Attach existing policies directly] を選択します。

  5. 検索ボックスに [] と入力します。AmazonFreeRTOSFullAccessリストから選択し、[] を選択します。次へ: 確認.

  6. [Add permissions] を選択します。

AWSIoTFullAccess ポリシーを IAM ユーザーにアタッチするには

  1. 「」を参照してください。IAM コンソールを選択し、ナビゲーションペインで [] を選択します。ユーザー

  2. 検索テキストボックスにユーザー名を入力し、リストから選択します。

  3. [Add permissions] を選択します。

  4. [Attach existing policies directly] を選択します。

  5. 検索ボックスに [] と入力します。AWSIoTFullAccessリストから選択し、[] を選択します。次へ: 確認.

  6. [Add permissions] を選択します。

IAM アカウントとユーザーアカウントの詳細については、を参照してください。IAM ユーザーガイド

ポリシーの詳細については、」IAM のアクセス許可とポリシー

セットアップ後AWSアカウントとアクセス許可がある場合は、続行できます。AWS IoT で MCU ボードを登録またはクイックConnectワークフローの []FreeRTOS コンソール

AWS IoT で MCU ボードを登録

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.iot.us-west-2.amazonaws.com" }

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

  2. AWS IoT コンソール」にアクセスします。

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

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

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

    { "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. [作成] を選択します。

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

  1. AWS IoT コンソール」にアクセスします。

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

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

  4. [Creating AWS IoT things (モノを作成する)] ページで、[Create a single thing (単一のモノを作成する)] を選択します。

  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. [Attach a policy (ポリシーをアタッチ)] を選択して、デバイスに AWS IoT オペレーションへのアクセス権限を付与するポリシーを証明書にアタッチします。

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

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

FreeRTOS をダウンロードする

FreeRTOS は FreeRTOS コンソールまたはFreeRTOS GitHub リポジトリ

注記

Cypress CYW954907AEVAL1F または CYW943907AEVAL1F 開発キットの使用を開始する場合は、GitHub からをダウンロードする必要があります。手順については、README.md ファイルを参照してください。これらのボード用の FreeRTOS 設定は、現在 FreeRTOS コンソールからは使用できません。

FreeRTOS コンソールから FreeRTOS をダウンロードするには

  1. にサインインします。FreeRTOS コンソール

  2. [事前定義された設定] で、[Connect to AWS IoT - Platform ( - プラットフォームに接続する)] を探し、次に [ダウンロード] を選択します。

  3. ダウンロードしたファイルをディレクトリに解凍し、ディレクトリパスをコピーします。

    重要
    • このトピックでは、FreeRTOS ダウンロードディレクトリへのパスをとします。freertos

    • freertos パスにスペース文字が含まれていると、ビルドが失敗する可能性があります。リポジトリをクローンまたはコピーするときは、作成するパスにスペース文字が含まれていないことを確認してください。

    • Microsoft Windows でのファイルパスの最大長は 260 文字です。長い FreeRTOS ダウンロードディレクトリパスは、ビルドが失敗する可能性があります。

    • ソースコードにシンボリックリンクが含まれている可能性があるため、Windows を使用してアーカイブを展開する場合は、次の操作を行う必要があります。

      • の有効化開発者モードまたは、

      • 管理者として昇格されたコンソールを使用します。

      このようにして、Windows はアーカイブを抽出するときにシンボリックリンクを適切に作成できます。そうしないと、シンボリックリンクは通常のファイルとして書き込まれ、シンボリックリンクのパスをテキストとして含むか、空になります。詳細については、ブログのエントリを参照してください。Windows 10でシンボリックリンク!

      Windows で Git を使用する場合は、開発者モードを有効にするか、次の操作を行う必要があります。

      • 設定core.symlinksをtrueに設定します。

        git config --global core.symlinks true
      • システムに書き込みを行う git コマンドを使用するたびに、管理者として昇格されたコンソールを使用します (たとえば、git pull,git clone, およびgit submodule update --init --recursive).

FreeRTOS をダウンロードしたら、に続行できます。FreeRTOS デモの設定

FreeRTOS デモの設定

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

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

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

  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 認証情報をに渡す必要があります。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 相互認証デモで、にあります。demos/coreMQTT/mqtt_demo_mutual_auth.c