Skip to content

gab-8323/file-sharing-with-gestures

Repository files navigation

Gesture-Controlled File Sharing

A futuristic file sharing system using hand gestures, inspired by Huawei's feature.

Features

  • Dynamic sender/receiver roles based on gestures
  • Open Palm ✋: Start sharing mode
  • Closed Fist ✊: Grab file
  • Open Palm again ✋: Release and send file
  • Automatic file transfer over Wi-Fi LAN
  • Auto-open received files

Requirements

  • Python 3.8 - 3.11 (Mediapipe compatibility)
  • Webcam
  • Two computers on same Wi-Fi network

Installation

  1. Clone or download the project

  2. Create and activate a virtual environment (recommended)

  3. Install dependencies:

    pip install -r requirements.txt
    

    Note: If mediapipe fails, use Python 3.8-3.11

  4. Run on both systems:

    python main.py
    

Demo Setup

  1. Run main.py on both systems
  2. On sender: Enter the path of the file to share when prompted (or press enter for demo.jpg)
  3. On sender: Perform Open Palm ✋ → Fist ✊ gestures (broadcasts intent)
  4. Move hand to receiver system
  5. On receiver: Perform Open Palm ✋ (triggers file transfer)
  6. File is received in Downloads/received_<filename> and auto-opened

How It Works

  • Gesture recognition using MediaPipe and OpenCV
  • UDP broadcasting for intent signaling
  • TCP for file transfer
  • Control messages via UDP for release signal

Files

  • main.py: Main application loop
  • gesture_recognition.py: Hand gesture detection
  • network.py: Networking and file transfer
  • config.py: Configuration settings

About

Gesture-controlled file sharing application between two computers

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors