眼睛遥控器

本项目基于 Quectel Pi H1智能主控板开发,充分利用其强大的计算能力和多媒体处理能力,实现了低延迟、较高准确率的眼部追踪功能。

眼睛遥控器是一个智能控制系统,通过检测用户眼部状态来控制视频播放:注视屏幕时继续播放,闭眼或离开屏幕时自动暂停。

核心功能:

  • 当检测到用户眼睛睁开并注视屏幕时,系统会自动播放或保持视频播放状态。
  • 当检测到用户闭眼、转移视线或离开屏幕时,系统会立即暂停当前播放的视频。

开发资源汇总

开发配件只是作为参考,不同的开发环境可能会有所差异,比如通过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 系统镜像,因此无需再次烧录镜像,仅需按照如下步骤操作即可。

硬件连接

散热风扇安装

先将散热风扇的排线插入智能主控板的FAN插槽中,然后将散热器上的两端固定在智能主控板预留的插孔中,如下:

显示连接

将 Micro HDMI 线一端接入智能主控板的 Micro HDMI 接口,另一端接入显示器的HDMI 接口。

image-20251017144027933

输入设备连接

将 USB 键盘、鼠标接入扩展坞的USB接口,再将扩展坞接入智能主控板的USB接口,若用无线输入设备,将接收器插入扩展坞的USB口即可。

image-20251017144124363

网络连接

将网线一端接入智能主控板的千兆网口,另一端接入路由器的网口(确保路由器已联网)。

跳线帽连接

智能主控板左上角标有AUTO_POWER_ON丝印的排针,确保已经用跳线帽短接。

image-20251017144330473

供电连接

将 USB-A 电源线的 USB-A 端接入电源适配器,USB-C 端接入智能主控板的电源口(通常标注POWER IN)。

image-20251017172353513

扬声器连接

将2PIN PH1.25接口的喇叭连接到智能主控板的SPK插槽中。

摄像头连接

将OV5693摄像头模块接入智能主控板的USB接口即可。

连接完成参考

项目实现

1.在智能主控板终端下新建eye-remote-control文件夹存放项目代码。

mkdir eye-remote-control
cd eye-remote-control

2.使用git命令克隆项目代码。

sudo apt update
#安装git
sudo apt install -y git
#克隆项目代码
git clone https://github.com/Quectel-Pi/demo-eye-remote-control.git

3.在智能主控板的终端下依次执行下面命令。

cd demo-eye-remote-control
#设置脚本权限
sudo chmod 755 install.sh
#执行脚本
./install.sh #终端显示"Deployment complete"则说明部署完成
#重新打开终端,验证python版本
python3 --version #输出“Python 3.10.15”则表示安装成功

运行程序

在demo-eye-remote-control路径下输入./start.sh执行程序启动脚本。

cd eye-remote-control/demo-eye-remote-control/
./start.sh

使用说明

基本操作流程

  1. 启动程序: 程序启动后会自动开启摄像头并开始检测。
  2. 加载视频: 点击"选择视频文件"按钮加载想要播放的视频。
  3. 开始观看: 系统会根据您的视线状态自动控制播放/暂停。
  4. 切换模式: 可使用全屏播放模式获得更好的观看体验。

界面功能说明

  • 全屏模式: 点击"F11"或界面上的全屏按钮进入全屏化界面。
  • 全屏播放模式: 全屏播放视频,并根据实时识别结果控制视频播放。
  • 摄像头开关: 可随时开启或关闭摄像头。
  • 检测开关: 可手动启用或禁用眼部检测功能。
  • 标记点显示: 可视化显示眼部关键点和检测结果。

控制逻辑详解

状态 行为 说明
注视屏幕 + 眼睛睁开 继续播放 系统检测到您正在观看
闭眼或视线移开 自动暂停 离开或闭眼时暂停播放
人脸离开摄像头 自动暂停 超过1秒未检测到人脸

常见问题及解决方案

摄像头无法识别

现象:

No available camera device found

解决方案:

  • 检查摄像头是否正确连接到USB接口。

  • 使用命令检查摄像头是否被识别:

    # Linux
    ls -la /dev/video*
    
    # 使用v4l2-ctl列出摄像头
    v4l2-ctl --list-devices
    
  • 尝试使用其他USB接口。

  • 如果还是不行,使用USB集线器并连接电源。

  • 重新插拔USB摄像头。

应用演示

技术支持与贡献

如在使用过程中遇到问题,欢迎在移远官方论坛 提交技术咨询,我们的技术支持团队将及时为您解答。

项目开源地址:https://github.com/Quectel-Pi/demo-eye-remote-control

欢迎提交 Issue 反馈问题或 Pull Request 贡献代码改进!