本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Windows 设备模拟器入门
重要
这是《FreeRTOS 用户指南》的存档版本,可用于 FreeRTOS 版本 202012.00。有关本文档的最新版本,请参阅《FreeRTOS 用户指南》。
本教程提供有关 FreeRTOS Windows 设备模拟器入门的说明。
在开始之前,您必须进行配置 AWS IoT 并下载 FreeRTOS 才能将您的设备连接到云端。 AWS 有关说明,请参阅初始步骤:在本教程中,FreeRTOS 下载目录的路径称为
。freertos
FreeRTOS 以 zip 文件格式发布,包含您所指定平台的 FreeRTOS 库和示例应用程序。要在 Windows 计算机上运行此示例,请下载移植到 Windows 上运行的库和示例。这组文件称为适用于 Windows 的 FreeRTOS 仿真器。
注意
本教程无法在亚马逊 EC2 Windows 实例上成功运行。
设置开发环境
构建并运行 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 开发工具包,但未指定 Windows 开发工具包版本。默认情况下,IDE 可能会尝试使用计算机上不存在的开发工具包版本构建演示。要设置 Windows 开发工具包版本,请右键单击
aws_demos
,然后选择 Retarget Projects (重新定位项目)。这将打开 Review Solution Actions (审核解决方案操作) 窗口。选择计算机上现有的一个 Windows 开发工具包版本(下拉文件中的初始值即可),然后选择 OK (确定)。 -
构建并运行项目。
从生成菜单,选择生成解决方案,确保解决方案已生成且没有错误或警告。选择 Debug (调试)、Start Debugging (开始调试) 以运行项目。在首次运行时,您需要选择一个网络接口。
使用以下命令构建和运行 FreeRTOS 演示项目 CMake
我们建议您使用 CMake GUI 而不是 CMake 命令行工具来构建 Windows 模拟器的演示项目。
安装完成后 CMake,打开 CMake GUI。在 Windows 上,你可以从 “开始” 菜单下CMake的 “开始” 菜单中找到它 CMake (cmake- gui)。
-
设置 FreeRTOS 源代码目录。
在 GUI 中,将源代码位于什么位置设置为 FreeRTOS 源代码目录 (
)。freertos
将在何处构建二进制文件设置为
。freertos
/build -
配置 CMake 项目。
在 CMake GUI 中,选择 “添加条目”,然后在 “添加缓存条目” 窗口中设置以下值:
- 名称
-
AFR_BOARD
- 类型
-
string
- 值
-
pc.windows
- 描述
-
(可选)
-
选择 配置。如果 CMake 提示您创建生成目录,请选择 “是”,然后在 “指定此项目的生成器” 下选择生成器。我们建议使用 Visual Studio 作为生成器,不过也支持 Ninja。(请注意,当使用 Visual Studio 2019 时,平台应设置为 Win32,而不是其默认设置。) 保留其他生成器选项不变,然后选择 Finish (完成)。
-
生成并打开 CMake 项目。
配置完项目后, CMake GUI 会显示生成的项目的所有可用选项。对于本教程中的使用,您可以保留选项的默认值 。
选择 Generate (生成) 以创建 Visual Studio 解决方案,然后选择 Open Project (打开项目) 以在 Visual Studio 中打开项目。
在 Visual Studio 中,右键单击该
aws_demos
项目,然后选择 “设置为 StartUp 项目”。这使您能够构建并运行项目。在首次运行时,您需要选择一个网络接口。
有关 CMake 与 FreeRTOS 配合使用的更多信息,请参阅。 CMake 与 FreeRTOS 一起使用
配置网络接口
首次运行演示项目时,您必须选择要使用的网络接口。程序会枚举您的网络接口。找到您的有线连接以太网接口号。输出应该如下所示:
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 常见问题解答条目 Q-16:支持哪些网络适配器
在云上监控 MQTT 消息
您可以在 AWS IoT 控制台中使用 MQTT 客户端来监控您的设备发送到 AWS 云端的消息。
使用 MQTT 客户端订阅 M AWS IoT QTT 主题
-
登录 AWS IoT 控制台
。 -
在导航窗格中,选择测试以打开 MQTT 客户端。
-
在 Subscription topic (订阅主题)中,输入
,然后选择 Subscribe to topic (订阅主题)。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 入门的常规故障排除信息,请参阅问题排查入门。