手势遥控器¶
Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.
本项目是一个基于Quectel Pi H1智能主控板开发的手势识别与远程视频控制示例。
系统通过摄像头采集手部图像,并结合AI手势识别算法,实现对视频播放、播放进度和音量的隔空控制,提供自然的交互体验。
开发资源汇总¶
备注
以下开发配件仅供参考,实际配置可能因开发环境而异。例如,通过SSH远程连接进行开发时,无需USB扩展坞;显示屏也可以根据需要替换,但替换件应满足接口和规格要求。
开发配件清单¶
配件名称 |
数量 |
规格参数 |
|---|---|---|
Quectel Pi H1智能主控板 |
1块 |
|
USB-C电源适配器 |
1个 |
27W USB Type-C接口充电器;线长:1.2米;中国大陆标准PD电源;适用于树莓派5代 |
Micro HDMI线 |
1根 |
规格:Micro HDMI 2.0;线长:1米;接口:HDMI-A(公头)转HDMI-D(公头) |
网线 |
1根 |
线长:1米;传输速率:千兆 |
CPU散热风扇(可选) |
1个 |
|
2PIN PH1.25接口喇叭 |
1个 |
2030腔体喇叭;8Ω 2W;方形喇叭;高音质、小体积扬声器;2PIN PH1.25接口 |
扩展坞(可选) |
1个 |
|
USB摄像头模块 |
1个 |
|
显示屏 |
1个 |
24英寸HDMI显示器 |
配件实物参考¶
快速上手¶
开发准备¶
Quectel Pi H1出厂预装Debian 13操作系统,通常无需重新烧录系统镜像。按照以下步骤操作即可:
硬件连接¶
按照以下步骤完成所有硬件连接(步骤编号与下方接口示意图中的标注一一对应):
显示连接:将Micro HDMI线的一端连接至智能主控板的Micro HDMI接口,另一端连接至显示器的HDMI接口。
网络连接:将网线的一端连接至智能主控板的千兆以太网口,另一端连接至路由器的以太网口。确保路由器已连接互联网。
输入设备连接:将USB键盘和鼠标连接至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
执行 git clone 后,当前目录下应生成 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,则表示Python环境符合要求。
python3 --version
运行程序¶
在 src 目录下执行 python3 main.py 启动程序;若程序正常启动,则会打开摄像头画面窗口。
cd demo-gesture-remote-control/src/
python3 main.py
手势映射¶
备注
请确保摄像头正对用户操作区域,并确保光照稳定、充足。
手势动作 |
控制功能 |
|---|---|
张开手掌(五指) |
播放视频 |
握拳 |
暂停视频 |
手指向右滑动 |
快进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改进代码。