
继续昨天的分享。打开NanoEge AI studio后,单击n-Class Classification选择它作为项目类型,新建项目;然后单击“CREATE NEW PROJECT”来创建项目。不同的软件版本,界面会有一些差别。建立新的项目名称,如图1所示:4 p5 v: b9 o$ ]$ D- T. A% j ![]() 图1% m; U" {) [1 ^8 v- |9 E Name中输入项目名称,暂输入STWIN-DTMF。 选择板卡,选择麦克风,点击Next,进入第二步signals,点击Add signals,弹出的对话框中选择From serial(USB).然后弹出import signal窗口,如图2所示: ![]() 图2 选择端口,波特率选择921600,maximum number of lines 选择200,采样数选大一点会更好。class name 修改为key1,如果这个地方是file name,可能有些步骤有点问题,会影响会面的程序。OK,打开手机音频发生器,长按1,放到板卡的麦克风附近,静止或移动都可以。点击软件的START/STOP开始采样,直到采样完毕,点击Continue。采样完毕如图3所示: ![]() 图3 这里暂时之采样1和2的声音。( e3 I) a y' l0 }7 p 进入第三步benchmark,如图4所示:, y6 h* q5 O& S3 H ![]() 图4 点击开始,自动基准测试,当达到所需性能时,可以停止基准测试。进入第四步Validation,选择最好的一个可以进行验证,这里测试跳过。& w. [/ {' k4 l( {! F; Y6 z- @* j 进入第五步,Deployment,选择如图5所示:0 s, |6 l7 j! H ![]() 图5& e3 ^ c% q; H " U* q1 g4 a% m, e) q 点击compile library,在弹出的对话框出保存库文件。 解压缩库文件后,如图6所示: ![]() 图11, ]0 g4 e8 S; i( ?; u9 z% J 用于分类的 NanoEdge AI 静态库是包含 AI 模型(例如,作为信号处理、机器学习模型、优化调整的超参数等的集合)的代码,旨在识别某一类中的传感器模式。所有类别均由用户在 NanoEdge™ AI Studio 中定义,并在 AI 模型的训练过程中使用。 文件里libneai.a是分类器的C/C++静态库,knowledge.h是包含知识缓冲区声明的头文件,NanoEdgeAI.h是包含函数原型和示例声明的头文件。copy这三个文件替换掉下载STWIN_DTMF_Classifier\Core里的文件。使用STM32CubeIDE打开项目。 将NanoEdgeAI.h中的部分代码copy到main函数/* USER CODE BEGIN PV */和/* USER CODE END PV */之间,如图7所示:# q( Y/ h* i& G6 Y9 j# U ![]() 图7 然后进行编译,这里花了不少时间,一直提示no st-link detected。更新libusb-1.0.dll也不管用,最后AI提示在IDE的Help中有一个ST-LINK Upgrade,如图8所示:* ^7 h1 a0 u; o* _- m ![]() 图8 更新后就OK了。3 y% ^. T, f+ R8 L4 @ download程序后,打开Tera term,在选项用有一个串口,选择端口,波特率,如图9所示:1 y B, n% H6 B4 L ![]() 图9 点击连接,可以看到不断的在输出。如图10所示: ![]() 图10 打开声音发生器,靠近板卡,播放1,就会key1的位置,播放2,就会听到key2的位置。 这就是整个的音频分类器的实现过程,可扩展性很强,代码可以自己继续修改,实现更好的显示和功能,也可以使用其他传感器,比如加速度,比如震动传感器继续学习,测试。期待下一个测试项目。6 S( S1 }2 f( r4 T: p |
STM32如何分配原理图IO
【实测教程】STM32CubeMX-STM32L4之研究(ADC)
【STWINKT1B评测】2.初步测试IIS3DWB振动传感器
【圣诞专享活动】使用TouchGFX做GUI显示:圣诞快乐&Merry Christmas!
串口通信波特率异常的解决办法
【STWINKT1B 评测】5. NanoEdge AI 音频分类器 (1)
STWINKT1B评测】4.测试板载ISM330DHCX(6轴)
【STWINKT1B评测】-03-CoreMark跑分测试
【STWINKT1B评测】-02-串口-定时器LED灯测试
【STWINKT1B评测】-01-开箱和资料分享