littlebot
Published on 2025-04-08 / 0 Visits
0

【源码】基于Rust和STM32的手势识别系统

项目简介

本项目是一个手势识别系统,借助低分辨率TOF传感器“ST VL53L5CX”的深度测量数据实现手势识别。项目将Rust库集成到嵌入式C的STM32CubeIDE代码库中,设备被配置成HID设备,能把识别的手势报告给USB主机。

项目的主要特性和功能

  1. 手势识别:处理“ST VL53L5CX”传感器的深度测量数据,识别左右滑动、上下滑动、静态保持等特定手势。
  2. HID通信:设备作为HID设备,以键盘按键形式将识别的手势报告给USB主机。
  3. 跨语言集成:将Rust库集成到嵌入式C的STM32CubeIDE代码库。
  4. 电源管理:支持睡眠和唤醒模式,实现低功耗。

安装使用步骤

硬件连接

  • AVdd连接到5V电源轨。
  • IOVdd连接到3.3V电源轨。
  • 其他引脚按CubeMX报告中的说明连接。

编译和烧录

  1. 构建Rust库和绑定:在项目根目录下,用cargo build --release --target=thumbv7em-none-eabihf命令构建。若要重新生成头文件,先安装cbindgencargo install --force cbindgen)。
  2. Rust库由prebuild_debug.sh / prebuild_release.sh脚本重新构建,这些脚本会在STM32CubeIDE项目的预构建步骤中自动执行。
  3. 用STM32CubeIDE或其他适合的IDE,编译并烧录项目代码到微控制器。

测试

连接微控制器到主机,通过主机软件(如手势识别应用)测试,验证手势识别的准确性和响应速度。

调试

若需调试Rust库,可在cargo的[profile.dev]配置中设debug = true,构建时不使用--release标志,还可根据MCU的内存限制设opt - level = "s"。 - 可用STM32CubeIDE启动stlink gdb - server,然后从终端或VSCode连接;也可自己启动gdb - server。 - 在VSCode中用Cortex - Debug扩展调试。

注意:此步骤假设用户已下载本项目的源码文件,并按以上步骤安装和使用。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】