Amazon FreeRTOS
ユーザーガイド

前提条件

このチュートリアルを実行するには、AWS アカウント、AWS IoT と Amazon FreeRTOS にアクセスする権限を持つ IAM ユーザー、およびサポートされているハードウェアプラットフォームのいずれかが必要です。

AWS アカウントとアクセス権限

AWS アカウントを作成するには、[Create and Activate an AWS Account (AWS アカウントの作成とアクティブ化)] を参照してください。

AWS アカウントに IAM ユーザーを追加するには、IAM User Guide を参照してください。AWS IoT および Amazon FreeRTOS に IAM ユーザーアカウントのアクセスを付与するには、IAM ユーザーアカウントに以下の IAM ポリシーをアタッチします。

  • AmazonFreeRTOSFullAccess

  • AWSIoTFullAccess

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

  1. IAM コンソールを参照し、ナビゲーションペインから [Users (ユーザー)] を選択します。

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

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

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

  5. 検索ボックスで「AmazonFreeRTOSFullAccess」と入力してリストから選択し、[Next: Review (次へ: レビュー)] を選択します。

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

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

  1. IAM コンソールを参照し、ナビゲーションペインから [Users (ユーザー)] を選択します。

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

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

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

  5. 検索ボックスで「AWSIoTFullAccess」と入力してリストから選択し、[Next: Review (次へ: レビュー)] を選択します。

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

IAM およびユーザーアカウントの詳細については、IAM User Guide を参照してください。

ポリシーの詳細については、「IAM アクセス権限とポリシー」を参照してください。

Amazon FreeRTOS でサポートされているハードウェアプラットフォーム

サポートされている MCU ボードのいずれかが必要です。

AWS IoT で MCU ボードを登録

AWS IoT と通信できるように MCU ボードを登録する必要があり ます。デバイスを登録するには、以下を作成する必要があります。

  • IoT モノ。

    IoT モノにより、AWS IoT でデバイスを管理できるようになります。

  • プライベートキーと X.509 証明書。

    プライベートキーと証明書により、AWS IoT でデバイスを認証できるようになります。

  • AWS IoT ポリシー。

    AWS IoT ポリシーは、AWS IoT リソースへのアクセス権限をデバイスに付与します。

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

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

    AWS アカウント番号を確認するには、AWS マネジメントコンソールの右上隅から、[My Account (自分のアカウント)] を選択します。アカウント ID が [Account Settings (アカウント設定)] に表示されます。

    AWS アカウントの AWS リージョンを確認するには、コマンドプロンプトウィンドウを開き、次のコマンドを入力します。

    AWS IoT describe-endpoint

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

    { "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 をポリシーエディタウィンドウにコピーして貼り付けます。お客様のリージョンとアカウント ID で aws-regionaws-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

    AWS IoT メッセージブローカーに接続するアクセス許可をデバイスに付与します。

    iot:Publish

    freertos/demos/echo MQTT トピックで MQTT メッセージを発行するアクセス許可をデバイスに付与します。

    iot:Subscribe

    freertos/demos/echo MQTT トピックフィルターをサブスクライブするアクセス許可をデバイスに付与します。

    iot:Receive

    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. [Creating AWS IoT things (AWS IoT モノを作成する)] ページで、[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 (ダウンロード)] リンクを選択して、プライベートキーと証明書をダウンロードします。証明書 ID を書き留めます。これは、後で証明書にポリシーをアタッチするために必要です。

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

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

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

ターミナルエミュレータをインストールする

ターミナルエミュレータは、問題を診断したり、デバイスコードが正常に動作しているかを検証するのに役立ちます。Windows、macOS、および Linux で使用できる、さまざまなターミナルエミュレータがあります。ターミナルエミュレータをデバイスに接続する前に、デバイスをコンピュータに接続する必要があります。

ターミナルエミュレータでこれらの設定を使用します。

ターミナルの設定

ポート

コンピュータに接続するプラットフォームや他のデバイスに依存しています。

ボーレート

115200

データ

8 ビット

パリティ

なし

停止

1 ビット

フロー制御

なし