Skip to content

A smart file-sharing system using ESP32 as a Wi-Fi access point to reflect mobile storage on connected computers via web interface and secure access.

Notifications You must be signed in to change notification settings

akashdip2001/WiFi-MultiDrive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

WiFi-MultiDrive

Here’s a well-structured project proposal for your smart file sharing system, including:

  1. 📄 Project Description
  2. 🧱 System Architecture
  3. 🗂️ Module Breakdown
  4. 🔐 Security Approach
  5. 🔧 Technologies Used
  6. 🧭 Expected Output
  7. 🗺️ System Block Diagram
  8. 💻 Example Microcontroller Code Snippet (ESP32 Web Server base)

📄 Project Title:

Smart Wi-Fi File Sharing System Using ESP32


🧠 Project Description:

This project aims to design a smart and secure local file-sharing system that allows multiple mobile devices to wirelessly share their storage with multiple computers over a Wi-Fi network, using a microcontroller (ESP32) as a central Access Point and File Router. Unlike conventional file transfer apps, this system reflects mobile storage to computers as network drives or folders, accessible securely using passwords.


🧱 System Architecture:

Components:

  • ESP32 Microcontroller: Acts as a Wi-Fi AP and Web Server.
  • Mobile Devices: Connect via Wi-Fi and expose files using an app or web UI.
  • Computers: Access mobile storage via SMB/WebDAV or web interface.
  • Security Module: Ensures only authorized users access shared storage.

🗂️ Module Breakdown:

Module Description
ESP32 Access Point Creates a private Wi-Fi network for all devices.
Web Server Hosts a file manager interface for connected devices.
Mobile File Sync App or browser interface to select files/folders to share.
PC Client Access PCs access mobile file systems as shared folders (network drive).
Authentication Each mobile device is protected with a password per session.

🔐 Security Features:

  • Each mobile uploads a file share request with a session password.
  • Computers must enter this password to access that mobile’s storage.
  • Sessions are temporary and expire after logout or timeout.
  • Data is not stored permanently on ESP32—just proxied/transferred.

🧰 Technologies Used:

Purpose Tool / Platform
Microcontroller ESP32
IDE Arduino IDE
Networking Wi-Fi (ESP32 Soft AP)
File Sharing HTTP + JSON, WebDAV (optional)
PC Access Web Browser or custom drive mapper
Security Hashed passwords (SHA256 or bcrypt)

🧭 Expected Output:

  • Computers will see each connected mobile device as a sharable folder or virtual drive.
  • Files can be browsed/downloaded over a local network.
  • Password prompt ensures authorized access.
  • Optional Google Drive login via the mobile app (future upgrade).

🗺️ Block Diagram:

+-------------------+         +------------------+
|                   |<------->|     Computer 1    |
|    Mobile 1       |          +------------------+
|  [Select Files]   |                 ▲
+-------------------+                 |
       ▲     ▲                        |
       |     |      +-------------+   |
+-------------------+ ESP32 (AP)  |<--+
|    Mobile 2       |<------------+   |
|  [Select Files]   |  - Wi-Fi AP     |
+-------------------+  - File Server  |
                      - Auth Control  |
       ▲                            |
       |                            v
+-------------------+         +------------------+
|    Mobile N       |<------->|     Computer N    |
|  [Select Files]   |         +------------------+
+-------------------+

💻 Example ESP32 Code Snippet (Arduino IDE)

Here’s a minimal ESP32 Web Server code to start your prototype:

#include <WiFi.h>
#include <WebServer.h>

const char* ssid = "FileShare_AP";
const char* password = "12345678";

WebServer server(80);

void handleRoot() {
  server.send(200, "text/html", "<h1>Mobile File Sharing Portal</h1><form method='POST' enctype='multipart/form-data' action='/upload'><input type='file' name='upload'><input type='submit'></form>");
}

void handleUpload() {
  HTTPUpload& upload = server.upload();
  if (upload.status == UPLOAD_FILE_START) {
    Serial.printf("UploadStart: %s\n", upload.filename.c_str());
  } else if (upload.status == UPLOAD_FILE_WRITE) {
    Serial.printf("UploadWrite: %u bytes\n", upload.currentSize);
  } else if (upload.status == UPLOAD_FILE_END) {
    Serial.printf("UploadEnd: %s (%u)\n", upload.filename.c_str(), upload.totalSize);
    server.send(200, "text/html", "File Uploaded");
  }
}

void setup() {
  Serial.begin(115200);
  WiFi.softAP(ssid, password);
  Serial.println("Access Point Started");

  server.on("/", HTTP_GET, handleRoot);
  server.on("/upload", HTTP_POST, []() {}, handleUpload);
  
  server.begin();
}

void loop() {
  server.handleClient();
}

✅ Future Enhancements:

  • Full mobile app to automate file selection.
  • Google Drive integration (via API) for PC access.
  • Download progress, file queuing, and logging.
  • OTA (Over-the-air) updates for the ESP32 firmware.

About

A smart file-sharing system using ESP32 as a Wi-Fi access point to reflect mobile storage on connected computers via web interface and secure access.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy