STMCU小助手
发布时间:2022-12-30 18:17
|
1.简介 NanoEdge™ AI 库是 Cartesiam 推出的人工智能静态库,它可以帮助客户直接生成可以运行在嵌入式 Arm Cortex 处理器上的.a 静态库文件。 + W' L6 t7 B# E2021 年 ST 收购 Cartesiam,完善了 ST 在 AI 领域的生态,大大降低了客户使用 STM32 开发 AI 应用的难度。通过使用 NanoEdge AI Studio,用户只需要了解基本的 AI 概念,并提供相应的数据,便可以从众多 AI 算法库中智能搜索和生成出最符合用户应用的算法。 1 u3 k J6 P& T7 T1 L1 Y+ fNanoEdge AI Studio 具备以下特点: • AI 库的搜索引擎。• 为嵌入式开发者量身定做。 • 通过抽象化数据科学和机器学习,降低用户开发难度。 • 快速部署机器学习,兼容任何 C 代码。 • 对比传统机器学习方法,使用最少量数据。 本文将介绍 NanoEdge AI Studio 的使用方法,并完成人体姿态识别的简单应用。 2.数据采集 在使用 NanoEdge AI Studio 之前,我们需要准备数据,数据来源可以是公开的数据集,也可以是自己采集的数据,还可以利用 NanoEdge AI Studio 采集数据。 本文将使用 sensorTile.box 完成数据的采集。 2.1硬件介绍 ~2 }: I2 {0 z4 r$ v
' t2 Z* ~5 e' b6 |7 E' j, x) u7 a% T* @ 在 ST 官网搜索 STEVAL-MKSBOX1V1 可以查看关于开发板的基本内容,板载了丰富的运动传感器和温湿度传感器,并且具备 SD 卡,可以保存采集到的数据。板载的 USB 可以用于供电和下载程序,也可以通过 ST-LINK 和开发板连接进行调试和下载。USB 下载程序方法:我们这里使用 STM32 CubeProgrammer 下载程序。首先确保没有用电池供电,然后按住板上的 boot 按钮,连接 USB 到电脑,点击 CubeProgrammer 中如下图图 2所示的 connect。 & O, w$ ~ V3 l$ T6 G- m4 g' @$ J6 `% T* T; O' E0 L7 u2 t/ D& @
o* g7 L. O2 }( A$ Z. r% V) @* k 连接成功后,选择好固件,然后填写下载地址,点击 Start Programming 即可完成下载。如图 3:
, h/ T! Z1 i. S6 V 2.2 软件介绍 关于数据采集和后续的功能测试,推荐使用 FP-AI-SENSING1 这个软件包,可以在 ST官网搜索到。该软件包提供了基本的 BSP,包括按钮,LED,传感器驱动,SD 卡驱动,BLE驱动等。 3 N' }- F0 B/ m) p6 C' a除此之外,它还提供了一些功能可以帮助我们收集数据,包括可以通过 BLE 连接 ST Ble Sensor App,通过该 APP 配置板载传感器采样率,完成数据的采集,并将数据按一定格式保存到 SD 卡当中,本文将利用该方法采集加速度数据。 该软件包也实现了人体姿态识别和声音场景识别的 AI demo,可以在 ST BLE SensorAPP 上展示,其中的 demo 使用了 Cube.AI 工具做模型转换,和本文讨论的 NanoEdge AI 的方法不同,不在本文讨论范围中。 2.3 数据采集步骤 1、编译和烧录程序 下载完 FP-AI-SENSING1 软件包后,需要先编译 bootloader,工程路径位于: . X0 A# _; o% [$ l2 UFP-AI-SENSING1_V4.0.3\Projects\STM32L4R9ZI-SensorTile.box\Examples\BootLoader 编译完成后,下载到 sensorTile.box 当中即可。 然后编译应用程序,工程路径位于: FP-AI-SENSING1_V4.0.3\Projects\STM32L4R9ZI-SensorTile.box\Applications\SENSING1 编译完成后,下载到 sensorTile.box 当中,当上电启动后,绿灯常亮,表明开发板初始化正常完成。蓝色 LED 灯闪烁,表明 BLE 正处于广播状态。 注意: • bootloader 的下载地址为 0x08000000 • App 的下载地址为 0x08004000 • 当使用电池供电,长按 PWR 按钮,可以开机或关机。在后续采集运动姿态数据时,我们需要使用电池供电。 • 如有需要,可通过 USB 给电池充电,充电过程中,红色 LED 会闪烁。 8 b$ E. K; N8 u6 ^! P1 D+ c2 n, M
# [9 o4 g9 M" j* W: X. T7 k1 v" O 2、ST BLE Sensor APP * n( r& j9 `3 e# X3 F该 APP 由 ST 提供,可以展示运动传感器和温湿度传感器,您可从 ST 官网下载(搜索STBLESensor),或者 iPhone 通过苹果商店可以下载,Android 通过 Google Play 或其他第三方下载商店下载。 : ?* Q% C9 ~2 ~ M* z给 sensorTile.box 上电后,开发板会自动进入广播状态,并且蓝色 LED 闪烁,从 ST BLE Sensor APP 点击“开始扫描”,搜索到开发板(sensorTile.box 一般默认命名为 BAI_400)之后,点击连接就可以连接到开发板。连接完成后的展示界面如下: # C5 n- w5 y) Q9 y, G4 `# m
; n! B. u, _: X, u) q2 ^. l 可以通过该 APP 查看运动传感器的数据曲线:
7 Y( E9 E0 J3 B* B! r! v 通过该 APP 进行数据采集的方法:点击左上角菜单,并选择 Data Log,如下: - p9 ]' Q ]$ \1 Y) v
0 |" g8 x2 K& e! Y5 @# K 6 L8 Y& I# R' o' } 在数据采集界面可以选择板载的各种不同的传感器,并设置采样率。本文需要选择加速度传感器,并配置采样率为 52Hz: & r: ?$ O y" e i' x2 q0 g y. C
可以通过 ADD LABEL 来添加一个标签,然后打开该标签,点击 START LOGGING 进行数据采集,采集完成后,点击 STOP LOGGING 完成数据采集。
% O( @# C+ C. e! e( a" S 使用读卡器,读取 SD 卡里面的数据,保存为 CSV 格式,如下:
( d+ g5 W, V( ?- `! R$ z9 \8 ?
% u$ w9 \6 ~2 I 数据起始有一些标注,其中 Stationary 一行就是我们采集数据所打的标签,每一行代表一个时间点采集到的三轴加速度数据,从时间上可以看出约 20ms 进行一次采样,所以采样率约为50Hz,和之前在 APP 中的设置是一致的,采集到的数据格式和我们最终在 NanoEdge AI studio中使用的格式是有差异的,需要进行一定的转换,具体转换方法在后面进行介绍。 3、数据采集 在正式采集数据之前有些问题需要考虑清楚: • 采样率:如果想要比较好的恢复原始信号,采样率必须大于原信号最大频率的 2 倍。但是,目前是无法知道原始信号的最大频率的,比较可行的方法是先以 52Hz 的采样率对数据采集,采集完成后对信号进行分析,看是否满足,如果不满足再进行调整。 ! T X- C7 `7 y; F# e% j• 采样时间:总体的采样时间可以通过 APP 进行灵活的开关,单条信号的采样时间需要自己定义,需要在后续的处理中进行调整。 @: x8 [0 [! x& J6 m6 i• 标签:FP-AI-SENSING1 的软件包人体姿态识别 demo 中,默认包含以下标签:HAR_STATIONARY(站立),HAR_WALKING(行走),HAR_FASTWALKING(快走),HAR_JOGGING(慢跑), HAR_BIKING(骑单车),HAR_DRIVING(开车),HAR_STAIRS(上下楼梯),Sensor APP 中也有对应的 BLE 协议,可以方便的从手机上看到人体姿态活动识别结果,我们从中选择一部分作为测试即可,其中骑单车和开车数据采集较麻烦,可以直接去掉,其余的通过上面介绍的方法通过 ST BLE Sensor APP 进行采集。 ' ~ {- `( s( H• 采集方法:将 SensorTile.box 使用电池供电,放置在裤子的前方口袋中,使用 ST BLE Sensor APP 连接后,按照上文中介绍的方法设置好标签,然后进行相应的动作对数据进行采集。 采集数据的方法之所以选择使用 ST BLE Sensor APP 设置的方法采集,而不是直接去修改固件,是因为当调整这些采集参数的时候,APP 会更方便一些,不用反复编译和烧录代码。 |
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
Keil-MDK 在线调试设置断点的高级用法
请教下STM32N6570 怎么把分辨率改成320x240并可以全屏显示
【福利三:逢7发帖赢大礼】想要充分利用STM32H743VI片内的RAM空间(但并不顺利)
基于stm32平台上的IC-MU磁绝对值编码器SPI通讯和码盘数据处理
使用STM32 MCU和MPU连接PDM数字麦克风
分享STM32资料-采用 STM32U031R8 MCU 的 STM32 Nucleo-64 开发板,官方资料,数据手册等资料
HRTIM 指南
使用 STM32 的 DWT 单元监控内存
DAC,COMP,HRTIM Fault 功能的使用
微信公众号
手机版