STMicroelectronics STM32L4 Discovery Kit IoT Node 入门 - FreeRTOS
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

STMicroelectronics STM32L4 Discovery Kit IoT Node 入门

本教程提供有关 STMicroelectronics STM32L4 Discovery Kit IoT Node 入门的说明。如果您还没有 STMicroelectronics STM32L4 Discovery Kit IoT Node,请访问 AWS 合作伙伴设备目录来从我们的合作伙伴购买一个。

确保您已安装了最新的 Wi-Fi 固件。要下载最新的 Wi-Fi 固件,请参阅 STM32L4 Discovery Kit IoT Node、低功耗无线、低功耗蓝牙、NFC、SubGHz、Wi-Fi。在 Binary Resources (二进制文件资源) 中,选择 Inventek ISM 43362 Wi-Fi module firmware update (read the readme file for instructions) (Inventek ISM 43362 Wi-Fi 模块固件更新 (有关说明请阅读自述文件))

在开始之前,您必须配置 AWS IoT 和 FreeRTOS 下载以将您的设备连接到 AWS 云。有关说明,请参阅初始步骤。在本教程中,FreeRTOS 下载目录的路径称为 freertos

概览

本教程包含有关以下入门步骤的说明:

  1. 在主机上安装软件来开发和调试微控制器主板的嵌入式应用程序。

  2. 将 FreeRTOS 演示应用程序交叉编译为二进制映像。

  3. 将应用程序二进制映像加载到您的主板上,然后运行该应用程序。

设置开发环境

为 STM32 安装 System Workbench

  1. 浏览到 OpenSTM32.org

  2. 在 OpenSTM32 网页上注册。您需要登录以下载 System Workbench。

  3. 浏览到 System Workbench for STM32 installer 以下载并安装 System Workbench。

如果您在安装期间遇到问题,请参阅 System Workbench 网站上的“常见问题”。

构建并运行 FreeRTOS 演示项目

将 FreeRTOS 演示导入 STM32 System Workbench

  1. 打开 STM32 System Workbench,然后输入新工作区的名称。

  2. File (文件) 菜单,选择 Import (导入)。展开 General (常规),选择 Existing Projects into Workspace (现有项目到工作区),然后选择 Next (下一步)

  3. Select Root Directory (选择根目录) 中,输入 projects/st/stm32l475_discovery/ac6/aws_demos

  4. 默认情况下应选中项目 aws_demos

  5. 选择 Finish (完成) 以将项目导入 STM32 System Workbench。

  6. Project (项目) 菜单,选择 Build All (全部生成)。确认项目成功编译,没有任何错误。

运行 FreeRTOS 演示项目

  1. 使用 USB 线缆将您的 STMicroelectronics STM32L4 Discovery Kit IoT Node 连接到计算机。

  2. Project Explorer (项目资源管理器) 中,右键单击 aws_demos,选择 Debug As (调试方式),然后选择 Ac6 STM32 C/C++ Application (Ac6 STM32 C/C++ 应用程序)

    如果在首次启动调试会话时出现调试错误,请执行以下步骤:

    1. 在 STM32 System Workbench 中,从 Run (运行) 菜单,选择 Debug Configurations (调试配置)

    2. 选择 aws_demos Debug (aws_demos 调试)。(您可能需要展开 Ac6 STM32 Debugging (Ac6 STM32 调试)。)

    3. 选择 Debugger (调试程序) 选项卡。

    4. Configuration Script (配置脚本) 中,选择 Show Generator Options (显示生成器选项)

    5. Mode Setup (模式设置) 中,将 Reset Mode (重置模式) 设置为 Software System Reset (软件系统重置)。选择 Apply,然后选择 Debug

  3. 当调试器在 main() 中的断点停止时,在 Run (运行) 菜单中选择 Resume (恢复)

将 CMake 与 FreeRTOS 结合使用

如果不愿意使用 IDE 进行 FreeRTOS 开发,您也可以使用 CMake 来构建和运行演示应用程序,或者运行使用第三方编辑器和调试工具开发的应用程序。

首先创建一个文件夹用于存放生成的构建文件 (build-folder)。

使用以下命令可生成构建文件:

cmake -DVENDOR=st -DBOARD=stm32l475_discovery -DCOMPILER=arm-gcc -S freertos -B build-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 主题

  1. 登录 AWS IoT 控制台

  2. 在导航窗格中,选择测试以打开 MQTT 客户端。

  3. Subscription topic (订阅主题)中,输入 iotdemo/#,然后选择 Subscribe to topic (订阅主题)

故障排除

如果您在演示应用程序的 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 Node、低功耗无线、低功耗蓝牙、NFC、SubGHz、Wi-Fi。在 Binary Resources (二进制文件资源) 下,选择 Inventek ISM 43362 Wi-Fi module firmware update (Inventek ISM 43362 Wi-Fi 模块固件更新) 的下载链接。

有关 FreeRTOS 入门的常规故障排除信息,请参阅 问题排查入门