Smart Parking System — Documentation

Indraja Nutalapati
7 min readNov 5, 2020

Purpose of Smart Parking System:

Finding parking space has become a problem that too during the peak times. Sometimes, it kills a lot of time to find a parking space. Smart Parking system finds a solution to this. The application sends data about free and occupied parking places via web/mobile application. Sensors and microcontrollers are placed at each parking place. The user receives the live updates of the vacant places and he chooses the best one. The main idea is to create smart parking, where available parking places could be displayed on a web application.

Requirements Specification:

Hardware Requirements:

1. NodeMCU:

NodeMCU is an open-source Lua based firmware and development board specially targeted for IoT based Applications and is built around a system-on-a-chip called ESP8266. The ESP8266 contains all crucial elements of the modern computer: CPU, RAM, networking(Wi-Fi), modern operating system and SDK.

2. IR sensor:

Infra-red sensor is used to detect an object at the parking space.to detect an object at the parking space.

3. Servo motor:

A servo motor is a rotary actuator that allows for precise control of angular or linear position, velocity and acceleration. This is used to open the entry and exit gates in this system.

4. OLED Display:

It is used to display the information about the vacant parking spaces.

Software Requirements:

1. Arduino IDE:

The Arduino IDE is a software to write and upload the program into the NodeMCU for communication between microcontroller and cloud or a system.

2. MIT app inventor:

MIT App inventor is an open source web application. It allows users to create an android application replacing the complex language of text-based coding into a visual drag and drops building blocks.

Process Specification:

How the prototype is built:

1. IR sensors are placed at each parking space to detect if the parking space is vacant or not.

2. A servo motor is placed to open the entry and exit gates when a car arrives at the gate.

3. Based on the sensors data, total number of vacant parking spaces are calculated and displayed on the display board.

4. The vacant parking spaces information like space number and other information will be updated in the mobile application every time a car enters and occupies a space or every time a car exits and leaves a space.

Demo of the prototype:

The user logs into the mobile application and checks for vacant parking spaces and chooses the space which is convenient to him/her and goes directly to that particular space which saves a lot of time to him/her. If the user doesn’t check the mobile application, the display board at the entry gate tells if there are vacant spaces. If vacant spaces are present the gate gets opened, otherwise it remains unopened.

Flowchart:

Domain Model Specification:

Different entities present in this prototype are:

Car: Looks for a parking space

Parking Lot: Group of parking spaces

Parking Space: Single parking space

Database: Store information about parking space

Display: A mobile application or the OLED display

  • The car entity uses the parking lot to park itself in a vacant parking space(parking lot extends parking space).
  • The database and parking lot has one to many relationship as one database is used to store multiple parking lots information.
  • Finally, display entity shows the information from the database.

IOT complexity Specification

The ER diagram of the system along with attributes is shown as below

The system uses a 3-level architecture, where the sensors collect data (level-1) and sends data to a cloud platform(level-2) to process and store the data. The processed data is displayed on a web application(level — 3)

Service Specification

Type

· Native — Controller

· Web Service — MIT App Inventor

I/O

· IR sensors placed at each parking lot and at entry and exit gates

· The parking system gives information about the vacant parking slots

Endpoints

· Sensors(IR)

· Arduino

· Database

· Mobile application

Schedules

· Every time a car enters or exits the parking lot

Preconditions

· User should be aware of the mobile application.

· User should have internet access to the mobile application.

Effects

· User can view the vacant parking slots with slot number.

Functional View Specification

Here is a list of functional view specification of smart parking system

Devices:

· Actuator

· Sensors

· Computing Device

Communication:

· MQTT Broker — Send data from controller to the cloud

· Wi-Fi — To view data on a mobile application

Services:

· Native service

· Web service

Management:

· Mobile App Management

· Database Management

· Device Management

Security:

· Authentication

· Authorization

Application:

· Mobile Application

· Database

Operational View Specification:

1. Application Group:

· Mobile Application: MIT Mobile App

· Database: Google Firebase

2. Service Group:

· Native Service: Controller Service

· Web Service: MIT App Inventor

3. Management Group:

· Application Management: MIT Management, Google play store, Appstore

· Database Management: Google

· Device Management: Arduino

4. Security Group:

· Authentication: Mobile App, Database

· Authorization: Mobile App, Database

5. Communication Group:

· Protocols: MQTT, Wi-Fi

6. Device Group:

· Computing Device: NodeMCU

· Sensor: IR sensor

· Actuator: Servo motor

Device and Component Integration

Finally, I would like to write about device and component integration of the smart parking system.

The components I am planning to use in developing the Smart Parking System are IR sensors, servo motor, OLED display and NodeMCU.

Now lets look at the connections:

IR Sensor: The IR sensor has 3 pins VCC, GND and Output pins

Servo Motor: 3pins (Orange, Red and Brown — pic in requirement specification)

OLED: 4pins GND, VCC, SCL, SDA

Once the connections are made, program it accordingly and burn the firmware by connecting it to a computer. Then, connect it to a power bank or a computer for power.

Implementation for project demo

A smart parking system which displays information about the availability of the parking lots on a OLED screen. This information can also be viewed on a mobile application called “SmartParking” by the all the authorized users.

For this, I have created a small parking lot with 3 parking slots, 1 entry gate and 1 exit gate and an OLED display board to display the information. All this information is stored in a google firebase database. I have also developed a mobile application which retrieves information from the database and allows users to see the parking spaces before they arrive at the parking lot and choose the best one. When a car arrives at the entry gate, the system looks for the availability of the parking spaces. If there is an availability, the entry gate opens and allows the car to park. Once the car is parked, the database gets updated and the live information is displayed on the screen. But there are situations when the user is not aware of the mobile application or the situation when the parking lot gets filled by the time the car arrives the entry gate. In such situations, if there is no availability, the gate doesn’t open and the car looks for another parking lot where there is availability to park.

Results

Future Work

Allows users to book parking slots in prior

Sometimes, the slots might be full by the time the user reaches the parking slot. To overcome this, it would be better to let the users book the parking lot in prior. There might be a situation where users reserve the slot but do not park. To handle such situations, these slots will only be reserved for a specific time. Notify or alert users about their parking reservation.

Introduce smart paid parking system

In places of paid parking, the system should record the time of entry and the time of exit and charge the users accordingly. The system should allow the users to pay online.

Poster

--

--