翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Windows Device Simulator の開始方法
このチュートリアルでは、FreeRTOS Windows Device Simulator の使用を開始するための手順について説明します。
開始する前に、デバイスを AWS クラウドに接続するように、AWS IoT と FreeRTOS ダウンロードを設定する必要があります。手順については、「最初のステップ」を参照してください。このチュートリアルでは、FreeRTOS ダウンロードディレクトリへのパスを
とします。freertos
FreeRTOS は、指定されたプラットフォーム用の FreeRTOS ライブラリとサンプルアプリケーションを含む zip ファイルとしてリリースされています。Windows マシンでサンプルを実行するには、Windows 上で動作するように移植されたライブラリとサンプルをダウンロードしてください。この一連のファイルは、FreeRTOS simulator for Windows と呼ばれます。
注記
このチュートリアルは Amazon EC2 Windows インスタンスでは正常に実行できません。
開発環境をセットアップする
-
最新バージョンの Npcap
をインストールします。インストール時に「WinPcap API 互換モード」を選択します。 -
Microsoft Visual Studio
をインストールします。 Visual Studio バージョン 2017 および 2019 は動作することが確認されています。Visual Studio のすべてのエディションがサポートされます (Community、Professional、または Enterprise)。
IDE に加えて、[Desktop development with C++] (C++ によるデスクトップ開発) コンポーネントをインストールします。
最新の Windows 10 SDK をインストールします。これは、[Desktop development with C++] (C++ によるデスクトップ開発) コンポーネントの [Optional] (オプション) セクションで選択できます。
-
アクティブな有線イーサネット接続が存在することを確認してください。
-
(オプション) CMake ベースのビルドシステムを使用して FreeRTOS プロジェクトを構築する場合は、CMake
の最新バージョンをインストールします。FreeRTOS には CMake バージョン 3.13 以降が必要です。
クラウドの MQTT メッセージのモニタリング
FreeRTOS デモプロジェクトを実行する前に、デバイスが AWS クラウドに送信するメッセージをモニタリングするために、AWS IoT コンソールで MQTT クライアントをセットアップすることができます。
AWS IoT MQTT クライアントで MQTT トピックをサブスクライブするには
-
AWS IoT コンソール
にサインインします。 -
ナビゲーションペインで、[テスト] を選択し、[MQTT テストクライアント] を選択して MQTT クライアントを開きます。
-
[Subscription topic] (トピックのサブスクリプション) で
と入力し、[Subscribe to topic] (トピックへのサブスクライブ) を選択します。your-thing-name
/example/topic
デバイス上でデモプロジェクトが正常に実行されると、「Hello World!」が 購読しているトピックに複数回送信されたことを確認できます。
FreeRTOS デモプロジェクトを構築して実行する
Visual Studio または CMake を使用して FreeRTOS プロジェクトを構築できます。
Visual Studio IDE を使用して FreeRTOS デモプロジェクトを構築して実行する
-
Visual Studio にプロジェクトをロードします。
Visual Studio の [File] (ファイル) メニューから、[Open] (開ける) を選択します。[File/Solution] (ファイル/ソリューション) を選択し、
projects/pc/windows/visual_studio/aws_demos/aws_demos.sln
に移動してから [Open] (開ける) を選択します。 -
デモプロジェクトをリターゲットします。
指定されたデモプロジェクトは、Windows SDK によって異なりますが、Windows SDK バージョンが指定されていません。デフォルトでは、IDE でマシンに存在しない SDK バージョンを使用してデモのビルドが試行されることがあります。Windows バージョンの SDK を設定するには、
aws_demos
を右クリックして [Retarget Projects] (プロジェクトをリターゲット) を選択します。これにより、[Review Solution Actions] (ソリューションのアクションを確認) ウィンドウが開きます。マシンに存在する Windows SDK バージョン (ドロップダウンの初期値で構いません) を選択して、[OK] を選択します。 -
プロジェクトを構築して実行します。
[Build] (構築) メニューから [Build Solution] (ソリューションの構築) を選択し、ソリューションがエラーや警告なしで構築されることを確認します。[Debug] (デバッグ)、[Start Debugging] (デバッグを開始) を選択し、プロジェクトを実行します。最初の実行で、ネットワークインターフェイスを選択する必要があります。
CMake を使用して FreeRTOS デモプロジェクトを構築して実行する
Windows Simulator のデモプロジェクトをビルドするには、CMake コマンドラインツールではなく、CMake GUI を使用することをお勧めします。
CMake をインストールしたら、CMake GUI を開きます。Windows では、これは、[Start] (スタート) メニューの [CMake] の下にある [CMake (cmake-gui)] にあります。
-
FreeRTOS ソースコードディレクトリを設定します。
GUI の [Where is the source code] (ソースコードの場所) で、FreeRTOS ソースコードディレクトリ (
) を設定します。freertos
[Where to build the binaries] (バイナリを構築する場所) に
を設定します。freertos
/build -
CMake プロジェクトを設定します。
CMake GUI で [Add Entry] (エントリの追加) を選択し、[Add Cache Entry] (キャッシュエントリの追加) ウィンドウで以下の値を設定します。
- 名前
-
AFR_BOARD
- タイプ
-
STRING
- 値
-
pc.windows
- 説明
-
(オプション)
-
[Configure] (設定) を選択します。CMake でビルドディレクトリを作成するよう求められたら、[Yes] (はい) を選択し、[Specify generator generator for this project] (このプロジェクトのジェネレーターを指定) でジェネレーターを選択します。ジェネレーターとして Visual Studio を使用することをお勧めしますが、Ninja もサポートされています。(Visual Studio 2019 を使用する場合、プラットフォームはデフォルト設定ではなく Win32 に設定する必要があります)。他のジェネレーターオプションは変更せずに、[完了] を選択します。
-
CMake プロジェクトを生成して開きます。
プロジェクトを設定した後、生成されたプロジェクトで使用可能なすべてのオプションが CMake GUI に表示されます。このチュートリアルでは、オプションはデフォルト値のままで構いません。
[Generate] (生成) を選択して Visual Studio ソリューションを作成してから、[Open Project] (プロジェクトを開く) を選択して Visual Studio でプロジェクトを開きます。
Visual Studio で、
aws_demos
プロジェクトを右クリックして、[Set as StartUp Project] (スタートアッププロジェクトとして設定) を選択します。これにより、プロジェクトをビルドして実行することができます。最初の実行で、ネットワークインターフェイスを選択する必要があります。
FreeRTOS で CMake を使用する方法の詳細については、「FreeRTOS で CMake を使用する」を参照してください。
ネットワークインターフェイスを設定する
デモプロジェクトの最初の実行では、使用するネットワークインターフェイスを選択する必要があります。プログラムは、ネットワークインターフェイスをカウントします。有線イーサネットインターフェイスの番号を見つけます。出力は次のようになります。
0 0 [None] FreeRTOS_IPInit 1 0 [None] vTaskStartScheduler 1. rpcap://\Device\NPF_{AD01B877-A0C1-4F33-8256-EE1F4480B70D} (Network adapter 'Intel(R) Ethernet Connection (4) I219-LM' on local host) 2. rpcap://\Device\NPF_{337F7AF9-2520-4667-8EFF-2B575A98B580} (Network adapter 'Microsoft' on local host) The interface that will be opened is set by "configNETWORK_INTERFACE_TO_USE", which should be defined in FreeRTOSConfig.h ERROR: configNETWORK_INTERFACE_TO_USE is set to 0, which is an invalid value. Please set configNETWORK_INTERFACE_TO_USE to one of the interface numbers listed above, then re-compile and re-start the application. Only Ethernet (as opposed to Wi-Fi) interfaces are supported.
有線イーサネットインターフェイスの番号を特定した後、アプリケーションウィンドウを閉じます。上記の例では、使用する番号は 1
です。
FreeRTOSConfig.h
を開いて、configNETWORK_INTERFACE_TO_USE
を有線ネットワークインターフェイスに対応する番号に設定します。
重要
イーサネットインターフェイスのみがサポートされています。Wi-Fi はサポートされていません。
トラブルシューティング
Windows での一般的な問題のトラブルシューティング
Visual Studio でデモプロジェクトビルドしようとしたときに次のエラーが発生する可能性があります。
Error "The Windows SDK version X.Y was not found" when building the provided Visual Studio solution.
プロジェクトは、コンピュータに存在する Windows SDK バージョンを対象とする必要があります。
FreeRTOS の開始方法に関する一般的なトラブルシューティングについては、「トラブルシューティングの開始方法」を参照してください。