本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
STM32L4 Discovery Kit STMicroelectronics 节点入门IoT
本教程提供有关 STMicroelectronics STM32L4 Discovery Kit IoT Node 入门的说明。如果您还没有 STMicroelectronics
STM32L4 Discovery Kit IoT 节点,请访问 AWS 合作伙伴设备目录来从我们的合作伙伴
确保您已安装了最新的 Wi-Fi 固件。要下载最新的 Wi-Fi 固件,请参阅 STM32L4 Discovery Kit IoT 节点、低功耗无线、低功耗蓝牙、NFC、SubGHz、Wi-Fi
在开始之前,您必须配置 AWS IoT 和 FreeRTOS 下载以将您的设备连接到 AWS 云。有关说明,请参阅初始步骤。在本教程中,FreeRTOS 下载目录的路径称为
。
freertos
Overview
本教程包含有关以下入门步骤的说明:
-
在主机上安装软件来开发和调试微控制器主板的嵌入式应用程序。
-
将 FreeRTOS 演示应用程序交叉编译为二进制映像。
-
将应用程序二进制映像加载到您的主板上,然后运行该应用程序。
设置开发环境
为 STM32 安装 System Workbench
-
浏览到 OpenSTM32.org
。 -
在 OpenSTM32 网页上注册。您需要登录以下载 System Workbench。
-
浏览到 System Workbench for STM32 installer
以下载并安装 System Workbench。
如果您在安装期间遇到问题,请参阅 FAQsSystem Workbench 网站上的
构建并运行 FreeRTOS 演示项目
将 FreeRTOS 演示导入 STM32 System Workbench
-
打开 STM32 System Workbench,然后输入新工作区的名称。
-
从 File (文件) 菜单,选择 Import (导入)。展开 General (常规),选择 Existing Projects into Workspace (现有项目到工作区),然后选择 Next (下一步)。
-
在 Select Root Directory (选择根目录) 中,输入
projects/st/stm32l475_discovery/ac6/aws_demos
。 -
默认情况下应选中项目
aws_demos
。 -
选择 Finish (完成) 以将项目导入 STM32 System Workbench。
-
从 Project (项目) 菜单,选择 Build All (全部生成)。确认项目成功编译,没有任何错误。
运行 FreeRTOS 演示项目
-
使用 USB 电缆将您的 STMicroelectronics STM32L4 发现工具包 IoT 节点连接到计算机。
-
在 Project Explorer (项目资源管理器) 中,右键单击
aws_demos
,选择 Debug As (调试方式),然后选择 Ac6 STM32 C/C++ Application (Ac6 STM32 C/C++ 应用程序)。如果在首次启动调试会话时出现调试错误,请执行以下步骤:
-
在 STM32 System Workbench 中,从 Run (运行) 菜单,选择 Debug Configurations (调试配置)。
-
选择 aws_demos Debug (aws_demos 调试)。(您可能需要展开 Ac6 STM32 Debugging (Ac6 STM32 调试)。)
-
选择 Debugger (调试程序) 选项卡。
-
在 Configuration Script (配置脚本) 中,选择 Show Generator Options (显示生成器选项)。
-
在 Mode Setup (模式设置) 中,将 Reset Mode (重置模式) 设置为 Software System Reset (软件系统重置)。选择 Apply,然后选择 Debug。
-
-
当调试器在
main()
中的断点停止时,在 Run (运行) 菜单中选择 Resume (恢复)。
将 CMake 与 FreeRTOS 结合使用
如果您不愿意使用 IDE 进行 FreeRTOS 开发,您也可以选择使用 CMake 来构建和运行演示应用程序,或者运行使用第三方代码编辑器和调试工具开发的应用程序。
首先创建一个文件夹来包含生成的构建文件 (build-folder
).
使用以下命令可生成构建文件:
cmake -DVENDOR=st -DBOARD=stm32l475_discovery -DCOMPILER=arm-gcc -S
freertos
-Bbuild-folder
如果 arm-none-eabi-gcc
不在 Shell 路径中,您还需要设置 AFR_TOOLCHAIN_PATH
CMake 变量。例如:
-D AFR_TOOLCHAIN_PATH=/home/user/opt/gcc-arm-none-eabi/bin
有关将 CMake 与 FreeRTOS 配合使用的更多信息,请参阅使用 CMake 配 FreeRTOS。
在云上监控 MQTT 消息
您可以使用 AWS IoT 控制台中的 MQTT 客户端监控您的设备发送到 AWS 云的消息。
使用 AWS IoT MQTT 客户端订阅 MQTT 主题
-
登录到 AWS IoT 控制台
。 -
在导航窗格中,选择测试以打开 MQTT 客户端。
-
在 Subscription topic (订阅主题)中,输入
iotdemo/#
,然后选择 Subscribe to topic (订阅主题)。
Troubleshooting
如果您在演示应用程序的 UART 输出中看到以下内容,您需要更新 Wi-Fi 模块的固件:
[Tmr Svc] WiFi firmware version is: xxxxxxxxxxxxx [Tmr Svc] [WARN] WiFi firmware needs to be updated.
要下载最新的 Wi-Fi 固件,请参阅 STM32L4 Discovery Kit IoT 节点、低功耗无线、低功耗蓝牙、NFC、SubGHz、Wi-Fi
有关 FreeRTOS 入门的常规故障排除信息,请参阅 问题排查入门。