你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

AI技术之FP-AI-MONITOR1简介

[复制链接]
STMCU小助手 发布时间:2023-5-21 15:22
FP-AI-MONITOR1是一种多传感器AI数据监控框架(基于面向STM32Cube的功能包),工作于无线工业节点。针对由X-CUBE-AI(面向STM32Cube的扩展包)或NanoEdge™ AI Studio设计的传感器监测型应用,它有助于快速启动应用的实现和开发。从数据集获取到物理节点上的集成,它涵盖了机器学习周期的整个设计过程。4 B% X; g# g  H- T% z8 g. O* Y4 T2 t
6 f: l$ }1 _" o2 I9 m
FP-AI-MONITOR1能在SensorTile无线工业节点开发套件(STEVAL-STWINKT1B)上实时运行学习和推理会话,同时将来自板载传感器的数据作为输入。FP-AI-MONITOR1通过有线交互CLI来配置节点,并使用NanoEdge™ AI库管理学习、检测和分类阶段。此外,它还支持一种称为双阶段的高级模式,能将来自NanoEdge™ AI库的检测和使用CNN模型的分类相结合。对于简单的现场操作,独立的电池供电模式也允许用户在不借助控制台的情况下,通过用户按钮进行基本控制。4 \9 f. v7 ?. k
3 V4 @' c9 y4 E; o! B

0 @4 M9 O3 q' }  @# w7 Q# M" B硬件和软件概述" {9 T& p0 |6 t6 s. b2 Q$ B
6 R' ]8 r1 h# @  M* `* `( C
SensorTile无线工业节点评估套件STEVAL-STWINKT1B
  e# B! r6 Y( n, S' CSensorTile无线工业节点(STEVAL-STWINKT1B)是一种开发套件和参考设计,可简化先进工业物联网应用(如状态监测和预测性维护)的原型开发和测试。它由超低功耗Arm® Cortex®-M4 MCU(运行频率120 MHz,具有FPU和2048-Kb Flash存储器(STM32L4R9))供电。STEVAL-STWINKT1B配备microSD™卡插槽,用于独立式数据记录应用。STEVAL-STWINKT1B还配有广泛的物联网传感器,包括但不限于:+ j; g* g- L5 }! m% T: q
# n' v) B- N' r# N8 `2 _3 R" t
✦ 超宽带宽(高达6 kHz)、低噪声、3轴数字振动传感器(IIS3DWB)。8 X4 d% P4 p/ }- o  Y* G

, N& T7 `: p( E✦ 6轴数字加速度计和陀螺仪iNEMO惯性测量单元(IMU),带机器学习内核(ISM330DHCX),以及模拟MEMS麦克风,频率响应可达80 kHz(IMP23ABSU)。
8 Z* V1 I" A! D* v. L+ n$ H$ K8 y4 M4 {/ j4 j! P' W
✦ 参考本文档获取关于STEVAL-STWINKT1B支持的不同传感器和特性的所有信息。( n2 {) w  `" O5 k( @0 W
FP-AI-MONITOR1软件描述
: ]. k5 ~) I/ y  eFP-AI-MONITOR1功能包的顶层架构如下图所示。
" n4 i& @7 u- A# V3 d8 J2 K; [
9 J- N4 U7 N8 a8 u) g# w% K
微信图片_20230521152216.png
' x! v0 h! q4 M6 [% [6 V
6 t. m% ]# a' t3 l$ k0 G$ b; E
▲图1 FP-AI-MONITOR1架构
0 @/ i% B5 c! k" \

1 Z3 D/ _. ^0 o7 m) M先决条件和设置

9 C7 i9 h* P: V2 X" \% d- f硬件先决条件和设置
$ v$ B, t" t$ ~" Z: r1 F6 v8 {3 n如要将FP-AI-MONITOR1功能包用在STEVAL-STWINKT1B上,需准备以下硬件项目:# F" l: v) Q( C$ m2 r, L! d; m
✦ STEVAL-STWINKT1B开发套件板;
+ p  d  D9 W) r, w6 W5 |- g

) n, F2 ?2 r9 ?5 g& D: Q. L6 `6 p✦ 采用Windows®操作系统的笔记本电脑/台式机(Windows® 7、8、或10);
) O2 t2 M% s* w8 h# r: R* ]
, @4 T, K4 N6 u' @% K0 a
✦ 两根Micro-USB线缆(一根将传感器板连接到PC, 另一根用于STLINK-V3MINI),以及一个STLINK-V3MINI。
1 q& U2 ]9 _4 R6 l' ~5 ^
5 b) V8 ?) [. G7 |3 h  n
6 K# ]- y1 \# v( F+ n5 F  d
软件要求

0 N# ]7 p( g3 A! X2 K  d$ ^; m3 u$ I✦ 下载FP-AI-MONITOR1软件包,将.zip文件解压,您将得到项目的软件包。软件包中包含面向传感器板STEVAL-STWINKT1B的二进制文件和源代码。
1 d5 t4 ]9 P6 s- t
; G1 J3 p3 U2 j: X4 Z+ K
✦ 安装以下IDE之一:
; m- C  n4 ^2 [1 P意法半导体的STM32CubeIDE版本 1.9.0;
# E0 F* B/ ^- t7 K0 t* o, x2 L面向Arm(EWARM)工具链(版本9.20.1或更高版本)的IAR Embedded Workbench;9 p3 x) c% a/ P9 q# d  i5 Z* h
RealView微控制器开发套件(MDK-ARM)工具链(版本5.32)。
; V0 _- @$ }# D; P- U5 s& U
& e2 `/ w! `" @1 P, V- M2 q# M2 u
✦ 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下载。
' t1 {3 ^. X' A1 a3 u" Z5 \

) n6 W6 f9 l% E+ I6 x) Y8 G✦ TeraTerm是一款开源免费软件终端仿真器,可用于通过串行连接托管FP-AI-MONITOR1的CLI。下载和安装最新版本的TeraTerm。
! z7 ]1 f. o- `( o

, x6 `/ v1 ^0 e✦ STM32CubeMX:FP-AI-MONITOR1要求STM32CubeMX版本达到6.5.0。如需下载STM32CubeMX并获取所有特性的详细信息,请访问st.com。7 {! H3 m: @/ B, J) L/ q$ J

" j% L: U- O: i. C& u( z✦ X-CUBE-AI:在STM32CubeMX工具(版本7.1.0或更新的版本)安装使用,在UM2526入门用户手册中有相关的介绍。8 R* a0 ^, Q% w/ U3 X4 x6 _+ H
9 p+ W# M& _  ~, z" h* h
✦ Python 3.7.3:所需软件包的列表及其版本信息以文本文件的形式在/FP-AI-MONITOR1_V2.0.0/Utilities/requirements.txt目录中提供。以下指令用于anaconda提示符或Ubuntu的指令终端,安装配置文件requirements.txt中指定的所有包:8 k+ U  T8 M2 y% k; v! f0 x

% R( v, Z1 F' `+ H4 }3 X1 W, Wpip install -r requirements.txt, G& ~; B; @, T) T3 ~4 l6 A

  R& A2 e4 @8 u( M8 E✦ NanoEdge™ AI Studio:NanoEdge™ AI Studio是一种新型机器学习(ML)技术,可以让终端用户轻松享有真正的创新成果。只需几步,开发人员便可运用少量的数据创建理想的ML库。
/ |: h4 G0 S3 y: ~6 V8 J

" a& |2 P- C0 `% B4 u) `* }在传感器板STEVAL-STWINKT1B上刷写应用程序
; C3 P; b% W' L8 _4 F7 a! r" e
% s8 ~2 z3 W5 d0 n3 X0 O4 w
下载并解压软件包之后,下一步是使用功能包的二进制文件对传感器节点进行编程。为了方便用户,功能包配备了预构建的项目二进制文件。该二进制文件可通过路径/FP-AI-MONITOR1_V2.0.0/Projects/STM32L4R9ZI-STWIN/Applications/FP-AI-MONITOR1/Binary/FP-AI-MONITOR1.bin获得。只需执行如下图中所示的拖放操作,就可以轻松使用所提供的二进制文件对传感器板进行编程。
; D% [* S2 Z2 O! N/ D& M2 e0 P. B4 f, V! ?, O% m0 N! k. q7 A% h
微信图片_20230521152219.png
( u4 G5 Z1 o' b' y  ~6 \9 D  c
# E" H3 Q, K2 H. H4 f% K6 v* h
▲图2 在STEVAL-STWINKT1B上刷写应用程序: F, y: {3 V" K& P0 E" `0 m" ^- H: D  g
' J2 d; K4 c+ i" M) N

! C2 D6 W7 t* M& [; d! ZFP-AI-MONITOR1控制台应用程序
, b) Y$ N. W/ `0 w& W; P设置控制台
, z! o% K& p# S. F) P0 v. `! ^' Y运用项目的二进制文件对传感器板进行编程(如第2.3节中所示)之后,在PC上通过TeraTerm设置板件的串行连接。为此,需启动TeraTerm并创建一个新连接 - 从工具栏中进行选择,或选择适当的端口以建立与板件的串行通信。下面的图片举例了COM10 - USB串行设备(COM 10),但可能根据用户的不同而变化。
3 S7 f0 w" X& e, N; W
9 h6 C  U7 V- z+ r' k( d
配置传感器
/ ^( ?1 P4 w4 L% y( g  `  p通过CLI接口,用户可以配置传感和状态监测应用所支持的传感器。可以在CLI控制台上显示支持的传感器列表,方法是输入指令sensor_info。该指令打印支持的传感器列表及其id,如下图所示。用户可以使用这些id配置这些传感器。这些传感器的可配置选项包括:
  M8 v+ o% _# H$ j✦ enable:启用或禁用传感器;  G  H+ z3 e/ v' x
✦ ODR:从可用的选项列表中设置传感器的输出数据速率;* X& v, }7 d# l! p; [' H$ y& E
✦ FS:从可用选项列表中设置满量程范围。
$ {6 ?5 v6 g/ i* d
& _4 h3 x- r. s6 d6 B
下图显示了获取和设置这些值(以及原有值和更改值)的完整示例。. d0 U. K2 [. Z3 u: C9 }

! S2 E6 a" j8 ?
微信图片_20230521152222.png ( Q( t7 f8 r: [: b) f6 ~; o4 N

+ c" z# C' N- E8 ~' g, y
微信图片_20230521152225.png
: l# _3 ?8 P: g* Y$ t/ |$ L+ u; y2 U4 v* ?$ O3 n7 N
* l1 N$ l4 [( L, Z
连接建立之后,将显示以下消息。如果情况并非如此,请复位板件。
. }, n- j3 i% A. i! t
* M* ]0 w/ a$ a- F
微信图片_20230521152228.png
- g# E8 `4 _1 |4 q! _" \0 O

% K6 h- p9 j, o2 m输入help显示所有可用指令列表及各自的使用说明。# ~& Q* H1 A6 C# c+ U) D3 F! ]& T0 v
' S# e$ g) N0 F) t' Y4 T

/ h, v2 G& P" i% q: T+ H按钮操作模式
6 A. {- N5 P( ]0 T+ ^  j; x该模式旨在使用户能够再没有CLI控制台的情况下操作STWIN上的FP-AI-MONITOR1。在按钮操作模式下,可以通过用户按钮(无需借助交互式CLI控制台)来控制传感器节点。6 }! X7 f. a: q, k* V
4 M! s& j3 |" c2 U  v- W
按钮操作模式可以自行选择是否使用CLI,并且与串口控制台及其命令行接口(CLI)的当前定义完全兼容和一致。, q& U5 q* C8 F$ f& _0 s
1 O$ ^8 s8 N5 x4 G% w$ [
该版本功能包的支持硬件(STEVAL-STWINKT1B)配有三个按钮:) d% H$ c/ f- T9 g4 O8 @+ u+ Q
1.用户按钮,唯一通过软件可用的按钮;
' P  d  I5 ]8 U8 |/ G! p2.复位按钮,连接到STM32 MCU复位引脚;
* H" T3 q! u- t5 b' a8 t3.电源按钮,连接到电源管理。
* ?! J; r) `+ l. C
. P& t7 i' z7 p* |% R6 m$ j' d6 A以及三个LED:
, o- F6 ~. ~1 d, ~0 q+ D8 K/ x9 I1.LED_1(绿色),由软件控制;
4 p6 u  W/ {: A! X) `. r) v2.LED_2(橙色),由软件控制;  T0 p) L# M" l2 U# ?" x
3.LED_C(红色),由软件控制,指示通过USB数据线充电时的充电状态。
* ~' P5 t# H( @9 I
% F* e( ]  {- H. k( b" ^
因此,按钮操作的基本用户交互是通过两个按钮(用户和复位)和两个LED(绿色和橙色)完成的。下面详细介绍如何分配这些资源,以便向用户显示哪些执行阶段是活动的,或者报告传感器节点的状态。
0 c' d% {% x0 |% f! S) d3 ]' E3 Y# ~+ l& e# e
. P( `3 n9 G; C, B. o0 O
可用应用程序
0 h( \. a+ f+ b3 b✦ NanoEdge™ AI异常检测短线$ p3 T4 T3 Q) v% ~
✦ n-class分类短线. b, f& u$ l7 b9 U9 T
FP-AI-MONITOR1包括一些预先集成的短线,这些短线可轻松被NanoEdge™ AI Studio所生成和提供的AI状态监测库所替代。该短线模拟NanoEdge™ AI相关功能,例如在边缘运行学习和检测阶段。/ F* {  l# e8 Y+ A

; R; W4 B) l8 ]; ?

( K7 j2 a( R6 c! u% F& k✦ 惯性数据分类: \$ Y  w3 q# u* `
这是一个CLI应用程序,具有预先构建的人类活动识别模型。% b" [$ }# ]  j# P: `1 D: I+ l

7 [$ Y. t# H) d7 R2 b4 B0 L
$ g/ q/ y) p) P$ s% s9 G) o
✦ 双模式应用程序
; x7 }( a+ L6 e! r# s$ p除了上面章节中描述的三个应用程序之外,FP-AI-MONITOR1还提供一个高级执行阶段,我们称之为双应用程序模式。该模式使用基于NanoEdge™ AI库的异常检测,并使用基于模拟麦克风的预构建ANN模型进行分类。双模式工作于省电配置。基于NanoEdge™ AI库的低功耗异常检测算法始终基于振动数据运行,而基于高频模拟麦克风管道的ANN分类仅在检测到异常时才触发。除此之外,两个应用程序是彼此独立的。值得一提的是,双模式是针对以最高速度运行的USB风扇而创建的,在其他速度下进行测试时的表现较差。应用程序的工作原理非常简单。$ _% T0 L) f! |) G: K1 i& Q& r
8 }2 M+ g7 B4 @/ r8 Z0 r# Q$ N, @! D
" q: p" a; j9 l  o* w
如有侵权请联系删除
5 d* ?) D& Q0 P
# F: X" y+ W0 l3 Y
# m: P$ r7 N. c. g3 E2 W  K
赞 收藏 评论0 发布时间:2023-5-21 15:22

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版