STMCU小助手
发布时间:2023-5-21 15:22
|
FP-AI-MONITOR1是一种多传感器AI数据监控框架(基于面向STM32Cube的功能包),工作于无线工业节点。针对由X-CUBE-AI(面向STM32Cube的扩展包)或NanoEdge™ AI Studio设计的传感器监测型应用,它有助于快速启动应用的实现和开发。从数据集获取到物理节点上的集成,它涵盖了机器学习周期的整个设计过程。 # l$ L+ K: r! o0 J: O FP-AI-MONITOR1能在SensorTile无线工业节点开发套件(STEVAL-STWINKT1B)上实时运行学习和推理会话,同时将来自板载传感器的数据作为输入。FP-AI-MONITOR1通过有线交互CLI来配置节点,并使用NanoEdge™ AI库管理学习、检测和分类阶段。此外,它还支持一种称为双阶段的高级模式,能将来自NanoEdge™ AI库的检测和使用CNN模型的分类相结合。对于简单的现场操作,独立的电池供电模式也允许用户在不借助控制台的情况下,通过用户按钮进行基本控制。 - v5 F+ @4 Q5 p& m" U 硬件和软件概述 R: Z; P- S# {+ D& Y, M * d. k$ q. e4 A" N1 T SensorTile无线工业节点评估套件STEVAL-STWINKT1B SensorTile无线工业节点(STEVAL-STWINKT1B)是一种开发套件和参考设计,可简化先进工业物联网应用(如状态监测和预测性维护)的原型开发和测试。它由超低功耗Arm® Cortex®-M4 MCU(运行频率120 MHz,具有FPU和2048-Kb Flash存储器(STM32L4R9))供电。STEVAL-STWINKT1B配备microSD™卡插槽,用于独立式数据记录应用。STEVAL-STWINKT1B还配有广泛的物联网传感器,包括但不限于:2 S* q* V3 W4 |) L1 K ✦ 超宽带宽(高达6 kHz)、低噪声、3轴数字振动传感器(IIS3DWB)。7 ^ ~& d; p; R$ O5 M ) @, y! [, m* t' j ✦ 6轴数字加速度计和陀螺仪iNEMO惯性测量单元(IMU),带机器学习内核(ISM330DHCX),以及模拟MEMS麦克风,频率响应可达80 kHz(IMP23ABSU)。 # w2 M1 u8 q, G" ` ✦ 参考本文档获取关于STEVAL-STWINKT1B支持的不同传感器和特性的所有信息。 FP-AI-MONITOR1软件描述 FP-AI-MONITOR1功能包的顶层架构如下图所示。) ?) w6 `+ [+ B. j Y. M, S . p0 y+ Z3 B) Y, e
▲图1 FP-AI-MONITOR1架构 ; S/ i$ V4 E* _. u% o 先决条件和设置0 j+ P9 k' Y4 W; v4 ^) s 硬件先决条件和设置 如要将FP-AI-MONITOR1功能包用在STEVAL-STWINKT1B上,需准备以下硬件项目:4 ~7 e# T) b# C B, ` ✦ STEVAL-STWINKT1B开发套件板;+ e8 S3 k3 f3 q, C% V" o8 J' p8 H. o ! M( |! p! c# a7 d* u ✦ 采用Windows®操作系统的笔记本电脑/台式机(Windows® 7、8、或10);7 g1 B& X* {1 g8 N; p) z ' m5 Y/ ^. f0 o ✦ 两根Micro-USB线缆(一根将传感器板连接到PC, 另一根用于STLINK-V3MINI),以及一个STLINK-V3MINI。6 n- D0 i2 S! k; s! K ' V* i+ s# B- o1 _0 c) k5 U 0 x3 z! H6 p8 ^6 z4 t D* [6 K 软件要求 ✦ 下载FP-AI-MONITOR1软件包,将.zip文件解压,您将得到项目的软件包。软件包中包含面向传感器板STEVAL-STWINKT1B的二进制文件和源代码。3 n- ?: l9 c9 _9 r ✦ 安装以下IDE之一: 意法半导体的STM32CubeIDE版本 1.9.0;: q* A/ u% ?8 v 面向Arm(EWARM)工具链(版本9.20.1或更高版本)的IAR Embedded Workbench; RealView微控制器开发套件(MDK-ARM)工具链(版本5.32)。/ f& ~. L& c4 [2 `9 I# m% y ✦ STM32CubeProgrammer (STM32CubeProg)是一款用于编程STM32产品的全功能多操作系统软件工具。它通过调试接口(JTAG和SWD)和bootloader接口(UART、USB DFU、I2C、SPI和CAN)提供了一个易用高效的环境,用于读取、写入和验证设备内存。STM32CubeProgrammer提供了广泛的功能,可编程STM32内部存储器(如Flash存储器、RAM和OTP)以及外部存储器。FP-AI-MONITOR1通过STM32CubeProgrammer测试基于(版本2.10.0)。该软件可以从STM32CubeProg下载。 # x6 i0 y7 }; g. I& @- n ✦ TeraTerm是一款开源免费软件终端仿真器,可用于通过串行连接托管FP-AI-MONITOR1的CLI。下载和安装最新版本的TeraTerm。, \3 S, U# B2 G; g1 M! F X: U+ y 9 T0 _% V" R* k# @/ |: { ✦ STM32CubeMX:FP-AI-MONITOR1要求STM32CubeMX版本达到6.5.0。如需下载STM32CubeMX并获取所有特性的详细信息,请访问st.com。; r o* Z4 s( W % H! }1 c& ]/ ?# s ✦ X-CUBE-AI:在STM32CubeMX工具(版本7.1.0或更新的版本)安装使用,在UM2526入门用户手册中有相关的介绍。8 x w$ A; T5 u0 }! K ✦ Python 3.7.3:所需软件包的列表及其版本信息以文本文件的形式在/FP-AI-MONITOR1_V2.0.0/Utilities/requirements.txt目录中提供。以下指令用于anaconda提示符或Ubuntu的指令终端,安装配置文件requirements.txt中指定的所有包: 2 S+ r: w7 ?5 h9 ?/ I pip install -r requirements.txt ✦ NanoEdge™ AI Studio:NanoEdge™ AI Studio是一种新型机器学习(ML)技术,可以让终端用户轻松享有真正的创新成果。只需几步,开发人员便可运用少量的数据创建理想的ML库。 在传感器板STEVAL-STWINKT1B上刷写应用程序4 I- k7 e' ~8 G8 e, L3 @% ~) S 下载并解压软件包之后,下一步是使用功能包的二进制文件对传感器节点进行编程。为了方便用户,功能包配备了预构建的项目二进制文件。该二进制文件可通过路径/FP-AI-MONITOR1_V2.0.0/Projects/STM32L4R9ZI-STWIN/Applications/FP-AI-MONITOR1/Binary/FP-AI-MONITOR1.bin获得。只需执行如下图中所示的拖放操作,就可以轻松使用所提供的二进制文件对传感器板进行编程。 - o: }6 M& U7 k" ]# W
▲图2 在STEVAL-STWINKT1B上刷写应用程序6 F" i4 n& {3 r' o $ r0 o7 t) Y1 I+ T& A* } $ [' _) v8 I M4 A& r FP-AI-MONITOR1控制台应用程序 设置控制台7 E9 G8 l& [! @2 w# F3 ^$ m 运用项目的二进制文件对传感器板进行编程(如第2.3节中所示)之后,在PC上通过TeraTerm设置板件的串行连接。为此,需启动TeraTerm并创建一个新连接 - 从工具栏中进行选择,或选择适当的端口以建立与板件的串行通信。下面的图片举例了COM10 - USB串行设备(COM 10),但可能根据用户的不同而变化。/ v# m0 r: ~- q. u. C ) f% d) R" S2 ] 配置传感器 通过CLI接口,用户可以配置传感和状态监测应用所支持的传感器。可以在CLI控制台上显示支持的传感器列表,方法是输入指令sensor_info。该指令打印支持的传感器列表及其id,如下图所示。用户可以使用这些id配置这些传感器。这些传感器的可配置选项包括:) S# O0 G4 c' S& u ✦ enable:启用或禁用传感器;# {& J' f" ]1 F ✦ ODR:从可用的选项列表中设置传感器的输出数据速率; ✦ FS:从可用选项列表中设置满量程范围。( j0 E$ F ?0 T5 ` 下图显示了获取和设置这些值(以及原有值和更改值)的完整示例。) x( n9 Y& \. h
连接建立之后,将显示以下消息。如果情况并非如此,请复位板件。6 q% e% v8 h* x+ Z y, B
( e6 z1 s8 l7 g* z1 H7 @" w* L$ M 输入help显示所有可用指令列表及各自的使用说明。 按钮操作模式1 F6 Z1 }( {- _( Q$ ]: d 该模式旨在使用户能够再没有CLI控制台的情况下操作STWIN上的FP-AI-MONITOR1。在按钮操作模式下,可以通过用户按钮(无需借助交互式CLI控制台)来控制传感器节点。9 f8 ?# \+ ], I! X7 b , p$ g g: i8 X* Z1 u- Z3 W 按钮操作模式可以自行选择是否使用CLI,并且与串口控制台及其命令行接口(CLI)的当前定义完全兼容和一致。5 A- y) o: D5 r6 \: t0 N( f 该版本功能包的支持硬件(STEVAL-STWINKT1B)配有三个按钮:/ A$ h, x% P" y% H7 h7 e* V8 M4 p 1.用户按钮,唯一通过软件可用的按钮;: V; H6 ]" y5 l 2.复位按钮,连接到STM32 MCU复位引脚; 3.电源按钮,连接到电源管理。 $ b) @: h2 Y. x7 }' ~ 以及三个LED:5 w* W; p+ V' l 1.LED_1(绿色),由软件控制; F: Q8 \0 a' O1 b, }" s 2.LED_2(橙色),由软件控制; 3.LED_C(红色),由软件控制,指示通过USB数据线充电时的充电状态。; A1 X4 L. T( g. g) u$ ?/ K 因此,按钮操作的基本用户交互是通过两个按钮(用户和复位)和两个LED(绿色和橙色)完成的。下面详细介绍如何分配这些资源,以便向用户显示哪些执行阶段是活动的,或者报告传感器节点的状态。 9 @# ~: v* L5 ]- x 可用应用程序+ G/ `+ `& W# N: N ✦ NanoEdge™ AI异常检测短线 ✦ n-class分类短线 FP-AI-MONITOR1包括一些预先集成的短线,这些短线可轻松被NanoEdge™ AI Studio所生成和提供的AI状态监测库所替代。该短线模拟NanoEdge™ AI相关功能,例如在边缘运行学习和检测阶段。 3 ^5 n/ l7 j ], g0 U G g+ X ✦ 惯性数据分类 这是一个CLI应用程序,具有预先构建的人类活动识别模型。; [, V, w9 Z8 |8 |/ h9 Z 6 ?$ w' Q; g! z ✦ 双模式应用程序% q5 \# q: ]* T* h* E4 T: V: i( o 除了上面章节中描述的三个应用程序之外,FP-AI-MONITOR1还提供一个高级执行阶段,我们称之为双应用程序模式。该模式使用基于NanoEdge™ AI库的异常检测,并使用基于模拟麦克风的预构建ANN模型进行分类。双模式工作于省电配置。基于NanoEdge™ AI库的低功耗异常检测算法始终基于振动数据运行,而基于高频模拟麦克风管道的ANN分类仅在检测到异常时才触发。除此之外,两个应用程序是彼此独立的。值得一提的是,双模式是针对以最高速度运行的USB风扇而创建的,在其他速度下进行测试时的表现较差。应用程序的工作原理非常简单。9 K H' s; K1 A 如有侵权请联系删除 " W& M: w2 e2 O. H) g" p/ l3 w$ S |
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
Keil-MDK 在线调试设置断点的高级用法
请教下STM32N6570 怎么把分辨率改成320x240并可以全屏显示
【福利三:逢7发帖赢大礼】想要充分利用STM32H743VI片内的RAM空间(但并不顺利)
基于stm32平台上的IC-MU磁绝对值编码器SPI通讯和码盘数据处理
使用STM32 MCU和MPU连接PDM数字麦克风
分享STM32资料-采用 STM32U031R8 MCU 的 STM32 Nucleo-64 开发板,官方资料,数据手册等资料
HRTIM 指南
使用 STM32 的 DWT 单元监控内存
DAC,COMP,HRTIM Fault 功能的使用
微信公众号
手机版