如何使用 B-L4S5I-IOT01A 物联网节点 Discovery 套件快速制作物联网设备原型
投稿人:DigiKey 北美编辑
2021-09-22
随着与物联网 (IoT) 连接的设备越来越普遍,从零开始的开发人员意识到,这些产品的开发并不像他们所期望的那样简单,尤其是在时间紧迫和成本有限的情况下。从选择一个可信的、安全的、支持良好的开发环境到选择兼容的软件和硬件,事实证明,设计和构建一个物联网设备仍然需要广泛的技能。
开发人员越来越需要随时获得安全的解决方案、云连接库、实时操作系统和兼容的软硬件开发平台,提供随时集成的传感器,所有这些都在一个可扩展的包中。
本文讨论了物联网设计人员如何使用 STMicroelectronics B-L4S5I-IOT01A 物联网节点 Discovery 套件快速制作产品原型。它讨论了板载微控制器的性能,丰富的传感器和配置选项,以及如何连接到 Amazon Web Services (AWS) 并迅速开始构建原型和最终产品。
B-L4S5I-IOT01A 物联网节点 Discovery 套件简介
B-L4S5I-IOT01A Discovery 开发板是一款一站式的开发板,可用于制作几乎所有嵌入式物联网设备的原型(图 1)。该板有足够的处理能力、传感器和可扩展性,使任何嵌入式开发人员能够构建梦寐以求的应用。B-L4S5I-IOT01A 板基于 STM32L4S5VIT6 低功耗 Arm® Cortex®-M4 处理器,运行速度为 120 兆赫 (MHz),由 2 兆字节 (Mbytes) 的程序闪存和 640 千字节 (KB) 的 SRAM 支持。STM32L4S5VIT6 还具有非常适合物联网应用的特性,如:
- 一个浮点单元 (FPU)
- 一个 14 通道的动态内存访问 (DMA) 控制器
- 一个 AES 和 HASH 加密的硬件加速器
- 先进的图形功能
- ULPMark CP 能源基准得分为 233
图 1:B-L4S5I-IOT01A 基于 Arm Cortex-M4 处理器,运行频率高达 120 MHz,拥有 2 Mbytes 的闪存,640 KB 的 RAM,无线连接和多个传感器。(图片来源:STMicroelectronics)
仅仅是处理能力和能源效率并不能成为一个优秀的快速原型平台。该开发板还配备了无线连接,形式为 Inventek Systems 的 802.11b/g/n 兼容 Wi-Fi 模块 (ISM43362-M3G-L44) 和 STMicroelectronics 的 Bluetooth 4.1 模块,以及一系列传感器。包括两个 MP34DT01 数字全向麦克风、一个 HTS221 相对湿度和温度的电容式数字传感器,以及一个 LIS3MDL 高性能三轴磁强计。
上面的清单绝不是全面的:更详细的描述可以在这里找到。接下来,重要的是检查可用来加速开发的软件工具和堆栈。
STM32 的生态系统
围绕任何开发板的生态系统决定了一个团队是否能快速制作原型。例如,要用 B-L4S5I-IOT01A 制作物联网设备的原型,开发人员需要获得一个编译器、一个集成开发环境 (IDE)、驱动程序库、配置工具和固件更新软件。B-L4S5I-IOT01A Discovery 板支持所有这些需求。
许多开发人员使用 Eclipse 和 GNU C 编译器作为他们的开发环境。STMicroelectronics 提供了一个免费的工具 STM32CubeIDE(图 2),允许开发人员编写和构建他们的软件项目。STM32CubeIDE 能够通过不同的视角访问软件开发环境、微控制器配置工具和调试环境。
图 2:STM32CubeIDE 为开发者提供了一个 IDE,用于创建、配置和管理物联网设备的嵌入式软件。(图片来源:Beningo Embedded Group)
STM32CubeIDE 不仅提供了一种创建、构建和管理软件项目的方法,它还拥有一个 STM32CubeMx 接口。STM32CubeMx 是一款微控制器配置工具,使开发者能够配置时钟树、外设、传感器和中间件。开发人员配置他们的设置,然后工具链生成驱动程序和配置文件,大大减少了开发时间,帮助开发人员专注于他们的应用程序代码,而不是标准基础设施代码。
除了配置和部署代码库之外,STM32 生态系统还为在前沿工作的开发人员提供了一些有用的工具。例如,希望在应用中利用机器学习的开发人员可以利用 STM32Cube.AI 扩展 X-CUBE-AI,它为团队提供了一个简化的框架,用于在 STM32 上转换、验证和运行推理。例如,开发人员可以使用 TensorFlow Lite 训练一个模型,然后在短短几分钟内将该模型转换为 C 代码,在微控制器上运行。此外,还有一些扩展包,其中有随时可以运行的软件,包括。
- 用于面部识别应用的 FP-AI-FACEREC
- 用于状态监测应用的 FP-AI-NANOEDG1
- 用于图像分类应用的 FP-AI-VISION1
- 用于音频和场景分类应用的 FP-AI-SENSING1
每个物联网设备都应该考虑安全问题,即使是在快速原型设计阶段。今天的网络充斥着不间断的攻击、安全漏洞以及对商业和客户数据的利用。因此,任何快速原型开发平台都应该有能力有效地扩展到一个生产系统。该开发板可以利用 STMicroelectronics 的安全启动安全固件更新 (Secure Boot Secure Firmware Update, SBSFU) 软件栈,为开发者提供这种能力。SBSFU 可在 X-CUBE-SBSFU 功能包中使用,它提供了:
- 信任根 (RoT) 服务
- 安全钥匙管理服务
- 加密方案
- 安全的固件更新服务
围绕 B-L4S5I-IOT01A Discovery 板的生态系统非常丰富,有许多可用的功能包和工具,可以帮助开发者快速入门。许多物联网开发人员对 X-CUBE-AWS 软件包感兴趣,该软件包提供了使用 AWS 时连接到云的一切必要条件。让我们研究一下开发者如何去做这件事。
连接到云
要开始使用云,开发人员需要下载 X-CUBE-AWS。该软件包以压缩文件的形式出现,其中有几个设计用于在 B-L4S5I-IOT01A 上运行的项目,如:
- Bootloader_KMS
- Bootloader_STSAFE
- Cloud
这些项目位于:
Projects/B-L4S5I-IOT01A/Applications/
AWS 云项目位于:
Cloud/aws_demos
该云项目可用于 STM32Cube IDE、Keil 和 IAR。当然,开发者可以将这些东西移植到其他 IDE 上,但这三个是业内常用的。
开发者不需要想办法让项目独立运行起来。有几个有价值的文件可以帮助他们快速入门。首先,在主项目目录中,有一个 Release_Notes.html 文件。这个文件包含了关于项目的一般信息以及局限性和有价值的参考资料。
接下来,有一个入门指南,介绍了如何使用该项目连接到 AWS。本文件描述了如何连接到 AWS 以及栈和软件信息(图 3)。该文件还详细描述了软件栈,这可以帮助开发人员了解它是如何组织的,以及将设备连接到云端所需的变化。
图 3:X-CUBE-AWS 提供了连接到 AWS 和开发能够连接到 AWS 的物联网设备所需的固件和应用实例。(图片来源:STMicroelectronics)
连接到云端的最简单方法是运行入门文件并按照教程进行操作。除了该教程外,还有几个额外的参考资料,开发者可以用来加快软件包的使用,包括:
在这些文件之间,开发人员可以快速启动和运行一个云应用程序,作为他们自己物联网设备应用程序的基础。
使用 B-L4S5I-IOT01A Discovery 板的技巧和窍门
B-L4S5I-IOT01A Discovery 板有许多特性和功能,开发者可以利用这些特性和功能来快速建立其嵌入式产品的原型。以下是开发人员应牢记的几个“技巧和窍门”,可以简化和加快他们的开发,例如:
- 充分利用 X-CUBE-AWS 的优势,轻松连接到 AWS。软件包中的 FreeRTOS 已经被移植到开发板上;开发人员只需要配置设备以连接到云端。
- 仔细阅读入门文件。该文件包含执行固件更新和连接到 AWS 的必要步骤。
- 试验一下例子中的空中 (OTA) 更新能力。为现场的物联网设备打补丁和更新是一个关键的需求。开发人员应了解安全固件更新的能力和任何限制。
- 通过利用 STMicroelectronics 的功能包,避免从头开始,这些功能包可以帮助开发人员在能力和设备功能方面有一个快速的起步。这些功能包可以极大地加速开发。
- 花点时间通读 STSAFE 文件,了解安全元素如何提高设备的安全性。安全性必须从一开始就融入于设备中,所以在快速原型开发阶段做好安全性是必须的。
遵循这些“技巧和窍门”的开发者会发现,他们在对应用进行原型开发时可以节省不少时间和麻烦。
结语
从零开始开发物联网连接设备仍有许多障碍和陷阱,可能会拖延时间表并导致成本超支。为了避免这些问题,开发人员可以利用 B-L4S5I-IOT01A Discovery 板来快速建立其物联网应用的原型。STMicroelectronics 的软件栈、扩展包和生态系统为开发者提供了一站式服务,可以轻松地集成软件并加速实施。B-L4S5I-IOT01A 也完全能够满足现代设备的需求,如云连接、通过 OTA 获得安全启动固件,甚至运行基本的机器学习应用。
免责声明:各个作者和/或论坛参与者在本网站发表的观点、看法和意见不代表 DigiKey 的观点、看法和意见,也不代表 DigiKey 官方政策。