课程目的:旨在为AI深度学习解决方案提供关于ST生态系统的实践体验
实验步骤:
下载AI演示项目到ST开发板上
借助智能手机/平板电脑上的应用程序,将传感器数据和标签记录在ST开发板上
给定的Python脚本将处理数据集并训练NN模型
在STM32CubeMX.AI工具的帮助下,将神经网络训练好的模型导入到STM32项目中
相关软硬件简介
软硬件需求列表
IoT开发板—B-L475E-IOT01A
FP-AI-SENSING1
AI特定功能:训练用的数据集、数据标注、STM32模型转换对应代码
其他功能:使用RTOS实现低功耗、手机应用软件“ST BLE Sensor”
实验1:STM32固件下载和演示测试
连接B-L475-IOT01A
用Micro USB线连接到B-L475-IOT01A
连接之后,驱动会自动安装,请稍等一会儿
在ST-LINK(调试器)驱动程序已正确安装的情况下,端口(LD6)附近的指示灯将切换为红色
ST-LINK驱动安装
ST-LINK驱动安装检查
还可以在设备管理器的端口中检查是否会出现新的虚拟COM端口
B-L475-IOT01A默认固件下载
打开工程
双击SENSING1.eww,打开工程(IAR)
修改main.c文件
修改main.c文件中的InitBlueNRG_Stack(void)函数,BoardName字符串将是手机/平板APP中显示的开发板名字
FP-AI-SENSING1编译及下载
单击Rebuild all,然后单击Download and Debug按钮。将固件成功下载到STM32后,单击Stop按钮
Open the FW project in CubeIDE
修改main.c文件
修改main.c文件中的Init_BlueNRG_Stack (void)函数,BoardName字符串将是手机/平板APP中显示的开发板名字
Build the code
下载到开发板
ST BLE Sensor App
BLE Sensor应用程序。选择BLE名称;在下面的选项卡中选择“Activity Recognition”;晃动开发板,确认活动将从“Still”变为“Walking”或“Running”。
实验2:数据收集和神经网络训练
数据收集
使用ST BLE Sensor应用程序,我们现在可以收集特定状态(步行、慢跑、静止、楼梯)的运动传感器数据,并标记它们,以便通过重新训练神经网络来更新它。
数据记录功能可用于使用户能够创建用于训练其NN模型的数据集
文件包中还提供了用于模型重新培训的预处理Python脚本
在记录新手势的数据时,请注意以下细节:先启动日志,再打开标签。
手势完成后,可以禁用手势标签(手势末尾也会做注释)并停止日志(关闭.csv文件)。
断开USB连接
将跳线从位置“1-2”移动到“5-6”
将USB电缆连接到USB OTG端口
在保持按下“USER”(用户)按钮的同时,还按下“Reset”(复位)按钮
先松开“Reset”(重置)按钮后,再松开“USER”(用户)按钮
神经网络训练
Python脚本命令行参数选项
实验3:导入更新的网络模型并下载
STM32固件更新
为了生成模型文件我们需要创建一个新的CubeMX项目