Project Overview
Parking can be a tedious and inefficient process. In industrial settings (malls, airports, etc.), this is solved with complex capacity-monitoring systems. These systems are expensive and must be constructed for each site. This leads to a large barrier of entry, preventing small and medium-sized lots from having efficient parking.
To solve this, we created a smart parking system using modern IoT and machine learning technology. The design will be modular and require limited installation. Our design includes:
- React Mobile App: A mobile app that displays live parking lot statuses and lets users request lot availability by location.
- MySQL Server: Centralized backend for storing availability and occupancy data.
- Raspberry Pi 5 & AI Hat: Acts as the edge device, requests images from cameras, searches each image for cars using YOLOv8, and reads license plates with PaddleOCR. Finally, it sends the occupancy of the lot to the server.
- High Resolution Cameras: High resolution cameras were found to be necessary. After trying low-res Each image captures an image of a "block" of the parking lot.
The system uses the Raspberry Pi as a server for each lot. The Pi requests a picture from a camera, finds the number of cars, reads the license plates of each car, sends the output to the backend server, and then repeats the process for the next camera. The backend server updates the database to reflect the occupancy of each parking lot, searhces for license plate data, and manages reservation. The app displays lot occupancy data, makes reservation requests to the server, and processes payments. .
High-Level Design.
Single car detected using YOLOv8.
Cars with license plate detection.
ArduCam 16MP Wide Angle USB Camera.
Mobile app UI showing parking lot capacity on the map.
Mobile app UI showing parking lot capacity on the map.
The project's poster showing an overview of the assignment and results.
Demonstration of the Parking System.
Team Members
Harley Peacher
Frontend
Harley is a Software Engineering student focused on user
interface design. He is responsible for creating a
responsive and accessible frontend experience, with
particular emphasis on the user payment system. His work
includes designing and implementing secure and intuitive
payment flows, ensuring users can easily reserve and pay
for parking.
Joseph Schmidt
Server
Joseph is a Computer Engineering student with a strong
background in backend development and networking. He is
responsible for building and maintaining the server
infrastructure, including REST APIs and database
integration, to ensure reliable communication between the
frontend and hardware.
Sullivan Hart
Hardware
Sullivan is a Computer Engineering student with interests
in embedded systems and VLSI. In this project, he is
responsible for developing and deploying camera-based
monitoring systems in parking lots. His work involves
selecting and integrating hardware components, as well as
writing and optimizing software, using YOLOv8, to
accurately detect vehicle presence and report spot
information.
Thomas Olson
Frontend
Thomas is a Software Engineering student with an emphasis
on frontend development and visual design. He leads the
implementation of the map interface to display real-time
parking spot availability. He focuses on usability and
responsiveness, ensuring the map interface remains clear
and efficient on mobile platforms.
Weekly Reports
Semester 2
Report 6Report 5
Report 4
Report 3
Report 2
Report 1
Semester 1
Report 8Report 7
Report 6
Report 5
Report 4
Report 3
Report 2
Report 1
Design Documents
Final Design DocumentMidway Design Document
Design Document 5: Testing
Design Document 4: Design
Design Document 3: Project Plan
Design Document 2: Requirements
Design Document 1: Introduction
Presentations
Final PosterIndustry Panel Presentation
Faculty Panel Presentation
Lightning Talk