Skip to content

Developed an advanced Smart Parking system integrating AI-driven license plate recognition. Utilized Arduino WiFi, Python for plate recognition, and C++ for sensor management. Simulated vehicle access through photos, enhancing parking efficiency and security. Integrated seamlessly for optimal performance and accuracy.

Notifications You must be signed in to change notification settings

PedemonteGiacomo/SmartParking

Repository files navigation

Smart Parking IoT Project

Introduction

Developed by Ali Haider & Giacomo Pedemonte, this Smart Parking IoT project utilizes cutting-edge technologies to optimize parking management. The project seamlessly integrates plate recognition, occupancy monitoring, and environmental tracking for efficient parking solutions.

Table of Contents

Smart Parking

This system monitors entrances, exits, plate recognition, and parking occupancy/environment in real-time. Utilizes IoT devices for seamless integration.

Requirements

You will need to have correctly installed in Visual Studio PlatformIO extension to create the correct environment. The integration will be also with Wokwi for Visual Studio.

Usage of WOKWI Simulator with PlatformIO in VS

Follow the instructions in the WOKWI documentation to set up the WOKWI Simulator in your VS Code Workspace using PlatformIO.

This integration provides an efficient way to simulate and test your ESP32-based Smart Parking IoT project. All the information about the Board will be visible and setted inside the .pio folder. Use also the PIO interface to setup correctly the environment.

Now you will need to simply use PIO platform interface to build the workspace and check if all is working fine.

How SMART PARKING works?

Simulation with ESP32

Simulation carried out using ESP32 microcontroller, providing a scalable, easy-to-use, and high-performance solution. Implemented with WOKWI for realistic testing.

Visualize and Interact with the Simulation

After requiring the Wokwi license to use Wokwi free in VS, you will be able to start the simulation directly inside VS. Watch this simple video provided by Wokwi.

Storing Time-Series Data (InfluxDB)

InfluxDB, a high-performance Time Series Database, efficiently handles millions of data points per second. Ideal for DevOps monitoring, IoT applications, and real-time analytics. Organizes data into Buckets and Measurements for efficient storage and retrieval.

InfluxDB - How it Works

  • Buckets: Represent databases where measurements are stored.
  • Measurement: Represents the data being measured, akin to a table.
  • Line Protocol: InfluxDB stores data in Buckets using Line Protocol (LP) for time series representation.

InfluxDB - Data Collection

InfluxDB provides tutorials for different programming languages. Run Telegraf as an MQTT consumer for seamless data ingestion.

Data Collection with Telegraf

Telegraf, a plugin-driven server agent, collects, processes, aggregates, and writes metrics. Efficiently monitors various system parameters and IoT devices.

InfluxDB - Data Exploration

Explore data programmatically using InfluxDB Python client or interactively using InfluxDB UI. Query data, obtain results, and visualize insights.

Visualization & Alerting using Grafana

Grafana, a powerful visualization tool, integrates seamlessly with InfluxDB and Telegraf. Define contact points, set alert rules, and receive notifications via email or Telegram when conditions are met.

Plate Recognition

Utilizes AI-based plate recognition that analyzes simulated pictures, monitoring vehicles inside the parking area. Run the PlateRecogntion.ipynb to see the results.

Plate recognition script is called whenever a car enter or leave the park to manage correctly the plate analysis.

Change the following with a picture of a car in the front or in the back:

img = cv2.imread('license-plates/capture.jpg')

Conclusion

This Smart Parking IoT project leverages innovative technologies to revolutionize parking management. Seamlessly integrating plate recognition, occupancy monitoring, and environmental tracking, it offers a comprehensive solution for modern parking challenges.

Have a smooth parking experience!

About

Developed an advanced Smart Parking system integrating AI-driven license plate recognition. Utilized Arduino WiFi, Python for plate recognition, and C++ for sensor management. Simulated vehicle access through photos, enhancing parking efficiency and security. Integrated seamlessly for optimal performance and accuracy.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages