Gesture Remote Control

This project is a gesture-recognition–based remote video control demo implemented on the Quectel Pi H1 single-board computer.
The system captures hand images through a camera and uses an AI gesture-recognition model to enable natural interactions such as remote control of video playback, progress, and volume.

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.

image-20251017144027933

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.

image-20251017144124363

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.

image-20251017144330473

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).

image-20251017172353513

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

Install ffmpeg

sudo apt update
sudo apt install -y ffmpeg

Configure Python Environment

The default system Python version is 3.13, but the MediaPipe model requires Python 3.9–3.12.
Since Python 3.10 is already installed, we switch the default Python version.

# Switch to Python3.10
sudo cp /usr/bin/python3 /usr/bin/python3.backup
sudo rm /usr/bin/python3
sudo ln -s /usr/bin/python3.10 /usr/bin/python3
# Install and upgrade pip
python3 -m ensurepip --upgrade
pip install --upgrade pip
image-20251211175705335

Download Demo Code

1.Click to download the code
2.Use the scp command to upload files to the gesture-remote-control folder. Refer to the Remote Access SCP File Copying Chapter
3.Extract the archive:

tar -xzvf gesture-remote-control.tar.gz

Install Project Dependencies

Enter the gesture-remote-control folder and run:

pip install -r requirements.txt

Run the Program

Inside the gesture-remote-control directory, execute main.py to start the application.

Gesture Mapping

Ensure the camera faces the gesture interaction area under stable lighting conditions.

Gesture Function
Open palm (5 fingers) Play / Pause
Finger slide right Fast forward 5 seconds
Finger slide left Rewind 5 seconds
Finger slide up Volume +5%
Finger slide down Volume -5%

Application Demonstration