NanoEdge AI初体验
1、模型概览。
将传感器数据经过NanoEdge AI Studio训练后可以导出模型,文件格式为.zip。解压后可以得到两个文件夹和三个文件。


其中libneai.a是静态库文件(这种文件,常见于Linux系统和嵌入式设备中;Windows系统中的静态库是.dll结尾的文件)。
NanoEdgeAI.h文件是头文件,需要在main里面inculde。
2、将库添加至编译范围
习惯性的把三个文件放入Arduion的库路径下——D:\Documents\Arduino\libraries\NanoEdgeAI

因为NanoEdge AI需要运行在STM32 Cortex-M内核上,才能通过验证,所以就默认你已经安装好Arduino开发STM32的开发环境了哈(如果没的话,可以参考我以前的文章)。
找到此路径下的platform.txt文件,并使用记事本打开。C:\Users\LFF\AppData\Local\Arduino15\packages\STMicroelectronics\hardware\stm32\2.6.0

找到##Combine gc-sections, archives, and objects,在最后添加你的libneai.a文件的目录


保存,重启Arduino IDE。
如何验证是否正确导入静态库了呢?
随便编译一个STM32的项目,没有报错;将.a文件重命名或者移动位置,显示

那肯定就是没问题咯,控制变量么!
参考文章:
arduino使用第三静态库 – 简书 (jianshu.com)
Smart vibration sensor (STM32) — NanoEdge AI Studio documentation (readthedocs-hosted.com)