Eye Remote Control
This project is developed based on the Quectel Pi H1 single-board computer, leveraging its powerful computing and multimedia processing capabilities to achieve low-latency, high-accuracy eye tracking functionality.
The Eye Remote Control is an intelligent control system that manages video playback through user eye state detection: continues playback when eyes are open and focused on the screen, and automatically pauses when eyes are closed or looking away.
Core Features:
- Automatically plays or maintains video playback when user's eyes are open and focused on the screen
- Immediately pauses current video playback when user closes eyes, looks away, or leaves the screen
Development Resource Summary
Component List
The listed development accessories are provided for reference only. Different development environments may vary. For example, if you are developing via SSH remote connection, the USB expansion dock may not be necessary, and the display monitor can also be replaced as needed.
| Component Name | Quantity | Specifications |
|---|---|---|
| Quectel Pi H1 Single-Board Computer | 1 | Quectel Pi H1 Smart Ecosystem Development Board |
| USB-C Power Cable Charger | 1 | 27W USB Type-C Interface Charger 1.2m Cable Length China Standard Power PD Power Suitable for Raspberry Pi 5 |
| HDMI Cable | 1 | Specification: HDMI 2.0; Cable Length: 1m; Interface: HDMI-A (male)-HDMI-D (male) |
| Ethernet Cable | 1 | Cable Length: 1m; Transmission Rate: Gigabit |
| CPU Heat Sink Fan | 1 | Raspberry Pi 5 Official Active Cooler with Thermal Pad |
| 2PIN PH1.25 Interface Speaker | 1 | 2030 Cavity Speaker Type B, 8Ω 2W, High-quality Sound, Compact Size, 2PIN PH1.25 Connector |
| USB Hub | 1 | UGREEN USB 3.0 Hub |
| USB Camera Module | 1 | OV5693 USB Camera Module |
| Display | 1 | 24-inch HDMI Monitor |
Component Physical Reference
Quick Start
Development Preparation
The Quectel Pi H1 single-board computer comes pre-installed with Debian 13 system image, so no additional image burning is required. Follow the steps below to get started.
Hardware Connection
Heat Sink Fan Installation
First, insert the cooling fan's ribbon cable into the FAN slot of the single-board computer. Then, fix the two ends of the heatsink into the pre-drilled holes on the single-board computer, as follows:
Display Connection
Connect one end of the HDMI cable to the HDMI port on the single-board computer and the other end to the HDMI port on the monitor.
Input Device Connection
Connect USB keyboard and mouse to the USB ports on the hub, then connect the hub to the USB port on the single-board computer. For wireless devices, insert the receiver into the hub's USB port.
Network Connection
Connect one end of the Ethernet cable to the Gigabit Ethernet port on the single-board computer and the other end to the router's port (ensure the router is connected to the internet).
Jumper Connection
Make sure the header pins marked AUTO_POWER_ON in the upper left corner of the single-board computer are shorted with jumper caps.
Power Connection
Connect the USB-A end of the power cable to the power adapter and the USB-C end to the power port on the single-board computer (usually labeled POWER IN).
Speaker Connection
Connect the 2PIN PH1.25 interface speaker to the SPK slot on the single-board computer.
Camera Connection
Connect the OV5693 camera module to the USB port on the single-board computer.
Completed Connection Reference
Project Implementation
Update Sources
sudo apt update
Install ffmpeg
sudo apt install -y ffmpeg
Configure Python Environment
The system default Python version is 3.13, while the MediaPipe model we use requires Python 3.9-3.12. We need to reconfigure the Python path. Python 3.10 is already installed in the system, so we just need to modify the default Python path.
# Backup the current Python path link
sudo cp /usr/bin/python3 /usr/bin/python3.backup
# Delete the current Python path link
sudo rm /usr/bin/python3
# Create a new path link pointing to Python 3.10
sudo ln -s /usr/bin/python3.10 /usr/bin/python3
# Verify the changes
ls -l /usr/bin/python3
python3 --version
Activate Python Virtual Environment
Execute the following command to create and activate a Python virtual environment.
python3.10 -m venv folder_name
Example: python3.10 -m venv ~/mediapipe_env
source ~/mediapipe_env/bin/activate
Download Demo Code
Create a folder named
eye-remote-controlin the terminal of the single-board computer to store the project code.Use the scp command to upload files to the
eye-remote-controlfolder. Refer to the Remote Access SCP File Copying Chapter.Open a terminal in that folder and run the following command to modify file permissions.
sudo chmod -R 755 folder_path
Example: sudo chmod -R 755 /home/pi/eye-remote-control
Update pip Source
Enter the command to update the pip source in the virtual environment of the system terminal.
pip install --upgrade pip
Install Required Libraries
Navigate to the eye-remote-control directory and execute the following commands to install the necessary libraries for the project.
pip install -r requirements.txt
Run Program
Execute start.sh script in the eye-remote-control folder.