🚗 Smart IoT-Based Parking Management System Using ESP32-CAM and Custom ANPR Model

View on GitHub

📋 Project Overview

The Smart Parking Management project is an IoT-based solution designed to automate vehicle parking processes using the ESP32-CAM module and Automatic Number Plate Recognition (ANPR). The system captures vehicle images, sends them to a local server for number plate recognition, and controls access using IR sensors and a servo motor. A web interface provides real-time status updates, including time, system status, and recognized number plates. The project integrates hardware (ESP32-CAM, IR sensors, servo motor, flashlight) and software (ANPR model, local server) to create an efficient parking management system suitable for small-scale parking lots.

This repository contains all the code, documentation, and resources needed to replicate the project, including ESP32 firmware, server-side code, ANPR model, testing scripts, and circuit diagrams.

🔧 Key Components

📷 ESP32-CAM

  • Microcontroller with OV2640 camera module
  • Captures vehicle images
  • Hosts web server for status monitoring

🔍 IR Sensors

  • Two infrared sensors for entry (GPIO 16) and exit (GPIO 15)
  • Detect vehicle movement
  • Trigger image capture and servo actions

⚙️ Servo Motor

  • Controls gate mechanism
  • Toggles between 0° and 90° based on entry IR sensor
  • Connected to GPIO 14

💡 Flashlight

  • LED on GPIO 4
  • Illuminates scene during image capture

🖥️ Local Server

  • Flask-based server (192.168.29.56:5000/upload)
  • Processes images and performs ANPR
  • Returns JSON with number plate and image URL

🤖 ANPR Model

  • Jupyter Notebook (anpr.ipynb)
  • Implements Automatic Number Plate Recognition
  • Uses computer vision techniques

🌐 Web Interface

  • HTML interface served by ESP32-CAM
  • Displays real-time system status, time, last event, and captured images

⚡ Components

ESP32-CAM
IR Sensors
Servo Motor
Flashlight
Breadboard
Jumper wires

💻 Tech Stack

Python
OpenCV
Arduino IDE
Cloud Server
ANPR Jupyter Notebook
MongoDB