FP-AI-MONITOR1为无线工业节点上之多感测器AI资料监控架构,是STM32Cube的功能套件。本模组有助於实作和开发以STM32Cube的X-CUBE-AI扩充套件或NanoEdge AI Studio 设计的感测器监控型应用,且FP-AI-MONITOR1从撷取资料集到整合至实体节点,完整覆盖了机器学习专案开发。
FP-AI-MONITOR1可在SensorTile无线工业节点开发套件(STEVAL-STWINKT1B)上即时执行学习及推论工作,将内建感测器的资料作为输入资料。除此之外,FP-AI-MONITOR1利用有线互动式CLI设定节点,并使用NanoEdge? AI程式库管理学习、侦测和分类阶段,与此同时,支援双阶段进阶模式,利用CNN模型将NanoEdge? AI程式库的侦测与分类结果结合。在简易现场操作情况下,FP-AI-MONITOR1的独立电池供电模式能让使用者无须使用主控台,仅透过使用者按钮,便能进行基本控制。
硬体与软体概览
SensorTile无线工业节点开发套件STEVAL-STWINKT1B
SensorTile 无线工业节点(STEVAL-STWINKT1B)为开发套件与叁考设计,可简化状态监控与预防性维护等进阶工业物联网应用的原型设计和测试。本产品采超低功耗的Arm Cortex-M4 MCU、120 MHz(含FPU)、2048 KB快闪记忆体(STM32L4R9),还配备microSD记忆卡槽,适用於独立的资料记录应用。
STEVAL-STWINKT1B亦搭载多种工业物联网感测器,包括但不限於:
· 超宽频带(最高达6 kHz)、低噪音的3轴数位振动感测器(IIS3DWB)
· 具备机器学习内核心(ISM330DHCX)的6轴数位加速度计及陀螺仪iNEMO惯性测量单元(IMU)
· 频率响应高达80 kHz的类比MEMS麦克风(IMP23ABSU)。
以取得STEVAL-STWINKT1B所支援之不同感测器和功能的所有资讯。
FP-AI-MONITOR1软体说明
FP-AI-MONITOR1功能套件的顶层架构,如图所示。
先决条件及设定
硬体的先决条件及设定
在STEVAL-STWINKT1B使用FP-AI-MONITOR1功能套件需要取得以下硬体:
· STEVAL-STWINKT1B开发套件板;
· STLINK-V3MINI debugger;
· 支援Windows 7、8或10;
· 两条Micro-USB连接线,一条将感测器板连接至电脑,另一条则连接至STLINK-V3MINI。
软体要求
· 从ST网站下载FP-AI-MONITOR1套件,并将.zip档解压缩,复制到电脑上的资料夹内。套件中包含STEVAL-STWINKT1B感测器板的二进位档案及原始程式码。
· 安装下列任一IDE:
· STMicroelectronics STM32CubeIDE 1.9.0版;
· IAR Embedded Workbench for Arm(EWARM)toolchain 9.20.1版或更新版本;
· RealView微控制器开发套件(MDK-ARM)toolchain 5.32版。
· STM32CubeProgrammer(STM32CubeProg)为全方位多重作业系统软体工具,适合为STM32产品进行程式设计。本产品透过除错介面(JTAG及SWD)与开机载入器介面 (UART、USB DFU、I2C、SPI及CAN)提供易於使用的高效率环境,适合读写和验证装置记忆体。STM32CubeProgrammer具备多样功能,可为STM32内部记忆体(如快闪记忆体、RAM和OTP)以及外部记忆体进行程式设计。FP-AI-MONITOR1采用 STM32CubeProgrammer 2.10.0版测试。本软体可从STM32CubeProg下载。
· TeraTerm为免费开放的原始码软体终端模拟器,其透过序列连线主控FP-AI-MONITOR1 的CLI。(请下载并安装TeraTerm最新版本。)
· STM32CubeMX:FP-AI-MONITOR1需搭配STM32CubeMX 6.5.0 版使用。
· X-CUBE-AI:最简单的方法是於STM32CubeMX工具(7.1.0 版或更新版本)内下载X-CUBE-AI,如同使用手册UM2526所述。
· Python 3.7.3:所需套件及版本清单以文字档提供,可於/FP-AI-MONITOR1_V2.0.0/Utilities/requirements.txt目录下取得。以下指令适用於Anaconda Prompt或Ubuntu的指令终端内,以安装设定档案requirements.txt中指定的所有套件:pip install -r requirements.txt
· NanoEdge? AI Studio:NanoEdge? AI Studio是新的机器学习(ML)技术,可将真正的创新体验轻松地呈现给终端使用者,只需几个步骤,开发人员便能使用最少资料打造出最出色的ML程式库。
更新感测器板STEVAL-STWINKT1B上的应用程式
下载并解压缩套件後,下一步便是用功能套件的二进位档案对感测器节点进行程式设计。为了方便使用者,功能套件配备了预先建立的专案二进位档案,取得路径如下:
/FP-AI-MONITOR1_V2.0.0/Projects/STM32L4R9ZI-STWIN/Applications/FP-AI-MONITOR1/Binary/FP-AI-MONITOR1.bin。如图二所示,只需执行拖放动作,即可利用随附的二进位档案对感测器板进行程式设计。
![图二 : 更新STEVAL-STWINKT1B上的应用程式](/art/2022/11/301930044990/p2S.JPG)
图二 : 更新STEVAL-STWINKT1B上的应用程式 |
|
FP-AI-MONITOR1主控台应用程式
设定主控台
利用专案的二进位档案针对感测器板进行程式设计後(如第2、3节所示),接着透过TeraTerm设定感测器板与电脑之间的序列连线。首先,启动TeraTerm,并从工具列选取或选取适当连接埠建立新连线,以建立与感测器板之间的序列通讯。下图为COM10 - USB序列装置(COM 10),但可能会因使用者而异。
设定感测器
透过CLI介面,使用者可针对感测和状态监控应用设定支援的感测器。输入sensor_info指令,即可在CLI主控台上显示所有受支援感测器的清单。此指令会列出受支援感测器及其ID清单,如图所示,而这些ID可用於设定感测器,选项包含:
· enable(启用):启用或停用感测器;
· ODR(输出资料速率):从可用选项清单中设定感测器输出资料的速率;
· FS(全规模范围):从可用选项清单中设定全规模范围。
下图范例为取得和设定的数值,以及旧值和变更後之数值。
成功建立连线後,以下讯息将随即显示,若非如此,请重新设定感测器板。
输入help即可显示所有可用指令的清单及使用说明。
按钮操作模式
模式是让使用者即使没有CLI主控台,仍能在STWIN上操作FP-AI-MONITOR1。在按钮操作模式中,感测器节点可透过使用者按钮控制,不须使用互动式CLI主控台。
然而,按钮操作模式无论是否有搭配CLI皆可执行,且能完全相容於当前的序列主控台以及其命令列介面(command-line interface,CLI)的定义。
此版本功能套件(STEVAL-STWINKT1B)的支援硬体配备下列三个按钮:
1.User按钮:是软体唯一可以使用的按钮;
2.Reset按钮:连接至STM32 MCU重设脚位;
3.Power按钮:连接至电源管理;
以及三个LED灯:
1.LED_1(绿色):由软体控制;
2.LED_2 (橘色):由软体控制;
3.LED_C (红色):由硬体控制,当透过USB连接线供电时,表示正在充电。
因此,按钮的基本使用者互动仅需透过两个按钮(User及Reset按钮),以及两个LED灯(绿色及橘色)完成。以下将详细说明这些资源如何分配,藉以向使用者展示哪些执行阶段为作用中,或报告感测器节点的状态。
可用的应用
· NanoEdge AI异常侦测虚设常式
· n元分类虚设常式
FP-AI-MONITOR1包含部分预先整合的虚设常式,可轻松地由NanoEdge AI Studio所产生和提供的AI状态监控程式库取代。此虚设常式可模拟NanoEdge AI相关的功能,像是在边缘执行学习和侦测阶段。
· 惯性资料分类
此为CLI应用,含有预先建置的人类活动识别模型。
· 双重模式应用
除了上述的三种应用,FP-AI-MONITOR1亦可提供进阶执行,也被称做「双重应用模式」。此模式使用以NanoEdge AI程式库为基础的异常侦测功能,并使用以类比麦克风为基础的预先建置ANN模型进行分类。双重模式可於省电模式下运作,且内含的应用互相独立。以NanoEdge AI程式库为基础的低功率异常侦测演算法会持续依据振动资料执行,而以高频率类比麦克风路线为基础的ANN分类仅会於侦测到异常时触发。除此之外,双重模式是针对USB风扇在最大速度下执行建立,因此於其他速度下测试时,效能并非十分出色。此应用的执行方式非常简单。
叁考资源
[1]FP-AI-MONITOR1连结下载:
https://www.st.com/en/embedded-software/fp-ai-monitor1.html
[2]FP-AI-MONITOR1使用手册:
https://wiki.stmicroelectronics.cn/stm32mcu/wiki/AI:FP-AI-MONITOR1_user_manual
[3]取得更多FP-AI-MONITOR1应用,例如:在FP-AI-MONITOR上执行异常侦测: https://wiki.st.com/stm32mcu/wiki/AI:How_to_perform_anomaly_detection_using_FP-AI-MONITOR1
[4]在STM32L4 IoTnode上执行动作感测:
https://wiki.stmicroelectronics.cn/stm32mcu/wiki/AI:How_to_perform_motion_sensing_on_STM32L4_IoTnode