手势遥控器
本项目是一个基于 Quectel Pi H1 智能主控板实现的手势识别远程视频控制示例。
系统通过摄像头采集手部图像,结合 AI 手势识别算法,实现隔空控制视频播放、进度与音量的自然交互体验。
开发资源汇总
开发配件清单
开发配件只是作为参考,不同的开发环境可能会有所差异,比如通过ssh远程连接进行开发,可以不使用USB扩展坞,显示屏也可以根据需要进行替换。
| 配件名称 | 数量 | 规格参数 |
|---|---|---|
| Quectel Pi H1 智能主控板 | 1块 | Quectel Pi H1智能生态开发板 |
| USB-C 电源线充电器 | 1个 | 27W USB Type-C接口充电器 1.2米线长中规电源PD电源 适用于树莓派5代 |
| Micro HDMI 线 | 1根 | 规格:Micro HDMI 2.0;线长:1m;接口:HDMI-A(公头)-HDMI-D(公头) |
| 网线 | 1根 | 线长:1m;传输速率:千兆; |
| CPU 散热风扇 | 1个 | 树莓派5代官方原装散热器带导热贴 |
| 2PIN PH1.25接口喇叭 | 1个 | 2030腔体喇叭8Ω 2W方形喇叭高音质小体积扬声器 2PIN PH1.25接口 |
| 扩展坞 | 1个 | 绿联 USB3.0扩展器扩展坞 |
| USB摄像头模块 | 1个 | OV5693 USB摄像头模块 |
| 显示屏 | 1个 | 24英寸HDMI显示器 |
配件实物参考
快速上手
开发准备
Quectel Pi H1智能主控板出厂默认搭载 Debian 13 系统镜像,因此无需再次烧录镜像,仅需按照如下步骤操作即可。
硬件连接
完成以下所有硬件连接操作,序号与接口示意图保持一致:
显示连接:将Micro HDMI线一端接入智能主控板的Micro HDMI接口,另一端接入显示器的HDMI接口。
网络连接:将网线一端接入智能主控板的千兆网口,另一端接入路由器的网口(确保路由器已联网)。
输入设备连接:将USB键盘、鼠标接入扩展坞的USB接口,再将扩展坞接入智能主控板的USB接口;若用无线输入设备,将接收器插入扩展坞的USB口即可;然后把OV5693摄像头模块接入智能主控板的另一个USB接口。
供电连接:将USB-A电源线的USB-A端接入电源适配器,USB-C端接入智能主控板的电源口(通常标注POWER IN)。
散热风扇连接:先将散热风扇的排线插入智能主控板的FAN插槽中,再将散热器两端固定在主控板预留插孔中。
喇叭连接:将 2PIN PH1.25 接口的喇叭连接到智能主控板的SPK 插槽中。
连接完成参考
完成上述连接后,后续关机或重启过程中无需断开摄像头、扬声器、显示器等已连接配件,保持连接状态即可。
项目实现
- 在智能主控板上打开终端,使用git克隆项目代码。
sudo apt update
sudo apt install -y git
git clone https://github.com/Quectel-Pi/demo-gesture-remote-control.git
执行完成后,当前目录下应生成demo-gesture-remote-control文件夹。
- 在智能主控板的终端下依次执行下面命令,终端显示
Deployment complete则说明部署完成。
cd demo-gesture-remote-control
sudo chmod 755 install.sh
./install.sh
如果执行./install.sh过程中报错,或终端未显示"Deployment complete",请先不要继续执行后续步骤。建议先确认网络连接正常,再返回项目根目录重新执行一次install.sh。
- 重新打开终端,验证 Python 版本,输出
Python 3.10.15则表示安装成功。
python3 --version
运行程序
在src路径下执行main.py启动脚本;若程序正常启动,会打开摄像头画面窗口。
cd demo-gesture-remote-control/src/
python3 main.py
手势映射
请确保摄像头正对用户操作区域,并具备稳定光照条件。
| 手势动作 | 控制功能 |
|---|---|
| 张开手掌(5 指) | 播放 / 暂停 |
| 手指向右滑动 | 快进 5 秒 |
| 手指向左滑动 | 快退 5 秒 |
| 手指向上滑动 | 音量 +5% |
| 手指向下滑动 | 音量 -5% |
常见问题及解决方案
摄像头无法识别
现象:
No available camera device found
解决方案:
检查摄像头是否正确连接到USB接口。
使用命令检查摄像头是否被识别:
ls -la /dev/video*尝试使用其他USB接口。
如果还是不行,使用USB集线器并连接电源。
重新插拔USB摄像头。
运行main.py提示No module named cv2
现象:
ModuleNotFoundError: No module named 'cv2'
解决方案:
该问题通常表示install.sh未安装成功,请先返回项目根目录重新执行安装脚本:
cd demo-gesture-remote-control
./install.sh
应用演示
技术支持与贡献
如在使用过程中遇到问题,欢迎在移远官方论坛 提交技术咨询,我们的技术支持团队将及时为您解答。
项目开源地址:https://github.com/Quectel-Pi/demo-gesture-remote-control
欢迎提交 Issue 反馈问题或 Pull Request 贡献代码改进!