眼睛遥控器
本项目基于 Quectel Pi H1单板电脑开发,充分利用其强大的计算能力和多媒体处理能力,实现了低延迟、较高准确率的眼部追踪功能。
眼睛遥控器是一个智能控制系统,通过检测用户眼部状态来控制视频播放:注视屏幕时继续播放,闭眼或离开屏幕时自动暂停。
核心功能:
- 当检测到用户眼睛睁开并注视屏幕时,系统会自动播放或保持视频播放状态。
- 当检测到用户闭眼、转移视线或离开屏幕时,系统会立即暂停当前播放的视频。
开发资源汇总
开发配件清单
| 配件名称 | 数量 | 规格参数 |
|---|---|---|
| Quectel Pi H1 单板电脑 | 1块 | Quectel Pi H1智能生态开发板 |
| USB-C 电源线充电器 | 1个 | 27W USB Type-C接口充电器 1.2米线长中规电源PD电源 适用于树莓派5代 |
| HDMI 线 | 1根 | 规格: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 系统镜像,因此无需再次烧录镜像,仅需按照如下步骤操作即可。
硬件连接
散热风扇安装
先将散热风扇的排线插入单板电脑的FAN插槽中,然后将散热器上的两端固定在单板电脑预留的插孔中,如下:
显示连接
将 HDMI 线一端接入单板电脑的 HDMI 接口,另一端接入显示器的 HDMI 接口。
输入设备连接
将 USB 键盘、鼠标接入扩展坞的USB接口,再将扩展坞接入单板电脑的USB接口,若用无线输入设备,将接收器插入扩展坞的USB口即可。
网络连接
将网线一端接入单板电脑的千兆网口,另一端接入路由器的网口(确保路由器已联网)。
跳线帽连接
单板电脑左上角标有AUTO_POWER_ON丝印的排针,确保已经用跳线帽短接。
供电连接
将 USB-A 电源线的 USB-A 端接入电源适配器,USB-C 端接入单板电脑的电源口(通常标注POWER IN)。
扬声器连接
将2PIN PH1.25接口的喇叭连接到单板电脑的SPK插槽中。
摄像头连接
将OV5693摄像头模块接入单板电脑的USB接口即可。
连接完成参考
项目实现
更新源
sudo apt update
安装ffmpeg
sudo apt install -y ffmpeg
配置python环境
目前系统默认的python版本为3.13,而我们使用的MediaPipe模型需要的开发环境在python3.9-3.12,需要重新指定python路径,系统中已经安装了python3.10,我们修改python默认路径即可。
- 备份当前Python路径链接
sudo cp /usr/bin/python3 /usr/bin/python3.backup
- 删除当前Python路径链接
sudo rm /usr/bin/python3
- 创建新的路径链接指向Python 3.10
sudo ln -s /usr/bin/python3.10 /usr/bin/python3
- 验证修改
ls -l /usr/bin/python3
python3 --version
创建虚拟环境
python3 -m venv 文件夹名称
例: python3 -m venv mediapipe_env
启动虚拟环境
source /home/pi/mediapipe_env/bin/activate
下载demo示例代码
1.在单板电脑终端下新建eye-remote-control文件夹存放项目代码。
2.点击下载代码
3.利用scp命令上传文件到eye-remote-control文件夹下,参考远程访问SCP文件拷贝章节
4.在该文件夹路径下打开终端运行以下命令修改文件权限。
sudo chmod -R 755 folder_path
例: sudo chmod -R 755 /home/pi/eye-remote-control
更新pip源
pip install --upgrade pip
安装项目所需库
进入eye-remote-control目录下执行以下命令安装项目所需库
pip install -r requirements.txt
运行程序
在eye-remote-control文件夹下执行start.sh程序启动脚本。