项目简介
本项目是一个手势识别系统,借助低分辨率TOF传感器“ST VL53L5CX”的深度测量数据实现手势识别。项目将Rust库集成到嵌入式C的STM32CubeIDE代码库中,设备被配置成HID设备,能把识别的手势报告给USB主机。
项目的主要特性和功能
- 手势识别:处理“ST VL53L5CX”传感器的深度测量数据,识别左右滑动、上下滑动、静态保持等特定手势。
- HID通信:设备作为HID设备,以键盘按键形式将识别的手势报告给USB主机。
- 跨语言集成:将Rust库集成到嵌入式C的STM32CubeIDE代码库。
- 电源管理:支持睡眠和唤醒模式,实现低功耗。
安装使用步骤
硬件连接
- AVdd连接到5V电源轨。
- IOVdd连接到3.3V电源轨。
- 其他引脚按CubeMX报告中的说明连接。
编译和烧录
- 构建Rust库和绑定:在项目根目录下,用
cargo build --release --target=thumbv7em-none-eabihf
命令构建。若要重新生成头文件,先安装cbindgen
(cargo install --force cbindgen
)。 - Rust库由
prebuild_debug.sh
/prebuild_release.sh
脚本重新构建,这些脚本会在STM32CubeIDE项目的预构建步骤中自动执行。 - 用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】