面向无线工业节点应用的多传感器AI资料监控架构
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功能套件的顶层架构,如图所示。
图一 : 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上的应用程序
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
评论