
前言:: `1 N" @; k8 t N) A- i" k' A 又到了开学的季节,看着学生们的朝气,心中无限感慨。 刚好又到了周末,外面大大的太阳,闲着无事看到活动,初步了解下感觉还挺好玩,看到手上那么多板子总该得扫扫灰了 0 H" ]- P+ I1 X: }- G 测试准备:* I* S! u* \0 m$ }0 e 1.板子NUCLEO-L452RE 2.需要准备一些数据,我们公司刚好有一些环境传感器的项目,打算拿这些数据测试下' g- L6 l0 s3 A2 v7 u 3.传感器有:负氧离子、空气温度、空气湿度,PM2.5,PM10,准备了一个星期的数据共673条0 J2 z9 ~) U& _$ |" \5 l7 d1 j * ~& G, h# P9 ?2 R. p 测试步骤:/ ^/ f5 O$ _' k9 ] 1.先去官网下载,下载前要填信息,这个邮箱等下会收到激活码& o. q9 M5 c3 S- C, N0 ^ 2.打开安装,然后启动会先显示要填licence,去邮箱复制进去激活即可 3.如下界面,共有5个选项 异常检测 1类,多类,推断,数据日志,具体意思我就不分析了,B站有个讲解视频讲的很好(测完后面我才发现有-_-)4.因为我想推算出空气温湿度和PM2.5和PM10时负氧离子的值,所以用推断(Extrapolation)新建项目; W5 ^$ c" v# p2 z5 P, j) }- k ![]() 5.建完项目后填MAXRAM就是模型最终占用多大RAM,MAXFLASH也是同样,选择目标板子(这里我选了L476RG,跟核心和FLASH、RAM有关系,所以选了最接近的,核心不能选错,跟优化算法有关系的)8 w: ~+ {. \. \ ![]() 6.这步需要导入数据源,我的源文件是xlsx类型不能识别,用WPS另存为转成制表符分隔的TXT(逗号分隔的CSV应该也可以) ![]() 7.点击ADD SIGNAL,把TXT选中放入(因为选了4个传感器所以文件必须5项数据列(第一列是结果列),不然会报错的) 9 g4 I# Y! t) \5 g) W) z& w ![]() ![]() ![]() 8.跑模型,点RUN NEW BENCHMARK,选中你的数据源文件,下面的拖动条是选择运行的电脑CPU核数,START等待运行即可 ![]() ![]() 9.运行完毕后就可以进入仿真(如果想直接在MCU上测可以跳过此步),点击INITALIZE EMULATOR,把测试用的数据放到里面(因为选了4个传感器所以数据必须为4项了,去掉结果项),选完后结果直接在右边输出了 ![]() 10.把模型部署到MCU上,下面都是一些选项,跟MCU优化和省内存有关系,右边是示例代码(稍候复制到工程),COMPILE LIBRARY把输出的文件保存(.zip),将内容解压到测试工程下! W2 `/ D5 u- P% P& E$ M4 j5 h ![]() 11.CUBEMX生成一个工程(省略一大波步骤,不过应该都会),我选了开发板型号后直接改MDK,一键生成,打开MDK2 r8 Z) L( _( j! m* B 12.把头文件包含路径加上生成的文件夹,MiscControls加上--wchar32(默认16会报错),把输出的文件夹下的.a文件加到工程下,右键选择库文件,将文件类型改为library file后OK# R4 V7 E' J/ C ![]() ![]() 13.把NanoEdge_AI的示例代码选择性拷进来(按CUBEMX的走),初始化后运行neai_extrapolation(测试数据数组,推理结果) 14.输出的结果如下(不知道为什么跟电脑上有点小小的差异..,但结果基本很接近)$ g/ `) J. Q! ?6 z7 q9 }* \* ? ![]() 总结:# ?% x$ n% a+ c+ _8 w7 ~1 I 1.用下来还是挺顺手的,刚发布没有中文,稍微花了点时间摸索了下(主要是没看到B站视频,不然看到上手应该很快),之前也接触过AI的平台上的应用,没用过CUBEAI,如果有相关方面的需求这个软件真的很顶,但公司暂时没有这方面需求...- \" D0 I8 c( s 2.这个licence有90天的使用时间,B站视频也说后续要买..(不过花了这么多人力物力整合出来也还算值,就是我买不起的价格o(╥﹏╥)o)。' ~+ a1 ?- t5 W, A& ^7 @ 3.如果也想试用建议先看B站视频,基本上手把手的教,我这不过是把流程在走一次,不过视频用的是CUBEIDE,我用的是MDK,项目建的是推理,其实现在的数据并不是强相关的,这里只是用做演示做的一个例子,可以根据自己的需求再做改动% e$ Y/ U, G5 e 4.ST的生态真的越做越大,软件也做的挺好用的,希望国产能加加油 5 Z' W% \1 Q! {" c" t" O4 \+ i 5.测试用的数据和main.c在下面资源里 & d- O+ `# p: j/ b' y, t2 h |
datapack.zip
下载31.12 KB, 下载次数: 15
STM32如何分配原理图IO
【STM32N6570-DK评测】1.开箱测评
【实测教程】STM32CubeMX-STM32L4之研究(ADC)
【STWINKT1B评测】2.初步测试IIS3DWB振动传感器
【STM32N6570-DK评测】1.你好N6
实战经验 | AFCI上位机用户手册
实战经验 | STM32 AI Model Zoo 的安装及实例介绍
实战经验 | Cortex-M核除0操作的报错机制话题
【圣诞专享活动】使用TouchGFX做GUI显示:圣诞快乐&Merry Christmas!
串口通信波特率异常的解决办法
测完刚好一天,吃完饭撰稿排版下就这么晚了,含泪爆肝
不容易啊,哈哈哈 A0 f/ m; G9 t3 B: w