眼睛遥控器

Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.


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

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

核心功能:

  • 当检测到用户眼睛睁开并注视屏幕时,系统会自动播放或保持视频播放状态。

  • 当检测到用户闭眼、转移视线或离开屏幕时,系统会立即暂停当前播放的视频。

../../../_images/image_Nfw2bTjZBoNJkcxskhKct3hin0g.webp

开发资源汇总

开发配件只是作为参考,不同的开发环境可能会有所差异,比如通过ssh远程连接进行开发,可以不使用USB扩展坞,显示屏也可以根据需要进行替换。

开发配件清单


配件名称


数量


规格参数

Quectel Pi M1智能主控板


1块


-

USB-C电源线充电器


1个

Micro HDMI线


1根


规格:Micro HDMI 2.0;线长:1m;接口:HDMI-A(公头)-HDMI-D(公头)

网线


1根


线长:1m;传输速率:千兆;

USB摄像头模块


1个

显示屏


1个


24英寸HDMI显示器

配件实物参考

../../../_images/image_FJ6FbSYyVo6Du5xhxjgcwW1TnAu.webp

快速上手

开发准备

Quectel Pi M1 智能主控板出厂默认搭载 Debian 13 系统镜像,因此无需再次烧录镜像,仅需按照如下步骤操作即可。

硬件连接

完成以下所有硬件连接操作,序号与接口示意图保持一致:

../../../_images/image_OOFabNeIioG3n8xG9TfcMhyAnHb.webp
  1. 显示连接: 需根据显示器的接口选择连接方案,这里采用方案二;将Micro HDMI 线一端接主控板 Micro HDMI 接口,另一端接显示器 HDMI 接口;

    • 方案1(高清):将 FPC 排线一端接入 Quectel Pi M1 的 MIPI 接口,另一端接入显示器的 MIPI 接口, 具体细节参考 MIPI。

    • 方案2(兼容):将 HDMI 线一端接入 Quectel Pi M1 的 HDMI 接口,另一端接入显示器的 HDMI 接口。

  2. 网络连接: 用网线连接 Quectel Pi M1 网口和路由器的 LAN 口即可。

  3. 外设连接: 将USB键盘、鼠标、USB摄像头接入 Quectel Pi M1 的 USB-A 接口上;若用无线键鼠,将接收器插入 USB 口即可。

  4. 供电连接:最后将 USB-A 电源线的 USB-A 端接入电源适配器,USB-C 端接入 Quectel Pi M1 的电源口。

项目实现

  1. 在智能主控板上打开终端,使用git克隆项目代码。

sudo apt update
sudo apt install -y git
git clone https://github.com/Quectel-Pi/demo-eye-remote-control.git

执行完成后,当前目录下应生成 demo-eye-remote-control 文件夹。

  1. 在智能主控板的终端下依次执行下面命令,终端显示 Deployment complete 则说明部署完成。

cd demo-eye-remote-control
sudo chmod 755 install.sh
./install.sh

如果执行 ./install.sh 过程中报错,或终端未显示"Deployment complete",请先不要继续执行后续步骤。建议先确认网络连接正常,再返回项目根目录重新执行一次 install.sh。

  1. 重新打开终端,验证Python版本,输出 Python 3.10.15 则表示安装成功。

python3 --version

运行程序

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

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

使用说明

基本操作流程

  1. 启动程序: 程序启动后会自动开启摄像头并开始检测。

  2. 加载视频: 点击"选择视频文件"按钮加载想要播放的视频。

  3. 开始观看: 系统会根据您的视线状态自动控制播放/暂停。

  4. 切换模式: 可使用全屏播放模式获得更好的观看体验。

界面功能说明

  • 全屏模式: 点击"F11"或界面上的全屏按钮进入全屏化界面。

  • 全屏播放模式: 全屏播放视频,并根据实时识别结果控制视频播放。

  • 摄像头开关: 可随时开启或关闭摄像头。

  • 检测开关: 可手动启用或禁用眼部检测功能。

  • 标记点显示: 可视化显示眼部关键点和检测结果。

控制逻辑详解


状态


行为


说明


注视屏幕 + 眼睛睁开


继续播放


系统检测到您正在观看


闭眼或视线移开


自动暂停


离开或闭眼时暂停播放


人脸离开摄像头


自动暂停


超过1秒未检测到人脸

常见问题及解决方案

摄像头无法识别

现象:

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-eye-remote-control
./install.sh

应用演示

eye_remote_control_zh

技术支持与贡献

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

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

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