Windows 裝置模擬器入門 - FreeRTOS

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Windows 裝置模擬器入門

重要

這是 FreeRTOS 使用者指南的封存版本,適用於 FreeRTOS 版本 202012.00。如需本文件的最新版本,請參閱 FreeRTOS 使用者指南

本教學課程提供開始使用 FreeRTOS Windows Device Simulator 的說明。

開始之前,您必須設定 AWS IoT 和 FreeRTOS 下載,將您的裝置連線至 AWS 雲端。如需說明,請參閱 首要步驟。在本教學課程中,FreeRTOS 下載目錄的路徑稱為 freertos

FreeRTOS 會以 zip 檔案發行,其中包含您指定平台的 FreeRTOS 程式庫和範例應用程式。若要在 Windows 電腦上執行範例,請下載程式庫和隨附的範例以在 Windows 中執行。這一組檔案就是適用於 Windows 的 FreeRTOS 模擬器。

注意

此教學課程無法在 Amazon EC2 Windows 執行個體上成功執行。

設定開發環境

  1. 安裝最新版本的 WinPCap

  2. 安裝 Microsoft Visual Studio

    Visual Studio 版本 2017 和 2019 已知可運作。支援所有這些 Visual Studio 版本 (Community、Professional 或 Enterprise)。

    除 IDE 外,安裝使用 C++ 的桌面開發元件。

    安裝最新的 Windows 10 軟體開發套件。您可以在具有 C++ 元件的桌面開發選用區段下選擇此選項。

  3. 請確認您的有線乙太網路連線為作用中。

  4. (選用) 如果您想要使用 CMake 型建置系統來建置 FreeRTOS 專案,請安裝最新版本的 CMake。FreeRTOS 需要 CMake 3.13 版或更新版本。

建置並執行 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 開發套件,但該專案沒有指定的 Windows 開發套件版本。在預設情況下,IDE 可能會嘗試使用您電腦中未呈現的軟體開發套件版本來建置示範。若要設定 Windows 軟體開發套件版本,請在 aws_demos 按一下滑鼠右鍵, 然後選擇 Retarget Projects (重新定向專案)。這會開啟 Review Solution Actions (檢閱解決方案動作) 視窗。選擇您電腦上呈現的 Windows 軟體開發套件版本 (使用下拉式清單中的初始值即可),然後選擇 OK (確定)

  3. 建置並執行專案。

    Build (建置) 功能表中,選擇 Build Solution (建置解決方案),並確認解決方案建置時未發生錯誤或警告。選擇 Debug (偵錯)Start Debugging (開始偵錯) 以執行專案。在初次執行時,您將需要選擇一個網路界面

使用 CMake 建置和執行 FreeRTOS 示範專案

我們建議您使用 CMake GUI (不要使用 CMake 命令列工具) 以建置適用於 Windows 模擬器的示範專案。

在您安裝 CMake 後,開啟 CMake GUI。在 Windows 上,您可以從開始功能表下的 CMakeCMake (cmake-gui) 下找到此項目。

  1. 設定 FreeRTOS 原始程式碼目錄。

    在 GUI 中,為其中 為原始程式碼設定 FreeRTOS 原始程式碼目錄 (freertos)。

    freertos/build建置二進位程式碼的位置

  2. 設定 CMake 專案。

    在 CMake GUI 中,請選擇 Add Entry (新增輸入),並在 Add Cache Entry (新增快取輸入) 視窗中,設定以下值:

    名稱

    AFR_BOARD

    Type

    STRING

    Value

    pc.windows

    描述

    (選用)

  3. 選擇設定。如果 CMake 提示您建立建置目錄,請選擇 Yes (是),然後選取 Specify the generator for this project (為此專案指定產生器) 下的產生器。我們建議您使用 Visual Studio 作為產生器,但也支援使用 Ninja。(請注意,使用 Visual Studio 2019 時,版本應設為 Win32,而非使用其預設設定。) 將其他產生器選項維持不變,然後選擇 Finish (完成)

  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。如需詳細資訊,請參閱 WinPcap FAQ 項目 Q-16: Which network adapters are supported by WinPcap?

監控雲端的 MQTT 訊息

您可以在 AWS IoT 主控台中使用 MQTT 用戶端來監控裝置傳送至 AWS Cloud 的訊息。

使用 MQTT 用戶端訂閱 AWS IoT MQTT 主題
  1. 登入 AWS IoT 主控台

  2. 在導覽窗格中,選擇 Test (測試) 以開啟 MQTT 用戶端。

  3. 訂閱主題中輸入 your-thing-name/example/topic,然後選擇訂閱主題

故障診斷

在 Windows 執行常見問題故障診斷

您可能會在嘗試透過 Visual Studio 建置示範專案時遭遇以下錯誤 :

Error "The Windows SDK version X.Y was not found" when building the provided Visual Studio solution.

該專案必須定位到您電腦上呈現的 Windows 軟體開發套件版本。

如需 FreeRTOS 入門的一般疑難排解資訊,請參閱故障診斷入門