Windows Device Simulator の開始方法 - FreeRTOS

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

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 インスタンスでは正常に実行できません。

開発環境をセットアップする

  1. 最新バージョンの Npcap をインストールします。インストール時に「WinPcap API 互換モード」を選択します。

  2. 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] (オプション) セクションで選択できます。

  3. アクティブな有線イーサネット接続が存在することを確認してください。

  4. (オプション) CMake ベースのビルドシステムを使用して FreeRTOS プロジェクトを構築する場合は、CMake の最新バージョンをインストールします。FreeRTOS には CMake バージョン 3.13 以降が必要です。

クラウドの MQTT メッセージのモニタリング

FreeRTOS デモプロジェクトを実行する前に、デバイスが AWS クラウドに送信するメッセージをモニタリングするために、AWS IoT コンソールで MQTT クライアントをセットアップすることができます。

AWS IoT MQTT クライアントで MQTT トピックをサブスクライブするには
  1. AWS IoT コンソールにサインインします。

  2. ナビゲーションペインで、[テスト] を選択し、[MQTT テストクライアント] を選択して MQTT クライアントを開きます。

  3. [Subscription topic] (トピックのサブスクリプション) で your-thing-name/example/topic と入力し、[Subscribe to topic] (トピックへのサブスクライブ) を選択します。

デバイス上でデモプロジェクトが正常に実行されると、「Hello World!」が 購読しているトピックに複数回送信されたことを確認できます。

FreeRTOS デモプロジェクトを構築して実行する

Visual Studio または CMake を使用して FreeRTOS プロジェクトを構築できます。

Visual Studio IDE を使用して FreeRTOS デモプロジェクトを構築して実行する

  1. Visual Studio にプロジェクトをロードします。

    Visual Studio の [File] (ファイル) メニューから、[Open] (開ける) を選択します。[File/Solution] (ファイル/ソリューション) を選択し、projects/pc/windows/visual_studio/aws_demos/aws_demos.sln に移動してから [Open] (開ける) を選択します。

  2. デモプロジェクトをリターゲットします。

    指定されたデモプロジェクトは、Windows SDK によって異なりますが、Windows SDK バージョンが指定されていません。デフォルトでは、IDE でマシンに存在しない SDK バージョンを使用してデモのビルドが試行されることがあります。Windows バージョンの SDK を設定するには、aws_demos を右クリックして [Retarget Projects] (プロジェクトをリターゲット) を選択します。これにより、[Review Solution Actions] (ソリューションのアクションを確認) ウィンドウが開きます。マシンに存在する Windows SDK バージョン (ドロップダウンの初期値で構いません) を選択して、[OK] を選択します。

  3. プロジェクトを構築して実行します。

    [Build] (構築) メニューから [Build Solution] (ソリューションの構築) を選択し、ソリューションがエラーや警告なしで構築されることを確認します。[Debug] (デバッグ)、[Start Debugging] (デバッグを開始) を選択し、プロジェクトを実行します。最初の実行で、ネットワークインターフェイスを選択する必要があります。

CMake を使用して FreeRTOS デモプロジェクトを構築して実行する

Windows Simulator のデモプロジェクトをビルドするには、CMake コマンドラインツールではなく、CMake GUI を使用することをお勧めします。

CMake をインストールしたら、CMake GUI を開きます。Windows では、これは、[Start] (スタート) メニューの [CMake] の下にある [CMake (cmake-gui)] にあります。

  1. FreeRTOS ソースコードディレクトリを設定します。

    GUI の [Where is the source code] (ソースコードの場所) で、FreeRTOS ソースコードディレクトリ (freertos) を設定します。

    [Where to build the binaries] (バイナリを構築する場所) に freertos/build を設定します。

  2. CMake プロジェクトを設定します。

    CMake GUI で [Add Entry] (エントリの追加) を選択し、[Add Cache Entry] (キャッシュエントリの追加) ウィンドウで以下の値を設定します。

    名前

    AFR_BOARD

    タイプ

    STRING

    pc.windows

    説明

    (オプション)

  3. [Configure] (設定) を選択します。CMake でビルドディレクトリを作成するよう求められたら、[Yes] (はい) を選択し、[Specify generator generator for this project] (このプロジェクトのジェネレーターを指定) でジェネレーターを選択します。ジェネレーターとして Visual Studio を使用することをお勧めしますが、Ninja もサポートされています。(Visual Studio 2019 を使用する場合、プラットフォームはデフォルト設定ではなく Win32 に設定する必要があります)。他のジェネレーターオプションは変更せずに、[完了] を選択します。

  4. 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 の開始方法に関する一般的なトラブルシューティングについては、「トラブルシューティングの開始方法」を参照してください。