declaration · an internet of things (iot) based parking system informs the user to find out about...

92

Upload: others

Post on 20-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective
Page 2: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

i

DECLARATION

We hereby declare that we carried out the work reported in this report in the School

of Electrical and Computer Engineering, Addis Ababa Institute of Technology, under

the supervision of Mr. Melaeke Serawit. We solemnly declare that to best our

knowledge, no part of this report has been submitted here or elsewhere in a previous

application for a final year project. All sources of knowledge used have been duly

acknowledged.

................... ....................... .....................

Ewnetu Kefale Meklit Motbainor Yishak Nur

ATR/2459/06 ATR/2932/06 ATR/3547/06

Page 3: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

ii

ACKNOWLEDGMENT

At the very beginning we would like to express our gratitude to almighty God for

giving us strength and composure to complete our BS. c. Thesis project within the

scheduled time.

During the period of our project, we have received generous help from many

quarters, which we like to put on record here with deep gratitude and great pleasure.

First and foremost, we would like to thank our respected families for their emotional

support. Secondly, we are grateful to our advisor Mr. Melaeke Serawit, who allowed

us to encroach upon his precious time freely right from the very beginning of the

project till now. His guidance, flexibility and another perspective on issues raised

paved the way for a meaningful and successful project output. We are grateful

especially to Anteneh Alemu (PhD), who was kind enough to give us components for

the project.

Page 4: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

iii

EXECUTIVE SUMMARY

Roads are designed and built to handle traffic which doubles or triples in a quarterly

rate. All these cars come to rest at some time, we see double parking everywhere

and even triple parking (we had to come up with a term) because the drivers won’t

take the risk of going elsewhere to park their car just because they have no idea of

what awaits them in other parking areas.

Getting the right “information” about “space” to the drivers in our city so they won’t

waste their time looking for parking spaces or park inappropriately because of lack

of information. With the right funding and wide scale implementation, the project can

be helpful in reducing illegal parking and in a way help with the traffic jams we see

in our city.

An Internet of Things (IoT) based Parking System informs the user to find out about

the nearest parking area and gives availability of parking slots in that respective area.

It mainly focuses on reducing time in finding the parking slots and also avoiding

unnecessary travelling through filled parking lots in a parking area. Thus, it reduces

the fuel consumption which in turn reduces carbon footprints in the atmosphere.

This project mainly focuses on the city of Addis Ababa and takes into account the

city’s infrastructural and technological advancements.

As a methodology, since we have worked on the hardware and software sections of

the project separately we have used staged delivery for the hardware section and

extreme programming for the software section, in which we worked our way up the

system from the basic sensors all the way to our server.

Page 5: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

iv

Table of Contents

Declaration..........................................................................................i

Acknowledgment.................................................................................ii

Executive summary.............................................................................iii

List of figures.....................................................................................vi

List of tables....................................................................................viii

1. Introduction ...................................................................................1

1.1 Background...............................................................................1

1.2 Significance and Motivation.........................................................2

1.3 Aim and Objective .....................................................................3

1.4 Methodology .............................................................................4

2. Literature Review.............................................................................7

3. System Description and Architecture.................................................13

3.1. System Overview and Requirements...........................................13

3.2. Project Plan and Timeline..........................................................14

3.3. Working Principle.....................................................................16

3.4. Components of the System.......................................................17

3.4.1. IR Sensor........................................................................18

3.4.2. Ultrasonic Sensor.............................................................20

3.4.3. Arduino...........................................................................22

3.4.4. Raspberry PI....................................................................24

3.4.5. Server............................................................................27

3.4.5.1. Django Framework...............................................28

3.4.5.2. Django REST API..................................................29

3.4.5.3. Celery and RabbitMQ............................................31

3.4.6. Parking Area and Parking Building......................................34

3.4.7. User and Parking Attendant Mobile Applications....................35

3.4.8. Admin Dashboard.............................................................37

4. System Design and Walkthrough......................................................39

4.1. Hardware Components.............................................................39

4.1.1. Arduino and Sensor Configuration.......................................39

4.1.2. Communication Modules....................................................43

4.2. Software Design and Implementation.........................................45

4.2.1. Server-Side Implementation..............................................45

4.2.2. End User Applications........................................................48

4.2.2.1. Functional and Non-Functional Requirements............48

4.2.2.2. Actors, Goals and Use cases...................................50

4.2.2.3. User Interface Design............................................59

4.2.2.4. Network Protocol and Hardware requirement............64

Page 6: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

v

5. Design of Tests............................................................................65

5.1. Hardware Testing..................................................................65

5.2. Testing Server......................................................................66

5.3. Testing Mobile Applications.....................................................69

6. Results and Conclusion.................................................................71

7. SWOT Analysis............................................................................75

8. What’s Next................................................................................77

9. References.................................................................................79

Appendix........................................................................................81

Page 7: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

vi

LIST OF FIGURES

Figure 1: Staged Delivery ........................................................................4

Figure 2: Extreme Programming Features..................................................6

Figure 3: Project Steps...........................................................................14

Figure 4: Internet of Things.....................................................................16

Figure 5: General Smart Parking System Architecture ................................18

Figure 6: IR Obstacle Avoidance Sensor....................................................19

Figure 7: HC-SR04 (Ultrasonic Sensor) .....................................................21

Figure 8: Diagram of the basic ultrasonic sensor operation...........................21

Figure 9: Arduino UNO............................................................................23

Figure 10: Raspberry Pi Model B+ v 1.1....................................................24

Figure 11: A typical server room..............................................................27

Figure 12: Django Architecture................................................................28

Figure 13: Sample JSON code format.......................................................30

Figure 14: Classic Consumer/Producer Problem.........................................32

Figure 15: RabbitMQ, Celery, Redis..........................................................32

Figure 16: The concept of broker and task runner (worker) explained...........33

Figure 17: Parking Building and Parking Area............................................34

Figure 18: Top view of a parking building system implementation (case 1) ...39

Figure 19: Top view of a parking building system implementation (case 2) ...41

Figure 20: Top view of parking area implementation..................................42

Figure 21: Proteus simulation of a parking building case scenario................43

Figure 22: Serial Communication............................................................44

Figure 23: Experimental setup 1.............................................................44

Figure 24: Experimental setup 2.............................................................45

Figure 25: ER Diagram Layout................................................................46

Figure 26: Admin Dashboard summary list...............................................47

Figure 27: Snapshot of Map view of the server.........................................47

Page 8: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

vii

Figure 28: Use case diagram for parking attendant app...........................51

Figure 29: Use case diagram for user app.............................................55

Figure 30: Parking attendant app mockup............................................59

Figure 31: UI design for parking attendant app-1..................................60

Figure 32: UI design for parking attendant app-2..................................60

Figure 33: User app screens mockup...................................................61

Figure 34: UI design for user app-1.....................................................62

Figure 35: UI design for user app-2.....................................................63

Figure 36: Map Navigation in action......................................................64

Figure 37: Summary results from different tests....................................73

Figure 38: Big Data...........................................................................78

Page 9: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

viii

LIST OF TABLES

Table 1: Summary of Intelligent parking systems.....................................12

Table 2: Gantt Chart for the Project.......................................................15

Table 3: Comparison between Arduino UNO and Raspberry PI 2.................26

Table 4: Functional Requirements for parking attendant app.....................48

Table 5: Non-functional Requirements for parking attendant app...............49

Table 6: Functional Requirements for user app........................................49

Table 7: Non-functional Requirements for user app..................................50

Table 8: Actor and Goal of parking attendant app....................................50

Table 9: casual description of use cases for parking attendant app.............51

Table 10: Traceability Matrix for parking attendant app............................52

Table 11: UC-1 Description for parking attendant app..............................52

Table 12: UC-2 description for parking attendant app..............................53

Table 13: UC-3 Description for parking attendant app..............................53

Table 14: UC-4 Description for parking attendant app..............................54

Table 15: Actor and Goal of user app.....................................................54

Table 16: Casual Description of use cases for user app.............................55

Table 17: Traceability matric for user app...............................................56

Table 18: UC-3 Description for user app.................................................57

Table 19: UC-4 Description for user app.................................................57

Table 20: UC-5 Description for user app.................................................58

Table 21: UC-8 Description for user app.................................................58

Page 10: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

ix

Table 22: UC-1 Description for user app.................................................59

Table 23: Test results of the database lookup.........................................71

Table 24: Test results after removing the serializer.................................72

Table 25: Using of Broker in implementation..........................................72

Table 26: Strengthes..........................................................................75

Table 27: Weaknesses.........................................................................76

Table 28: Opportunities.......................................................................76

Table 29: Threats...............................................................................76

Page 11: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

1 |

1. INTRODUCTION

1.1. BACKGROUND

As residents of Addis Ababa we travel a lot specially to get to school and back home,

on our way we see different parking areas filled with illegally parked cars.

Finding a free parking slot in a congested city like Addis Ababa is very hard. Here, if

anyone wants to go outside from home with a personal car first thing that comes to

mind is about parking, where he/she will park his/her car. In most cases, people go

to a parking stations and find that all parking slots are full and then have to go to

another parking station hoping there will be space there. Most of them end up parking

illegally creating traffic jam and making it hard for parking attendants.

Though it seems not like an issue; it is still quite an issue. Infrastructure wise we

have witnessed some work done in the city, we can take the parking garage in

Kasanchis which is very organized and has its display setup outside the building with

the number of cars parked in it. The new parking building around Megenaga is also

another modern parking building. Different buildings offer parking services in

different parts of the city, it is a good start but lacks coordination among the different

facilities because it doesn’t consider the fact that the driver needs to be physically

present to find out if there is a parking slot available.

In recent research in metropolitan cities along with the increasing population their

vehicle density on roads. Hence this leads to annoying issue for the drivers to park

their vehicles as it is very difficult to find a parking slot. The drivers usually waste

time and effort and end up parking their vehicles finding a space on streets through

luck. In worst case, people fail to find any parking space especially during peak hours

and festive seasons. In general parking is a huge pain spot for many drivers.

Inefficient allocation of space, lack of knowledge about parking availability, and lack

of visibility in regarding pedestrians, blind slots, and danger zones all greatly

contribute to parking problems.

Let’s take a case scenario, Abebe is a resident in Addis Ababa working in some

government office. Like many others in the city, he commutes to work each and every

day, so he uses his car quite frequently. He often has trouble parking slots, which

gets frustrating. He frequently becomes stressed because of poor traffic conditions

hinder his ability to find parking. Parking issues could have more serious problems,

such as missing flight or having to confront management about untimeliness.

We researched on the topic further and found out the following statistics, from July

2011 study conducted by IBM across 20 major international cities, highlights existing

parking related problems:

✓ Drivers in urban areas need nearly 20 minutes on average to find parking

✓ Between 30 to 45 percent of traffic in cities is caused by drivers looking for

parking

Page 12: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

2 |

✓ 60 percent of drivers reported giving up on finding parking at least once in the

calendar year.

✓ 27 percent of the drivers surveyed got into arguments with fellow drivers over

parking spaces.

The problems mentioned in the previous sections and in this section, all point to the

same direction, we need some kind of efficient system to control all this and make

everything better or at least take the first step in the right way. Different systems

have been designed and implemented all over the world to bring down the problems

caused by parking problems. According to our research, a well laid parking system

could result in 220,000 gallons of fuel savings till 2030 and approximately 300,000

gallons of fuel saved by 2050 if implemented successfully.

Infrastructures are designed and built to last and be used for many years, but a lot

of factors are not considered in the design phase. People are so eager to see their

work come to life, they often dive into implementation without taking a look at the

whole thing from a different perspective. This is often true in many cases. Narrowing

it down to our problem domain, roads are designed and built to handle traffic which

doubles or triples in a quarterly rate. All these cars come to rest at some time, we

see double parking everywhere and even triple parking (we had to come up with a

term) because the drivers won’t take the risk of going elsewhere to park their car

just because they have no idea of what awaits them in other parking areas.

1.2. SIGNIFICANCE AND MOTIVATION

An IoT [Internet of Things] based Parking System, as the name suggests is exactly

what one would think it would be. Putting aside the implementation, what the project

intends to achieve is a way we can park our vehicles in a smart way. We are not

planning to make cars so smart that they find a place to park for themselves, that is

a different topic of interest rather we are trying to aid the parking system by

introducing technology into the working system.

With people’s desire to have their own cars and the car sales sector growing, we will

need to consider “Space” as a factor. Space in our domain will be a parking slot,

which is plenty if used properly and the right information about space is given to the

right individuals at the right time.

Another factor to the mix, “Information” which seems to be generated by the second

and growing by the minute. Information is a key for decision making, in our problem

domain if all those drivers have the information about all the parking spaces available

in the city they won’t double or triple park which apparently creates the risk of being

hit by another car. Internet of things (IoT) plays a vital role in connecting the

surrounding environmental things to the network and makes it easy to access those

un-internet things from any remote location. It’s inevitable for the people to update

with the growing technology. And generally, people are facing problems on parking

vehicles in parking slots in a city.

Page 13: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

3 |

An IoT based Parking System informs the user to find out about the nearest parking

area, gives availability of parking slots in that respective area and have the chance

to reserve the parking spot before arrival. It mainly focuses on reducing time in

finding the parking slots and also avoiding unnecessary travel through filled parking

slots in a parking area. Thus, it reduces the fuel consumption which in turn reduces

carbon footprints in the atmosphere.

1.3. AIM AND OBJECTIVE

The goal of this project is to create a user friendly and adaptable system that can be

implemented in large, multi-level parking garages in order to alleviate parking

hassles. The ultimate goal is that the ideas and planning demonstrated through this

system can then be easily upgraded to an actual parking facility. The purpose of the

development of IoT based parking system is to eliminate the unnecessary frustration

drivers experience as they waste priceless minutes circling parking garages looking

for a slot. In addition, traffic flow within the area will be better regulated, creating a

safe atmosphere for both drivers and pedestrians.

What we plan to do is get the right “information” about “Space” to the drivers in our

city so they won’t waste their time looking for parking spaces or park inappropriately

because of lack of information. With the right funding and wide scale implementation

the project can be helpful in reducing illegal parking and in a way help with the traffic

jams we see in our city.

Why do we need such a system?

✓ To accurately predict and sense slot/vehicle occupancy in real-time

✓ Guides residents and visitors of the city to available parking

✓ Simplifies the parking experience and adds value for parking stakeholders,

such as drivers

✓ Help traffic in the city flow more freely leveraging IoT technology

✓ Plays a major role in creating better urban environment by reducing the

emission of carbon dioxide and other pollutants

✓ It enables better and real time monitoring and managing of available parking

space

Overall benefits include:

✓ Gives the drivers information about parking spaces available

✓ Eliminates the hassle of circling a parking garage or area in search of a parking

spot

✓ Helps the traffic flow because of less illegal parking

✓ Saves resources and time

✓ Allows drivers to reserve parking slots before arrival

✓ Creates a way for further advancements and research in the sector

Page 14: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

4 |

Going to the bigger picture, systems like this can go well beyond avoiding the

needless circling of blocks. They can also enable cities to develop fully integrated

multi-modal intelligent transportation system that don’t rely on cars in the first place.

1.4. METHODOLOGY

Since our project is composed of both hardware and software components, we have

divided the methodology as we see fit. In the first phase which is covered in the

semester project we have used the staged delivery to work on the project since we

were working on the hardware section of the project. Staged delivery helped us in

different aspects of the project, since we completed some part of the project and we

were able to test it and move to the next stage with a full confidence that the current

module is working according to the design requirements.

Fig 1: Staged Delivery

The reason behind why we chose this methodology for our first phase of the project

is that it helps us identify problems early and let us work on them before moving on

to the other build.

Staged delivery model allows us to deliver our components in stages. It prioritizes

the stages set by us and the general timeline for the semester. It is easier for us to

allocate time and resources. Furthermore, it is a rather safe model to use and poses

quite a contrast against flexible models that are risky for some.

Page 15: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

5 |

Staged delivery model employs 4 phases:

Requirement specification: the phase wherein requirements and needs are

defined.

Planning: in the requirement specification phase, needs were determined; for the

planning phase, we set goals and what we hope to accomplish.

Implementation and Testing: phase 1 and phase 2 indicated the needs and goals;

in the implementation and testing phases, the goals are being subdivided into

smaller, more specific categories, with emphasis on priorities. The subcategories such

as designing, testing and distribution are being tested, thereby making them ready;

should the project stop at any point.

Closure: the phase wherein every document and result gathered from the project is

assessed. Best practices are delivered here, and a careful evaluation of positive and

negative outcomes of projects is then used for current and future tasks.

There are several advantages of using the staged delivery model. For one, it is rather

predictable system that allows the project team(us) to easily detect problems before

they happen. This way we can avoid unnecessary costs and resources when faced

with issues along the way.

Another advantage is that the product can be used right away before the full project

is complete. Additionally, since testing is done more often, there is close interaction

between team mates and advisor and other stakeholders of the project. Lastly, since

the project is divided into smaller tasks in the third phase, there is less room for

error.

In the second part of our project we have yet employed another methodology

because we were focused on the software part of the system, which needed more

through approach and a hand on iterative process than the hardware part of the

project.

For the second phase of our project, we have chosen to follow Agile Software

Development Methodology because it provides various benefits for our project

described below.

Agile software development allows us to have effective response to changes in our

requirements and changes in priorities of requirements. Especially in our project it’s

difficult to know in advance which software requirements will change and which will

remain and also, it’s hard to know in advance which priorities will change. Agile

software development allows our team to be structured in a way that encourages

simplistic communication between team members.

Moreover, we can’t get full information in advance about our design without trying

out the implementation then we can iterate back to the design phase based on our

augmented knowledge from the implementation.

Page 16: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

6 |

Since we have big time constraints to make sure we’re on the right track to produce

our product we need to observe parts of the working product first and then we will

build on that incrementally. In addition, Agile Software Development also encourages

important skills of teamwork such as common focus, collaboration, decision making

ability, mutual respect and self-organization.

Among the many approaches to agile software development methodology we have

chosen the Extreme Programming (XP) approach because it has the upcoming

benefits to us and our project.

Extreme programming, at the heart of its foundation are communication, simplicity,

feedback, courage and respect. Most importantly we need our tasks to be as simple

as possible (Simplicity) so we need to focus on our immediate needs only. This means

XP creates faster software with less glitch.

Figure 2: Extreme Programming Features

It also has better risk management because it uses pair programming and in pair

programming every code is done by two programmers meaning one will focus on

writing code and the other will try to understand the code and checks if it follows

standards suitable for testing.

Page 17: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

7 |

2. LITERATURE REVIEW

We did an overall research on the topic and have read through several articles that

raise the same issues in our problem domain.

Sources [24] for this section are mentioned in the reference section.

The current transportation infrastructure and car parking facilities are deemed insufficient in sustaining the influx of vehicles on the road.

Therefore, problems such as traffic congestion and insufficient parking space inevitably crops up. In Africa, the situation is made worse by the fact that the roads

are significantly narrow compared to the West. Various measures have been taken in the attempt to overcome the traffic problems. Although, the problem can be

addressed via many methods, the paper focuses on the car park management system introduced, which is the smart parking system. This literature review will discuss the evolution of vehicle detection technologies as well as the detection systems

developed over the years.

The industrialization of the world, increase in population, slow paced city development and mismanagement of the available parking space has resulted in

parking related problems. There is a dire for a secure, intelligent, efficient and reliable system which can be used for searching the unoccupied parking facility, guidance

towards the parking facility, negotiation of the parking fee, along with the proper management of the parking facility.

The smart parking system implemented mainly in the Europe, United States and Japan is developed with the incorporation of advanced technologies and researches

from various academic disciplines. With its deployment in the car parking, it is hoped that it would solve the aforementioned problems faced by the patrons within the car

parking.

The smart parking system is considered beneficial for the car park operators, car park patrons as well as in environment conservation. For the car park operators, the

information gathered via the implementation of the Smart Parking System can be exploited to predict future parking patterns. Pricing strategies can also be manipulated according to the information obtained to increase the company’s profit.

In terms of environment conservation, the level of pollution can be reduced by decreasing vehicle emission (air pollutant) in the air. This can be attributed to the

fact that vehicle travel is reduced. As fuel consumption is directly related to vehicle miles travelled, it will be reducing as well.

Patrons are also able to benefit from smart parking system as parking space are able to be fully utilized with a safer, optimized and more efficient system implemented;

The system is made more efficient as vehicle travel time and search time are significantly reduced due to the information provided by the smart parking system.

Page 18: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

8 |

With the information provided, drivers are able to avoid car park that are fully occupied and locate vacant parking spaces with ease elsewhere.

The number of vehicles parked illegally by the roadside which leads to traffic

congestion is also reduced as it is absorbed into the car parks. Most importantly, traffic congestion can be reduced. All this would eventually lead to convenience for

the patrons. The services which the smart parking system should provide in the future can be:

✓ The parking availability information system and parking reservation system

should provide advanced navigation services. ✓ The mobile electric commerce system and the continuously working gate

system should collect the tool charges electrically.

✓ An automated navigation system should assist in safe driving. ✓ As in-facility navigation system should provide the best possible traffic

management. ✓ Provisions of effective security for the safety of cars ✓ Provision of strong functions for facilitating administrators and mangers in the

management of the parking facility.

Categories of smart parking system

The smart parking system can be divided into five major categories: namely, Parking Guidance and Information System (PGIS), transit-based information system, smart

payment system, E-parking and automated parking.

Parking Guidance and Information System (PGIS) encompasses two major categories. The PGIS can either include the entire city area or function only within

the car park facility. Both provides information which aids the decision-making process of the drivers in reaching their destination location and aids them in locating a vacant parking space within the car park facility. The city wide PGIS is indeed

helpful in assisting drivers to car park with vacant parking spaces via the information occupancy status for various car parks around the city as well as other relevant

information. On the other hand, guidance in locating the vacant parking space within the car park is ultimately provided by PGIS implemented within the car park. PGIS can be summarized as consisting of 4 major components: namely, information

disseminating mechanism, information gathering mechanism, control center and telecommunication networks. Static/dynamic Variable Message Signs (VMS) have

been used in providing drivers with direction either on the road or within the car park. Mobile phones can also be used for guidance based on the research conducted which

utilizes Global Positioning System (GPS) for vehicle detection. A map of the driver’s current position based on the GPS data along with the status of three of the nearby car park are sent to their mobile phones based on the patron’s current location.

Besides that, the parking guidance system developed based on web and GIS technology are able to disseminate information to the users via internet, mobile

phones and/or PDA. The guidance system can be with the conventional parking management system as well. In order to guide the patrons effectively, the car park map is printed on the parking ticket equipped with Radio Frequency Identification

Page 19: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

9 |

(RFID) tags for guidance so that patrons can locate the assigned parking slot with ease. There are also no worries about forgetting the location of the assigned parking

slot during exit.

Vehicle detection sensors are commonly installed at entrances, exits and/or individual parking space to detect vehicle occupancy. Indicator lights integrated with sensors

are also sometimes installed at every individual parking space within the parking facility. The occupancy status detected by the sensors can either be occupancy of

each individual parking space or in terms of vehicles counts in the car park depending on the installation of the sensors. Moving on, the control center gathers and processes the traffic and occupancy information as well as controls the display of

information for drivers whereas the telecommunication network facilitates the transfer of information among the other three modules. With the advent of advanced

technologies, the implementation of devices such as microcontroller and Field Programmable Gate Array (FPGA) are incorporated for faster information processing. Not only that, the telecommunication networks no longer dependent on conventional

electrical wiring but wireless technologies are able to be utilized. Researchers have all used wireless network for data transfer in the implementation of their proposed

parking guidance system.

The functionality of Transit Based Information System implemented is actually similar to PGIS. The difference exists in the fact the Transit Based Information System concentrates on guiding user to park-and-ride facilities. It provides real-time

information on the status of each car park and public transportation such as the schedules and traffic condition to the public. The additional information provided

enables the patrons to plan for transit in advance without getting into any inconvenience. Among its benefits includes increase in the utilization of public transportation as the primary means of transportation as they can leave their vehicle

in the car park and switch to public transportation with ease. This will indirectly lead to an increase in the transit revenue. There have been many researches centered

upon using Geographic Information System (GIS). Among them are the research conducted for siting park-and-ride car parks in Columbus, Ohio. Farhan and Murray (2008) incorporated multi-objective spatial optimization model in locating the park-

and-ride facilities while considering numerous objectives and constraints as well as taking into consideration the existing system. While research by Farhan and Murray

(2008) made no assumption on user demands, Horner and Grubesic (2001) used Principal Component Analysis (PCA) in representing the index of user demands which

will be converted to demand points when coupled with information obtained via Geographic Information System (GIS). Subsequently, additional calculation conducted by Horner and Groves (2007) takes into account various other factors

which includes: geographical, network, travel time from demand points to the location of the park-and-ride facilities and the constraints of computer shed shapes

are performed in determining the location and commuter shed area for the park-and-ride lots.

The Smart Payment System is implemented in the effort to overcome the limitation of the conventional payment methods by revamping the payment method via parking

meter and introduce new technologies. This is because the conventional method

Page 20: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

10 |

causes delay and inconvenience for the patrons as they have to deal with cash. It also reduces maintenance and staffing requirement for payment handling purposes

as well as traffic control.

In general, the Smart Payment System implemented consists of contact method, contactless method and mobile devices. While the contact method involves the use

of smart cards, debit cards and credit cards, the contactless method involves the use of contactless cards, mobile devices as well as Automated Vehicle Identification (AVI)

tag whereby RFID technologies are utilized. As contact methods requires contact of the cards with parking meter or payment machines in the facility, the latter offers more convenience to the patrons. The main concern hindering the implementation of

the Smart Payment System would have to be skepticism on the privacy and security issues. This is due to the fact that confidential data of the patrons such as personal

information and probably account information are being dealt with which are highly confidential. With the emergence of various threats, it is justifiable to be worried. In RFID implementation alone, exploits, malwares and worms, as well as attacks such

as sniffing, spoofing, replay attack and denial of services are just a fraction of it. Of course, methods have been developed in securing the data and overcoming the

threats as is it discovered ranging from the cryptography, detection and evasion as well as temporary deactivation which are constantly improved from the conventional method implemented which dates back to World War II.

E-parking provides an alternative for patrons to enquire the availability and/or

reserve a parking space at their desired parking facility to ensure the availability of vacant car park space when they arrive at the parking facility. The system can be

accessed via numerous methods such as SMS or through the internet. Some of the additional benefits of using the E-parking system aside from those collectively gained by smart parking system are that it can be extended easily to incorporate the

payment mechanism of smart payment system whereby payments by the patrons are made hassle free using the technologies discussed previously. Customized

information can also be provided to the patrons either before or during their trip to the car park.

Automated parking involves the use of computer-controlled mechanism, which

allows patrons to drive up to the bay, lock the cars and let the machines automatically place the vehicle in the allocated space. This type of car park offers maximum utilization of space as it is machine controlled unlike conventional car park where

space is needed for navigation of vehicle within the car park. Among its benefits are that the implementation works great in locations, where there are limited room for

expansion due to its structure. Besides that, the Automated Parking System also offers efficiency in car storage as it allows car stacking and the patron does not even need to go into the car park which indirectly provides extra safety measures which

covers both the vehicles and patrons.

The safety features are geared towards the vehicle whereby it is important to ensure that the vehicle remains safe and undamaged with all the handling by the computer-

controlled mechanisms. Research by Mathijssen and Pretorius (2007) introduced a three-level software design which includes: Logical Layer (LL), Safety Layer (SL) and

Page 21: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

11 |

Hardware Abstraction Layer (HAL) to enforce correct and efficient storage of vehicles in a safe manner. As the car park facility is designed with conveyer belts, rotatable

lifts and shuttles, it has to be coordinated to ensure successful and safe placement and retrieval of the vehicle.

The smart parking system relies heavily on the car park occupancy information as it

is not only used in assisting the drivers on the road, but in the management within the car park as well. There is abundance of sensor system that can be installed to

provide this crucial piece of information. Having said that, there are many factors which can affect the occupancy detection such as sensor chosen car park type and layout, to name a few.

Vehicle sensors and detector system can be categorized into two main categories:

namely, intrusive and non-intrusive sensors. Intrusive sensors are sensors which are typically installed in holes on the road surface, by tunneling under the road surfaces

or anchoring to the surface of the road which leads to invasive procedures of installation whereas the latter can be installed easily by mounting the device on the ground or the ceiling of the car park. With the variety of sensors on the market,

factors such as the cost, environmental condition, scale of implementation as well as the system design would have to be considered while selecting the sensors.

Examples of intrusive sensors include active infrared sensors, inductive loops,

magnetometers, magneto- resistive sensors, pneumatic road tubes, piezoelectric cables and weigh-in-motion sensors. On the other hand, non-intrusive sensors

encompasses microwave radar, passive acoustic array sensors, passive infrared sensor, RFID, ultrasonic and video image processing.

By further examining the various smart parking system currently deployed as well as the commercial system on the market, it provides a brief idea on its implementation

methods and sensor utilization. The different sensor placements as well as the implementation method of the particular system, albeit achieving the same end

results of providing guidance to the patrons, are quite different. Information gathered on the various systems would definitely help in improvising and developing a better system.

Taking the parking to a whole new level, intelligent car parking systems can be

implemented in several ways employing different algorithms and designs.

1. Expert Systems: can solve the problems associated with distributed and complex traffic environment. They are also considered to the main weapon for

laying the foundation of automation mechanism for the parking negotiations and guidance system. Agents has beneficial traits like autonomy, reactivity,

adaptability, proactivity and social ability which can be used for solving problems having highly dynamic and interactive behaviors.

2. Fuzzy Logic based Systems: is used for building the support knowledge and

heuristics of the high-level expert human. It gives a car the capability to independently drive on different types of roads. It also envisions movements

like reverse, parallel parking and three-point turns. For automatically getting

Page 22: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

12 |

a functioning car control system, this approach uses a self-training system which benefits from human skills.

3. Wireless Sensor based Systems: a number of low cost sensor nodes make up a WSN. They arrange themselves for making an ad hoc network through

the wireless communication module present on nodes. 4. GPS based Systems: the information about location and availability of a

parking space near the destination is provided to the drivers by current GPS-

based vehicle navigation system. The information of current state of the

parking facility is provided.

5. Vehicular Communication Systems: this schema provides the real time

parking navigation services, intelligent antitheft protection, and friendly

parking information dissemination to the driver.

Table 1: Summary of Intelligent parking systems

Conclusion

The various types of smart parking system and has been presented. From the various

examples of the implementation of the smart parking system being presented, its

efficiency in alleviating the traffic problem that arises especially in the city area where

traffic congestion and the insufficient parking spaces are undeniable. It does so by

directing patrons and optimizing the use of parking spaces.

With the study on all the sensor technologies used in detecting vehicles, which are

one of the most crucial parts of the smart parking system, the pros and cons of each

sensor technologies can be analyzed. Although, there are certain disadvantages in

the implementation of visual based system in vehicle detection as described earlier,

the advantages far outweigh its disadvantages.

Page 23: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

13 |

3. SYSTEM DESCRIPTION AND ARCHITECTURE

3.1. SYSTEM OVERVIEW AND REQUIREMENTS

After doing some research and going through different articles, we started to work

on a system that can help in the current traffic and parking issue our city faces. We

started out with a grand idea of finding a smart way to assist drivers to park their

cars with consideration of the implementation and cost to account. From our research

we found out a lot of ways the problem can be tackled; we found some companies

that made a business out of implementing a smart parking system.

Some of the implementations we have discovered are crafted well and precisely they

are what we call revolutionary ideas that take a huge leap to the future. Those ideas,

although look appealing on paper, they will cost a lot which does not go with the

current financial status of our country. So, we set out to find a financial sound and

implementation wise satisfying system.

Our system mainly depends on four factors:

✓ Space

✓ Information

✓ The right Individual

✓ Real time

We are working towards finding the best/optimal way to connect the above factors.

The main objective of the project is Delivering the right information to the right

individual about space at the right time.

In our project the working definition of the factors are:

✓ Space: parking area/slot/building

✓ Information: availability or occupancy

✓ Individual: driver or concerned personnel/group

✓ Time: real time

We worked on introducing technology to the working system.

➢ What technology?

• IoT

According to an article by Matt Burgees (Wired Magazine), in its broadest sense, the

term IoT encompasses everything connected to the internet, but it is increasingly

being used to define objects that talk to each other. Simply, IoT is made of devices

– from simple sensors to smart phones and wearables – connected together.

Page 24: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

14 |

The Internet of Things is essentially a system of machines or objects outfitted with

data collecting technologies so that those objects can communicate with one another.

IoT is all about the Network, Devices and Data.

We designed and implemented a system that gathers information about availability

of a parking space from its sensors, which will report to a lower level controller; which

in turn will send to a local controller which is responsible to send the information to

the server. The information gathered by the sensors need to be accurate for the

information to be accepted so we have also incorporated a way in which parking

attendants of parking areas and parking buildings contribute to the system, they will

be able to send information about the vehicles that entered the premises. Based on

the information from the sensors and the parking attendant data the server will

organized the data into a format that is suitable for drivers so they can access it from

their mobile devices to get the information about the availability of a parking slot in

a certain area. Our system is designed and implemented to be a right hand for the

drivers of our city by giving them options of reservation and GPS based map guidance

that comes pretty handy when one doesn’t know where to find parking.

3.2. PROJECT PLAN AND TIMELINE

Our project was divided in two major parts, since it was for both semester and final

thesis project.

Figure 3: Project Steps

Page 25: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

15 |

We started out with sub dividing the project as seen in (figure 3). The different

modules of the project are sub divided on each stage to further components.

In the Planning and Design Stage, we did a lot of tinkering by experimenting on

different ideas while maintaining a clear milestone and other objectives of the project.

After having the general understanding of the project, we moved to analyzing our

system from a working point of view. We were taking into account implementation,

considering feasibility to the basic component level. We experimented with well-

defined and clear ideas.

Table 2: Gantt chart for the project

On the Hardware Configuration stage, we configured sensors and controllers which

is our base line for the overall project. We worked on object(vehicle) detection and

communication among the controllers, we tested different communication modules

and picked the one with the least cost and better performance the meet our standards

that were set at the beginning. We also configured the controllers to send data

gathered from sensors to the server.

On the third stage, Software Development, we worked on the client side and server

configuration. User end applications with simple and easy to use interface and design

was implemented. Information that is gathered by sensors and sent by the

microcontroller to the server for processing. We focused on the development of

android application and admin dashboard. The app development had two components

which involved a parking attendant and driver as users. The user app accesses data

for the most part and using the parking attendant app, the parking attendant feeds

data to the server to further strengthen the data collected from the sensors and

reduce the margin of error.

The last stage is Testing and Debugging, we checked each module as individual

components and as components of the whole system. We designed tests that were

based on the initial requirements of such a system that is feasible for the city of Addis

Ababa.

Page 26: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

16 |

3.3. WORKING PRINCIPLE

Internet of Things(IoT) is a combination of interrelated devices which includes

computing devices, microcontrollers, different types of sensors and machines which

are interconnected with each other over the internet to perform a designated task

with no human to computer interaction.

IoT is a technology that connects different devices to the internet and communicates

with the user where the user can remotely control and monitor the device or just use

the information fed to the system by the sensors. And the use of IoT has exponentially

increased in the recent years due to the availability of different technologies which

will make it easy to connect to the internet.

IoT is integrated with four different characteristics which make it perform the task it

is designated to.

Sensors and devices are devices which may have special properties or perform

simple task to get information from the environment such as in this scenario to detect

the presence of a vehicles with the help of sensors. The task of the devices mainly is

to grab information from the environment.

Connectivity, this is the most important part of IoT which is to connect the sensors

or the devices to a cloud, a platform that can be accessed through the internet. So,

we should make sure that the internet connectivity is given. To achieve this, different

methods are used such as using GSM (which is the most common form) or by Wi-Fi

or connecting directly via Ethernet which will route to the internet.

Data Processing, once the data is transmitted over the internet to the cloud/server

then there have to be a data process which would be performed and displayed to the

user. These processes may involve displaying the temperature or the availability of

a vehicle in a slot (our project) and much more.

Figure 4: Internet of Things

Page 27: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

17 |

User Interface, this is the platform in which the data could be communicated with

the user. And also, the platform in which the user can remotely send instructions to

devices to perform particular tasks such to activate or deactivate, on or off etc. The

users can connect to the IoT application via a mobile or desktop application but the

most commonly used platforms as there is no need to design specific native apps and

desktop apps for different vendors but just implement the user communication

module in the web interface as its compatible to all devices.

Our project will be following the general requirements of an IoT system working

towards developing and deploying a stable and responsive system. The project will

start out with the sensors found in parking buildings and parking areas, which will be

wired to Arduino, which is connected to the Raspberry PI, which sends data it gets

from the Arduino collected from the different sensors. The data sent is stored in the

server and updating in real time for both the admin and the users that are interested

in the system.

The different components of the project are governed by the general rules of IoT and

specific rules of the device in use.

3.4. COMPONENTS OF THE SYSTEM

As stated in the previous section, our project consists of sensors, microcontrollers

and a server.

Besides that, there will be parking areas and parking buildings incorporated.

The components are:

✓ Parking buildings

✓ Parking areas

✓ Sensors

• IR sensors

• Ultrasonic sensors

✓ Microcontrollers

• Arduino

• Raspberry PI

✓ Server

✓ Users

• Parking Attendants

• Drivers

• Administrator

Page 28: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

18 |

Figure 5: General Smart Parking System Architecture

3.4.1. IR SENSOR

Infrared radiation is an electromagnetic wave with wavelength of 700nm to 1 mm. It

is emitted by objects with temperature above 0 kelvin. Furthermore, intensity and

wavelength of infrared radiation depends on the temperature of the object.

The infrared sensors are the sensors that detect/measure infrared radiation or change

in the radiation from outer source or inbuilt source. Also, sensors that uses the

property of infrared radiations to detect the changes in surrounding are termed as

infrared sensors. A general working method of infrared sensors is as follows:

✓ Infrared Source

1. The source of infrared is either in built or form outside environment.

2. Range of detection and wavelength of infrared radiation to be detected

can be configured.

✓ Transmission medium

1. Vacuum

2. Air

3. Optical fibers

✓ Optical system

1. To converge the infrared radiation into the detector

2. Optical lenses or mirrors

3. The material for optical system is chosen according to their

transmittance/reflectance for desired wavelength of IR

Page 29: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

19 |

✓ Detector

1. Thermal detector has detector material and is independent to

wavelength

2. Quantum detector is wavelength dependent

✓ Signal processing

1. The signals produced by the detector are small so amplification is

required.

There are two types of infrared sensor based on its function:

• Thermal Infrared sensor

• Quantum infrared sensor

These are the types of infrared sensors based on the working mechanism:

• Active Infrared Sensors

• Passive Infrared sensors

Active infrared sensors are the types of infrared sensor that emit infrared radiation

which is later received by the receiver. The IR is emitted by an IR Light Emitting

Diode (LED) and received by photodiode, phototransistor or photoelectric cells.

During the process of detection, the radiation is altered, between process of emission

and receiving, by object of interest. The alteration of radiation causes change in

received radiation in the receiver. This property is used to generate desired output

with help of associated electronic circuit.

Figure 6: IR Obstacle Avoidance Sensor (adopted from electronicshub.com)

Break beam sensors, these types of Active IR sensor have emitter and receiver

placed in such a way that the IR emitted by the emitter falls directly in to the receiver. During the operation, IR beam is emitted continuously towards the receiver. The flow

of IR can be interrupted by placing an object between the emitter and receiver. If the IR is transmitted but altered, then receiver generates output based on the change in radiation.

Page 30: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

20 |

Similarly, if the radiation is completely blocked the receiver can detect it and provide the desired output. For example: let’s consider a Break beam sensor and a conveyer

belt. When an opaque object interrupts the IR flow the receiver doesn’t receive any signal thus the conveyer belt stops.

Reflectance sensors use reflective property of IR. The emitter emits an IR beam

which is reflected by the object. Reflected IR is the detected by the receiver. The

object causes change in the property of the reflected IR or the amount of IR received

by the receiver varies. The degree of change is dependent on the reflectance of the

object. Thus, detecting the change in amount of received IR helps in figuring out the

properties of object such as surface geography and reflectance.

Our IR sensors are categorized under the reflectance sensors.

These sensors are ideal for a parking area, because upon detecting an object in front

of it, it transmits to the controller that it has detected an object and this stays true

unless the object moves away from the sensor. So, we can agree that it provides not

only detection but also assertion and consistency throughout transmission.

3.4.2. ULTRASONIC SENSOR

For years, ultrasonic sensors have been used in a wide range of applications including

fish finders, parking sensors in cars and burglar alarms. Ultrasound is an acoustic

wave with a very high frequency, beyond human hearing. Since the audible frequency

range is said to be between 20Hz and 20kHz, ultrasound generally means acoustic

waves above 20kHz. Bats, with their echo-location (biological ultrasonic radar), can

hear sounds up to 200kHz, way beyond the capabilities of the human ear.

Ultrasound has several characteristics which make it so useful and that have led to

its use in many electronics applications. Firstly, it is inaudible to humans and

therefore undetectable by the user. Secondly, ultrasound waves can be produced

with high directivity. Thirdly, they are a compressional vibration of matter (usually

air). Finally, they have a lower propagation speed than light or radio waves. The fact

that ultrasound is inaudible to human ears is an important factor in ultrasound

applications. For example, a car parking sensor system generates sound pressure of

more than 100dB to ensure clear reception. This is the equivalent of the audible

sound pressure experienced when standing close to a jet engine. Ultrasound's high

frequency (short wavelength) enables narrow directivity, similar to its radio wave

equivalent, microwaves. This characteristic is used in kidney stone treatments, where

ultrasound emitted from outside the body is focused on the stone to break it down.

Since the energy level is low, it does not harm the body. Because ultrasound is a

vibration of matter, it can also be used to examine the characteristics of that matter.

Page 31: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

21 |

Ultrasonic diagnosis uses this feature to detect and visualize the variance in

reflectance and transmittance corresponding to the water content and density of the

matter in the medium, for example an organ in your body.

Ultrasound travels in the air at around 340m/s like other sounds. The time it takes

for an ultrasound wave to travel 10cm is approximately 3ms, as opposed to 3.3ns for

light and radio waves. This allows measurement using low speed signal processing.

Figure 7: HC-SR04 (Ultrasonic Sensor) (adopted from electronicshub.com)

Parking sensors use a type of sonar. The term sonar is an acronym for sound

navigation and radar; it's used for calculating the distance and/or direction of an

object from the time it takes for a sound wave to travel to the target and back. An

ultrasonic sensor is a speaker or microphone that emits or receives ultrasound. There

is also a type that can handle both emission and reception. Vehicle parking sensors

are equipped with this type of sensor.

Ultrasound sensors initially found use in vehicles for detecting obstacles when

parking, but it is now evolving into an automatic parking system.

Ultrasonic sensors “are based on the measurement of the properties of acoustic

waves with frequencies above the human audible range,” often at roughly 40 kHz.

They typically operate by generating a high-frequency pulse of sound, and then

receiving and evaluating the properties of the echo pulse.

Figure 8: Diagram of the basic ultrasonic sensor operation

Page 32: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

22 |

Since it is known that sound travels through air at about 344 m/s (1129 ft./s), you

can take the time for the sound wave to return and multiply it by 344 meters (or

1129 feet) to find the total round-trip distance of the sound wave. Round-trip means

that the sound wave traveled 2 times the distance to the object before it was detected

by the sensor; it includes the 'trip' from the sonar sensor to the object AND the 'trip'

from the object to the Ultrasonic sensor (after the sound wave bounced off the

object). To find the distance to the object, simply divide the round-trip distance in

half.

Three different properties of the received echo pulse may be evaluated, for different

sensing purposes. They are:

• Time of flight (for sensing distance)

• Doppler shift (for sensing velocity)

• Amplitude attenuation (for sensing distance, directionality, or attenuation

coefficient)

The main advantage of ultrasonic sensors is that measurements may be made without touching or otherwise impeding the target. In addition, depending on the distance measured, measurement is relatively quick (it takes roughly 6ms for sound

to travel 1m). However, many factors such as temperature, angle, and material may affect measurements.

Weighing in all the different mode of operations we picked this sensor to be part of

our project for its simplicity and quick response time.

The sensors we picked, IR sensor and Ultrasonic sensors are both cheap but we needed both because we are working with different parking areas that needed

different sensors to convey the surrounding.

3.4.3. ARDUINO

Arduino is an open-source platform used for building electronics projects. Arduino

consists of both a physical programmable circuit board (often referred to as a

microcontroller) and a piece of software, or IDE (Integrated Development

Environment) that runs on your computer, used to write and upload computer code

to the physical board.

The Arduino platform has become quite popular with people just starting out with

electronics, and for good reason. Unlike most previous programmable circuit boards,

the Arduino does not need a separate piece of hardware (called a programmer) in

order to load new code onto the board – you can simply use a USB cable. Finally,

Arduino provides a standard form factor that breaks out the functions of the micro-

controller into a more accessible package.

Page 33: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

23 |

Figure 9: Arduino UNO (adopted from electronicshub.com)

Arduino boards are generally based on microcontrollers from Atmel Corporation like

8, 16 or 32-bit AVR architecture-based microcontrollers. The important feature of the

Arduino boards is the standard connectors. Using these connectors, we can connect

the Arduino board to other devices like LEDs or add-on modules called Shields. The

Arduino boards also consists of on board voltage regulator and crystal oscillator. They

also consist of USB to serial adapter using which the Arduino board can be

programmed using USB connection. In order to program the Arduino board, we need

to use IDE provided by Arduino. The Arduino IDE is based on Processing programming

language and supports C and C++.

There are many types of Arduino boards available in the market but all the boards

have one thing in common: they can be programmed using the Arduino IDE. The

reasons for different types of boards are different power supply requirements,

connectivity options, their applications etc.

Arduino boards are available in different sizes, form factors, different no. of I/O pins

etc. Some of the commonly known and frequently used Arduino boards are Arduino

UNO, Arduino Mega, Arduino Nano, Arduino Micro and Arduino Lily pad.

Arduino UNO is a basic and inexpensive Arduino board and is the most popular of all

the Arduino boards with a market share of over 50%. Arduino UNO is considered to

be the best prototyping board for beginners in electronics and coding.

UNO is based on ATmega328P microcontroller. There are two variants of the Arduino

UNO: one which consists of through – hole microcontroller connection and other with

surface mount type. Through-hole model will be beneficial as we can take the chip

out in case of any problem and swap in with a new one.

Page 34: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

24 |

Arduino UNO comes with different features and capabilities. As mentioned earlier, the

microcontroller used in UNO is ATmega328P, which is an 8-bit microcontroller based

on the AVR architecture.

UNO has 14 digital input – output (I/O) pins which can be used as either input or

output by connecting them with different external devices and components. Out of

these 14 pins, 6 pins are capable of producing PWM signal. All the digital pins operate

at 5V and can output a current of 20mA. Arduino Uno has 6 analog input pins which

can provide 10 bits of resolution i.e. 1024 different values. The analog pins on the

Arduino UNO are labelled A0 to A5.

3.4.4. RASPBERRY PI

A Raspberry Pi is a credit card-sized computer originally designed for education,

inspired by the 1981 BBC Micro. Creator Eben Upton's goal was to create a low-cost

device that would improve programming skills and hardware understanding at the

pre-university level. But thanks to its small size and accessible price, it was quickly

adopted by tinkerers, makers, and electronics enthusiasts for projects that require

more than a basic microcontroller (such as Arduino devices).

It is powered by the Broadcom BCM2835 system-on-a-chip (SoC). This SoC includes

a 32-bit ARM1176JZFS processor, clocked at 700MHz, and a Video core IV GPU. It

also has 256MB of RAM in a POP package above the SoC. The Raspberry Pi is powered

by a 5V micro USB AC charger.

The Raspberry Pi is slower than a modern laptop or desktop but is still a complete

Linux computer and can provide all the expected abilities that implies, at a low-power

consumption level.

Figure 10: Raspberry Pi Model B+ v 1.1 (adopted from electronicshub.com)

Page 35: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

25 |

There are two Raspberry Pi models, the A and the B, named after the aforementioned

BBC Micro, which was also released in a Model A and a Model B. The A comes with

256MB of RAM and one USB port. It is cheaper and uses less power than the B. The

current model B comes with a second USB port, an Ethernet port for connection to a

network, and 512MB of RAM.

The Raspberry Pi A and B boards been upgraded to the A+ and B+ respectively.

These upgrades make minor improvements, such as an increased number of USB

ports and improved power consumption, particularly in the B+.

The Raspberry Pi was designed for the Linux operating system, and many Linux

distributions now have a version optimized for the Raspberry Pi. Two of the most

popular options are Raspbian, which is based on the Debian operating system, and

Pidora, which is based on the Fedora operating system. For beginners, either of these

two works well; which one you choose to use is a matter of personal preference. A

good practice might be to go with the one which most closely resembles an operating

system you’re familiar with, in either a desktop or server environment.

One advantage of using the Raspberry Pi over some other alternatives is the size of

the community. If you have a question regarding a project you are working on, there

are a lot of people who might be able to help you because of the large reach of the

community.

The devices that are discussed in the above four sub-sections will be part of the

hardware section of our project. When selecting the devices, we were considered

simplicity to use and availability as our main criteria. The sensors we picked (i.e. IR

and ultrasonic) can be found easily in the market and are easily configurable with the

micro controller we picked. Which takes us one level up the ladder of our tree of

devices. The Arduino is suitable for accepting sensors inputs and acting on them

quickly besides being cheap. The Raspberry Pi is a mini computer so it is a better

master to the Arduino which in contrary is a better slave.

✓ From above discussion we can understand that Arduino is good for

repetitive tasks such as opening the garage door, switching the lights

on and off.

✓ While PI good for performing multiple tasks, driving complicated robots.

✓ For example, if you want to monitor the soil moisture and mail me if it

is necessary to water the plants. For this application, Arduino can be

used.

✓ But if you want to monitor the moisture, mail me when the plants need

to be watered and check the weather report from online. If there is rain

do nothing. For this application Raspberry pi required.

Page 36: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

26 |

✓ In simple Arduino is used for beginner’s projects and some complicated

projects can be easily handled by pi.

If you want to create devices, like robots, timers, and sensors, the Arduino is the way

to go; its low-level interface and easy I/O connections make it the best way to go if

you want to build something. The Raspberry Pi, on the other hand, makes a fantastic

server or data storage system, and is great for learning to program in traditional

languages. If you want to communicate with other computers, the Pi is your board.

The different device properties of both processors can clearly show the parts of the

project they can be applied to.

So, we decided to use them both since our project has features that will be better

implemented and achieve better performance if both Arduino and Raspberry Pi are

working together.

Table 3: Comparison between Arduino UNO and Raspberry PI 2 (adopted from

electronicshub.com

Page 37: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

27 |

3.4.5. SERVER

All the data incoming from different Raspberry Pi’s set up will be sent to the central

server.

A server is a computer designed to process requests and deliver data to another

computer over the internet or a local network. The word "server" is understood by most to mean a web server where web pages can be accessed over the internet

through a client like a web browser. However, there are several kinds of servers and even local ones like file servers that store data within an intranet network.

Although any computer running special software can function as a server, the most typical use of the word references the very large, high-powered machines that

function as the pumps pushing and pulling data from the internet.

Most computer networks support one or more servers that handle specialized tasks. As a rule, the larger the network - in terms of clients that connect to it or the amount

of data that it moves - the more likely it is that several servers play a role, each dedicated to a specific purpose.

Strictly speaking, the "server" is the software that handles a certain task. However,

the powerful hardware that supports this software is also usually called a server because server software coordinating a network of hundreds or thousands of clients requires hardware much more robust than what you'd buy for ordinary

consumer use.

Figure 11: A typical server room (adopted from mtcss.co.uk)

The server we used is built on the Django web framework. We have explored different other web frameworks and we picked Django for its simplicity and the fact that it is

a python-based framework which makes it ideal for real time systems.

Page 38: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

28 |

3.4.5.1. DJANGO FRAMEWORK

Django is a free and open source web application framework, written in Python. A

web framework is a set of components that helps you to develop websites faster and

easier.

When a request comes to a web server, it's passed to Django which tries to figure

out what is actually requested. It takes a web page address first and tries to figure

out what to do. This part is done by Django's urlresolver. It is not very smart – it

takes a list of patterns and tries to match the URL. Django checks patterns from top

to bottom and if something is matched, then Django passes the request to the

associated function (which is called view).

In the view function, all the interesting things are done: we can look at a database

to look for some information. Maybe the user asked to change something in the data?

Like a letter saying, "Please change the description of my job." The view can check if

you are allowed to do that, then update the job description for you and send back a

message: "Done!" Then the view generates a response and Django can send it to the

user's web browser.

Django works based on a modified MVC architecture, which is called MVT

architecture.

• Models: describes data structure and database schema

• Views: controls what the user sees

• Templates: how a user sees it

Django includes different modules that can be used for different implementations

such as Administration interface (CRUD [Create, Read, Update, Delete] interface),

authentication system, comments system, forma handling, sessions, syndication

framework (RSS and Atom feeds), caching, internationalization, localization and

custom middleware.

Figure 12: Django Architecture

Page 39: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

29 |

After testing several frameworks and weighing in the pros and cons we picked Django

for the following reasons:

✓ It lets us divide our code modules into logical groups to make it flexible to

change because of Django’s MVT Architecture

✓ It provides us auto generated web admin to ease the website administration

✓ It provides pre-packaged API for common user tasks

✓ Provides us a system to define HTML template for our web pages to avoid code

duplication

✓ Allows us to define what URL be for a given function

✓ Allows us to separate business logic from HTML

✓ Everything is in python

3.4.5.2. DJANGO REST API

Representational state transfer (REST) is an architectural style that defines a set of

constraints and properties based on HTTP (Hyper Text Transfer Protocol). Web

services that conform to the REST architectural style provide intermobility between

computer systems on the internet. REST compliant web services allow the requesting

systems to access and manipulate textual representations of web resources by using

uniform and predefined set of stateless operations. In REST webservices, requests

are made to a resources’ URL that will elicit a response that maybe in HTML, XML,

JSON or some other file format. The response may confirm that some alteration has

been made to the stored resource, and the response may provide hypertext links to

other related resources or collection of resources. When HTTP is used, as in most

common, the operations available are GET, POST, PUT, DELETE, and other predefined

CRUD HTTP methods.

The Django REST Framework is a powerful open-source tool used to build REST APIs

and is the preferred development library at BNOTIONS. Its advantages include its

simplicity, flexibility, and quality source code and documentation. The version 2

features, a powerful serialization engine that behaves much like Django forms, token-

based authentication (integration with OAuth and OAuth2 protocols), generic classes

for CRUD operations, throttling, permission classes, etc. The framework provides

developers with the flexibility to extend and customize the tools offered as they see

fit, and greatly reduces development time.

The Django REST Framework provides us a useful and attractive user interface to

interact with our API endpoints during development which can easily be turned off in

production. In a RESTful API, endpoints (URLs) define the structure of the API and

how end users access data from our application using the HTTP methods: GET, POST,

PUT, DELETE. Endpoints should be logically organized around collections and

Page 40: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

30 |

elements, both of which are resources. REST framework's Request objects provide

flexible request parsing that allows you to treat requests with JSON data or other

media types in the same way that you would normally deal with form data.

In our case we used JSON data to request and get data. JSON (JavaScript Object

Notation) is a lightweight format that is used for data interchanging. It is based on a

subset of JavaScript language.

Figure 13: Sample JSON code format

REST framework provides flexible, per-request authentication, that gives us the

ability to:

• Use different authentication policies for different parts of your API.

• Support the use of multiple authentication policies.

• Provide both user and token information associated with the incoming request.

• Excellent performance

• Scalability

• Simplicity

• Modifiability

• Portability

• Reliability

• Visibility of communication

• The Web browsable API is a huge usability win

• Extensive documentation, and great community support

• Used and trusted by internationally recognized companies including Mozilla,

Red Hat, Heroku, and Eventbrite.

Page 41: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

31 |

3.4.5.3. CELERY AND RABBITMQ

The very thing that makes Django an excellent choice has its own limitations when it

comes to background processes because Django works with a principle of request

and response that is instant. Although this feature makes it quick to respond, it

doesn’t work well with the reservation part of our project. So, we used Celery and

RabbitMQ for handling the background process which runs in our server.

Web applications work with request and response cycles. When the user accesses a

certain URL of your application, the Web browser sends a request to your server.

Django receive this request and do something with it. Usually it involves executing

queries in the database and processing data. While Django does its thing and process

the request, the user has to wait. When Django finalize its job processing the request,

it sends back a response to the user who finally will see something.

Ideally this request and response cycle should be fast, otherwise we would leave the

user waiting for too long. And even worse, our Web server can only serve a certain

number of users at a time. So, if this process is slow, it can limit the number of pages

our application can serve at a time. For the most part we can work around this issue

using cache, optimizing database queries, and so on. But there are some cases that

there’s no other option: the heavy work has to be done. A report page, export of big

amount of data, video/image processing are a few examples of cases where you may

want to use Celery.

Celery is an asynchronous task queue/job based on distributed message passing. It

is focused on real-time operation but supports scheduling as well. It allows pieces of

a software program to run in a separate machine/process. It is often used in web

architectures as a way to delegate long lasting tasks while quickly answering

requests. The delegated task can trigger an action such as sending an email to the

user or simply update data internally in the system when it finishes executing.

The issue of running async tasks can be easily mapped to the classic

Producer/Consumer problem. Producers place jobs in a queue. Consumers then check

the head of the queue for awaiting jobs, pick the first one and execute.

In the context of async tasks queues, 'producers' are commonly the 'web nodes' or

whatever system that is placing jobs, the queue is referred to as 'broker', and

consumers as 'workers'. Since workers can also place new tasks in the queue, they

can also behave as 'producers'.

Page 42: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

32 |

Figure 14: Classic Consumer/Producer Problem

In our server architecture, we come across this issue when handling the reservation

module of the feature. So, we picked a task runner and a broker to facilitate the

process.

The task runner starts reservation timers and removes them when time is up.

The broker stores and transfers messages between the server and the task runner.

In our system, the task runner is Celery (which is discussed in the previously), the

broker is RabbitMQ and the server is Django.

Figure 15: RabbitMQ, Celery, Redis (from left to right) (adopted from publishers’

website)

The concept of a broker is very simple: a queue. Text files can hold a sequence of

job descriptions to be executed, therefore, we can use them as the broker of our

system. The problem with text files is that they are not made to handle real

application problems such as network and concurrent access. Because of that we

need something more robust. SQL databases, on the other hand, are capable of

running in a network and dealing with concurrent access. The problem with them is

that they are too slow. NoSQL databases, by contrast, are quite fast, but many times

they lack reliability.

Page 43: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

33 |

So, when building queues, we should use fast, reliable, concurrency enabled tools

such as RabbitMQ, Redis and SQS. Celery has full support for RabbitMQ and Redis.

Although SQS and Zookeeper are also available, they are offered with limited

capabilities.

RabbitMQ is a lightweight, reliable, scalable and portable message broker. But unlike

many message brokers familiar to Java developers, it's not based on JMS. Instead,

your applications communicate with it via a platform-neutral, wire-level protocol: The

Advanced Message Queuing Protocol (AMQP).

AMQP (Advanced Message Queuing Protocol) is a messaging protocol that enables

conforming client applications to communicate with conforming messaging

middleware brokers. Messaging brokers receive messages from publishers

(applications that publish them, also known as producers) and route them to

consumers (applications that process them). The AMQP Model has the following view

of the world: messages are published to exchanges, which are often compared to

post offices or mailboxes. Exchanges then distribute message copies to queues using

rules called bindings. Then AMQP brokers either deliver messages to consumers

subscribed to queues, or consumers fetch/pull messages from queues on demand.

Figure 16: The concept of broker and task runner(worker) explained

Page 44: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

34 |

3.4.6. PARKING AREA AND PARKING BUILDING

In our research we have come across different parking spaces, some were

underground ones while others were open air and we have also observed parking

buildings.

After observing this pattern, we have divided parking spaces to two broad categorized

based on the entrance mechanism to the parking area.

1. Parking spaces with single point of entry (Parking building)

2. Parking area with multiple entrance and exit (parking area)

The first one can be further divided in to two based on the exiting mechanism.in the

first case we have parking areas with the same entrance and exit gates; the second

one on the contrary has separate entrance and exit gates. The parking area will have

several entrances and exit points which makes it difficult to set a single point of

entrance and exit.

Figure 17: parking building (on the left), parking area (on the right)

It can be clearly seen from figure 17 the difference between the parking spaces in

question, the physical layout of both structures defines the sensors used and their

placement to achieve a maximum throughput.

In addition to the parking spaces, we have also narrowed down the specific kinds of

cars that can be parked in such parking spaces. As per our definition the vehicles that

can be parked in the parking spaces are four wheeled vehicles which don’t include

heavy vehicles that are used in long distance travels.

Page 45: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

35 |

3.4.7. USER AND PARKING ATTENDANT MOBILE APPLICATIONS

Mobile devices have become quite common this days especially smart phones have

become part of our day to day activity. A recent survey shows that in urban cities

three out of five people have smart phones which they use on daily basis. Since most

of our user base uses smart phones we decided the end user application should be a

mobile app.

Mobile application development is the set of processes and procedures involved in

indicting software for minute, wireless computing contrivances such as smartphones

or tablets. These applications can be pre-installed on phones during manufacturing

platforms or distributed as web applications utilizing server-side or client-side

processing (e.g. JavaScript) to provide an “application-like” experience within a Web

browser. Application software developers additionally have to consider a lengthy

array of screen sizes, hardware designations and configurations because of intense

competition in mobile software and changes within each of the platforms. Mobile app

development has been steadily growing, both in terms of revenues and jobs

engendered.

As a component of the development process, Mobile User Interface (UI) Design is

also an essential in the formation of mobile apps. Mobile UI deal with constraints and

contexts, screen, input and mobility as outlines for design. The utilizer is often the

focal point of interaction with their contrivance, and the interface bring about the

peripherals of both hardware and software. Utilizer input sanctions for the users to

manage a system, and contrivance’s output sanctions the system to denote the

effects of the users’ manipulation. Mobile UI design restraints constitute inhibited

attention and form factors, such as a mobile contrivance’s screen size for a utilizer’s

hand(s). Mobile UI contexts signal hints from utilizer activity, such as location and

appointments that can be shown from utilizers interaction within a mobile application.

Overall, mobile UI design’s goal is principally for a recognizable, utilizer-amicable

interface. The UI of mobile apps should consider: user’s constrained attention,

diminish keystrokes, and be task-oriented with a limited set of functions. This

functionality is fortified by Mobile enterprise application platforms or Integrated

development environments (IDEs).

Mobile UIs or front-ends, completely rely on mobile back-ends to fortify access to

enterprise systems. The mobile back-end aids data routing, security, verification,

sanction, working off-line, and accommodation interpretation. These services are

backed up by a blend of middleware components including mobile app servers, Mobile

Backend as an accommodation (MBaaS), and SOA infrastructure.

Page 46: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

36 |

Mobile application development is identical to Web application development and has

its roots in conventional software development. One critical difference is that mobile

applications (apps) are often indicted categorically to capitalize on the unique

features a particular mobile contrivance offers. For instance, a gaming app might be

indicted to capitalize on the iPhone’s accelerometer.

Successful mobile app development requires more than just a compelling user

interface. It also requires:

• Testing

• Integration

• Security

• Quality assurance

• Ongoing management

We have worked on two different mobile application that run on Android, the reason

behind picking Android over IOS is the fact that it allows more flexibility in the

development process and finally we want a product that works despite the platform

used. But, the features that are included in the app can be identically implemented

to the IOS equivalent.

The first mobile app developed is for the parking attendant, this app allows the

parking attendant to contribute to the new system. In the beginning we started out

with a goal of introducing technology into a working system. The parking attendant

app allows the parking attendant to fill in the number of occupied parking slots in a

parking area; in addition to that he/she can also see the list of individuals that have

reserved a parking slot in that specific parking area. Finally, the parking attendant

can also add payment that a driver owes using the app and can save time writing

papers to the parked cars.

The second mobile app is for the user (customer/driver), allowing him/her to see

parking areas that are available in a certain geographical location mainly; the rest of

the features revolve around this concept. The user can get map guidance after

choosing a parking area of his/her choice and the app comes with the feature of

reservation. this allows the user to save a slot prior to arrival. Payments are also

included that are open to any online APIs that are used to pay what is owed.

Page 47: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

37 |

3.4.8. ADMIN DASHBOARD

The English Dictionary defines ‘Dashboard’ as a home page on a website giving access

to different elements of the site's functionality.

It is the page that shows the analysis of the application’s data, trends, summaries

etc. In many cases it dynamically reports important pieces of data from the web

application. From the Dashboard the users can drill down to get more information

about a particular piece of data.

This is the general understanding of what Dashboards are and what they do.

The general thinking that goes into any Dashboard design is that it is all about

showing analytics, trends and summaries of the data in the web application using

various charts and diagrams. Dashboards should not only show the summaries,

trends and analysis of the application’s data but should also let the users take action

on that data. If reports help the users to understand what action is to be taken for

the data being presented, then a Dashboard should do the same thing and enable

the users to take action on that data.

Think of Dashboards as a superset of Reports.

A good Dashboard should not only show the relevant information quickly to the users

but should also let the users quickly act on that data. But there is always an

exception. In most of the web applications you should be able to design Dashboards

that let the users take some action on the data. But some Dashboards are purely

meant for displaying information, like the Google Analytics Dashboard above. There

is hardly any action that the users can take on the Google Analytics data because it

is just a reporting tool.

✓ What data needs to be shown to the users

✓ How to present that data to the users and

✓ What actions should you let the users take on the data

The above three can be achieved if the following are fully understood.

• You know the users of your web application very well

• You know the different types of users

It is extremely important to have a good visual design of the Dashboard. If you are

to put efforts in beautifying your web application then put it in beautifying the

Dashboard.

Page 48: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

38 |

Apart from that, a visually good Dashboard is usually easy to read and understand.

A well-designed Dashboard can really add a lot of value to the users of your web

application. It will give them a way to see the important business metrics and take

action to improve those metrics. But designing dashboards that are truly useful to

the users is more difficult than designing good dashboards.

Our system will have a dashboard for the Administrator of the system, who is the

super user with all access pass. The admin can see the over all traffic in the system

and can check if the system is experiencing any glitches.

Page 49: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

39 |

4. SYSTEM DESIGN AND WALKTHROUGH

In this section, the overall system will be discussed specifying its working principle

together with the real world and experimental setup.

Our system design and implementation are divided into four major modules for better

work flow and abstraction. The four modules are:

1. Arduino and sensor configuration

2. Communication module

3. Server implementation

4. Mobile Application Development

We will look what each module contributes to the overall system step wise.

4.1. HARDWARE COMPONENTS

4.1.1. ARDUINO AND SENSOR CONFIGURATION

This is our building block for the whole project, it is in this module our sensors are

configured to sense their surrounding and report back to the Arduino. Data

(availability of parking slots) is collected and transmitted to the Arduino, which will

make sense of it and prepare the data for further transmission.

Our sensor configuration and placement depend on the parking space in question.

Figure 18: Top view of a parking building system implementation (case 1, where

there is single point of entry and exit)

Page 50: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

40 |

Considering figure 18, our sensors are placed in two distinct areas; the first section

which includes UC 1 and UC 2 is our entrance trigger meaning if triggered first the

system considers a car is entering the building. On the other side are UC 3 and UC 4

which are considered as exit trigger by the system.

Between the two sections there should be a gap labeled ‘X’ which has a minimum

value of an average cars length in order to perfectly detect a car by changing the

states of the sensors. In addition to that to give time for the sensor to detect the car

and to avoid reckless driving we have assumed a speed bump in the middle

throughout the design.

We have employed state transition method to detect a car with zero error margins

besides the sensor placement we have used.

The working algorithm for detecting a car entering the premises in the case of a

parking building with a single gate for both entrance and exit will be:

During exit procedure:

‘dis’ – is the distance that is the minimum length expected to trigger the sensor.

Page 51: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

41 |

Figure 19: Top view of a parking building system implementation (case 2)

During entrance in this case scenario:

During exit in this case scenario:

The assumptions we made and the working principle is the same as figure 18, the

only difference is the physical structure of the parking building facility.

Page 52: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

42 |

Figure 20: Top view of parking area implementation

The last case considered is for open air parking areas with multiple entrance and exit

points. Since we don’t have a single checkpoint to monitor the cars entering and

exiting so each car parked in such spaces need to be monitored individually; the

statues of each parking slot is monitored by IR sensor which sends the status to the

Arduino which manages the decision to mark the slot as available or occupied.

In the last case, for each additional slot one additional sensor is added to cover that

slot.

Page 53: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

43 |

After designing the algorithms of each case scenario, we simulated the design in

proteus to test the code and schematic. In the simulation stage, we tried several case

scenarios by giving our sensors different inputs (objects close to the sensors and far

way objects) to see the mode of operation and sensing accuracy of the sensors; which

helped a lot in the hardware configuration because we already knew the optimal

distance range from the simulation we made prior to the experimental phase.

The simulation also allowed us to get our decision algorithm code right so it can work

in harmony with the time variable we have which we promised as a combination of

sensors reading communication and server-side computations.

Figure 21: Proteus simulation of a parking building case scenario

4.1.2. COMMUNICATION MODULES

As the name implies, this module handles the communication schema of the overall

system. Our communication features two major tasks.

1. Communication between the Arduino and Raspberry pi.

2. Communication between the Raspberry pi and server.

For the first part, we have used serial communication. Serial communication is a

communication technique used in telecommunications wherein data transfer occurs

by transmitting data one bit at a time in a sequential order over a computer bus or a

communication channel. It is the simplest form of communication between a sender

and a receiver.

Page 54: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

44 |

Because of the synchronization difficulties involved in parallel communication, along

with cable cost, serial communication is considered best for long-distance

communication. Serial communication is Used for communication between the

Arduino board and a computer or other devices. All Arduino boards have at least one

serial port (also known as a UART or USART): Serial. It communicates on digital pins

0 (RX) and 1 (TX) as well as with the computer. You can use the Arduino

environment’s built-in serial monitor to communicate with an Arduino board. Click

the serial monitor button in the toolbar and select the same baud rate used in the

call to begin (). Serial communication on pins TX/RX uses TTL logic levels (5V or 3.3V

depending on the board). Don’t connect these pins directly to an RS232 serial port;

they operate at +/- 12V and can damage your Arduino board.

Figure 22: Serial Communication

The serial communication handles the basic communication of our Arduino with the

Raspberry pi, since the data to be transmitted is a single valued one we tried to use

the simplest communication out there to get better performance and overall response

time. After getting the data from the Arduino, the Raspberry pi will be solely

responsible for the data processing and further transmission to the server.

Communication between the Raspberry pi and the server will be dependent on the

internet. The server will have its own IP and the Raspberry pi will send the date

received from the Arduino to the specified IP address every time there is an update.

The updating will be fast to meet the requirement we set in the beginning of the

project.

Figure 23: Experimental setup 1

Page 55: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

45 |

Figure 24: Experimental setup 2

4.2. SOFTWARE DESIGN AND IMPLEMENTATION

4.2.1. SERVER-SIDE IMPLEMENTATION

Our central server will be accepting the data from all the different parking areas and

responsible for handling all the data; both storage and processing. In addition to that,

our server will have a map of Addis Ababa integrated to it in order to identify the

different parking areas by location.

Django web framework is really responsive, and the fact that it gives an ideal

playground for real time data transfers, made it to be our number one pick.

Our server is built to be fully functional, handling data coming from the raspberry pi,

parking attendant app and user app data request and reservation. We will start

analyzing the database which our server is built upon.

The persistent data storage is a form of SQL lite modified for Django; the stored data

includes parking slot status, user profile, payments, and reservations.

Page 56: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

46 |

The ER (Entity Relationship) diagram is as follows:

Figure 25: ER Diagram Layout

As mentioned throughout the paper, the server is like a heart of the entire system.

The sensors collect data and send it to the server through the raspberry pi and the

parking attendant also updates status of a parking slot while a customer uses his/her

app to check the availability of a parking space and reserve a slot while getting a

map guidance. All this is possible because of the server.

The administrator’s dashboard snapshots are as follows:

Page 57: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

47 |

Figure 26: Admin Dashboard summary list

Figure 27: Snapshot of Map view of the server

Page 58: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

48 |

4.2.2. END USER APPLICATIONS

The users of the system are grouped into two categories; the first one is for the

customers and the second one is for the staff which subdivides into parking attendant

and administrator.

As mentioned in (section 3.4.7.) we have developed two android applications; one

for the parking attendant and the other for the customer. In this section we will see

how the apps were developed and how they function together with the server.

4.2.2.1. FUNCTIONAL AND NON-FUNCTIONAL REQUIREMENTS

For Parking Attendant App

Table 4: Functional Requirements for parking attendant app

Page 59: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

49 |

Table 5: Non-functional Requirements for parking attendant app

For user(customer) App

Table 6: Functional Requirements for User app

Page 60: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

50 |

Table 7: Non-Functional Requirements for user app

4.2.2.2. ACTORS, GOALS AND USE CASES

Actors will be interacting with our app directly, here are our actors with their

respective goals:

For Parking Attendant App

Table 8: Actor and Goals of parking attendant app

Page 61: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

51 |

Table 9: Casual description of use cases for parking attendant app

Figure 28: Use case diagram for parking attendant app

Page 62: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

52 |

Table 10: Traceability Matrix for parking attendant app

Table 11: UC-1 Description for parking attendant app

Page 63: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

53 |

Table 12: UC-2 Description for parking attendant app

Table 13: UC-3 Description for parking attendant app

Page 64: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

54 |

Table 14: UC-4 Description for parking attendant app

For user App

Table 15: Actor and Goals for user app

Page 65: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

55 |

Table 16: Casual Description of use cases for user app

Figure 29: Use case diagram for user app

Page 66: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

56 |

Table 17: Traceability matric for user app

Page 67: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

57 |

Table 18: UC-3 Description for user app

Table 19: UC-4 Description for user app

Page 68: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

58 |

Table 20: UC-5 Description for User app

Table 21: UC-8 Description for user app

Page 69: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

59 |

Table 22: UC-1 Description of user app

4.2.2.3. USER INTERFACE DESIGN

User Interface (UI) design is a crucial part of any development, because it is what

the user sees firsthand; no matter how complicated the backend can be the UI needs

to be appealing and easy to use for the user.

Taking that into consideration we designed and implemented the interface of our

mobile apps.

The approaches towards the design were minimalistic by design.

Figure 30: Parking Attendant app mockup

Page 70: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

60 |

Figure 31: UI design for Parking attendant app-1 (from left to right login page,

menu, home page)

Figure 32: UI design for parking attendant app-2 (from left to right status update,

reservation list pages)

Page 71: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

61 |

Figure 33: User app screens mockup

Besides designing the apps to be simple, we also worked on the concept of UX (user

experience) to make a user’s stay with the application to be as easy as it could get

with full functionalities included.

When designing the applications, we worked around the following seven concepts:

1. Light comes from the sky

2. Black and White first

3. Doubling the whitespace

4. Overlaying text on images

5. Making text pop and un-pop

6. Simple and uniform font choice

7. Stealing like an artist

Page 72: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

62 |

Figure 34: UI design for user app-1(from left to right sign up, sign in, menu,

parking area list, parking description, profile pages)

Page 73: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

63 |

Figure 35: UI design for user app-2 (from left to right chose destination, pick

parking area, reservation, payment list, pay pages)

Page 74: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

64 |

Figure 36: Map Navigation in action

4.2.2.4. NETWORK PROTOCOL AND HARDWARE REQUIREMENT

Our server will be setup on a remote machine with some IP address that is known

for all devices sending and receiving from it, we will be using HTTP protocol as a

transfer mechanism between the end user applications and the server.

As a hardware requirement, for our user they will be needing a smart phone running

Android V 4.2.1(Jelly Bean) and above. The user doesn’t take much of the phones

processing causing the CPU temperature to rise up. The phone also needs to have

GPS and needs to be turned on for the app to run successfully.

Page 75: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

65 |

5.DESIGN OF TESTS

In general, our system can be summarized as the combination of sensors for a

reliable sensing of cars followed by decision algorithms creating appropriate data,

which then can be transmitted to another piece of hardware that handles

transmission and act as a local server and by the end the server accepts the data

and make sense of it all organizing and storing in a human readable format; ready

and available for clients use.

In this section we device methods we will be using to bench mark the performance

of each modules so we can make corrections ourselves and be a stepping stone for

other products that are based on this paper.

5.1. HARDWARE TESTING

Our hardware configuration starts the overall process give or take, the sensors

connected to the processors will be constantly providing information about the

parking area. Looking at the properties of the sensors we can deduce that there is

nothing to be done to enhance them except design a brand-new sensor from scratch.

So, we focused on the microprocessors in the testing phase.

As seen in section 4 we have simulated the hardware process in proteus to get a

glimpse of what we are trying to tackle in the real world. The test made in the phase

were:

• Timing tests to get the amount of time it takes for the sensor to sense an

object and transmit it to the Arduino

• Understanding false alarms test in order to avoid misinterpretation of

surrounding data.

• Algorithm test, to get the best out of the Arduino’s processing speed and

capability

The above were tested on the configuration of the Arduino with the sensors.

Our second test focused on the raspberry pi and Arduino communication which was

a timing test that timed the number of seconds it took to get the data from the

Arduino to raspberry pi and get it ready to be sent to the server.

Page 76: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

66 |

Limiting factors in this testing methods were configuration of wires (crosstalk) and

communication errors when data is sent from the raspberry pi to the server because

in the use of the internet we have no control over it. Despite that the local connection

test were successful and top notch.

5.2. TESTING SERVER

Our server is built to handle traffic from different data sources and it can in simple

terms be described as a backend for a web application, so we employed web

application tests on our server.

Test 1: Functionality Testing

Test for – all the links in pages, database connection, forms used for submitting or

getting information from the user in the web pages, Cookie testing etc.

Test the outgoing links from all the pages to specific domain under test, test all

internal links, test links jumping on the same pages, Test links used to send email to

admin or other users from web pages, Test to check if there are any orphan pages,

finally, link checking includes, check for broken links in all above-mentioned links.

Cookies are small files stored on the user machine. These are basically used to

maintain the session- mainly the login sessions. Test the application by enabling or

disabling the cookies in our browser options.

Data consistency is also very important in a web application. Check for data integrity

and errors while we edit, delete, modify the forms or do any database related

functionality. Check if all the database queries are executing correctly, data is

retrieved and also updated correctly. More on database testing could be a load on

database.

Test 2: Usability Testing

Usability testing is the process by which the human-computer interaction

characteristics of a system are measured, and weaknesses are identified for

correction.

• Ease of learning

• Navigation

• Subjective user satisfaction

Page 77: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

67 |

• General appearance

Test 3: Interface Testing

Verifying that communication is done properly. Compatibility of the server with

software, hardware, network, and the database should be tested.

The main interfaces are:

• Web server and application server interface

• Application server and Database server interface

Check if all the interactions between these servers are executed and errors are

handled properly. If database or web server returns an error message for any query

by application server, then application server should catch and display these error

messages appropriately to the users.

Check what happens if the user interrupts any transaction in-between? Check what

happens if the connection to the web server is reset in between?

Test 4: Compatibility Testing

• Browser compatibility

• Operating system compatibility

• Mobile browsing

• Printing options

Test 5: Performance testing

Web application should sustain to heavy load. Web performance testing should

include:

• Web Load Testing

• Web Stress Testing

Test application performance on different internet connection speed.

Web load testing: we need to test if many users are accessing or requesting the same

page. Can system sustain in peak load times? The server should handle many

simultaneous user requests, large input data from users, simultaneous connection to

database, heavy load on specific pages etc.

Page 78: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

68 |

Web Stress testing: Generally, stress means stretching the system beyond its

specified limits. Web stress testing is performed to break the site by giving stress

and its checked as for how the system reacts to stress and how it recovers from

crashes. Stress is generally given on input fields, login and sign up areas.

In web performance, testing website functionality on different operating systems and

different hardware platforms is checked for software and hardware memory leakage

errors.

Performance testing can be applied to understand the web site’s scalability or to

benchmark the performance in the environment of third-party products such as

servers and middleware for potential purchase.

Connection Speed

Tested on various networks like 2G, 3G, 4G, Broadband, ISDN etc.

Load

i. What is the number of users per time?

ii. Check for peak loads and how the system behaves

iii. Large amount of data accessed by user

Stress

i. Continuous Load

ii. Performance of memory, CPU, file handling etc.

Page 79: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

69 |

5.3. TESTING MOBILE APPLICATIONS

Mobile app users are quick to delete applications that freeze, crash, which are slow

to load, or have a poor user experience – and leave bad reviews in the application

store. With tens of thousands of apps available to users, even a few bad reviews can

be the death knell for an application.

Here are the methods we employed to test our applications

Test 1: Functional testing

Functional testing investigates whether an application does what it is supposed to do,

usually by comparing it to design documents. It is used to examine the user interface

including UI layouts and elements, menu structure and functions, as well as the

response to screen orientation and screen resolution changes. For native apps,

functional testing includes ensuring that the installation process completes

successfully as well as testing any registration or activation process that the user

must complete.

Test 2: Non-functional testing

Operational testing

Operational testing includes checking the behavior of the AUT during events such as

cycling the power on/off, insertion or removal of a data cable, turning WIFI on or off,

and entering airplane mode.

Interrupt testing

Mobile applications are frequently interrupted by events on the device. Interrupt

testing verifies that the AUT can handle these events appropriately. Interrupt testing

includes events such as making or receiving phone calls, sending and receiving

SMS/MMS messages, and pop-up notifications from the O/S such as low battery

indicators and alarm reminders.

Performance testing

Performance testing is critical in mobile environments, as users will be quick to delete

applications that run slowly, consume too much battery or data, or consume memory

which can lead to unexpected shutdowns.

Application speed, Battery usage, Data consumption and Low-level resource/memory

usage/memory leakage.

Page 80: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

70 |

Test 3: Regression testing

Regression testing involves re-running tests that were successful in previous versions

of the mobile application. This is done to ensure that new code hasn’t re-introduced

old defects, called “regressions.” Because regression tests are performed over and

over again, they are ideal candidates for automation.

Page 81: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

71 |

6. RESULTS AND CONCLUSION

The different tests done on the different modules of the system were eye openers for

several corrections and enhancements of the system to further exploit the system’s

capability.

While testing the hardware, as per our test design we focused on two main criteria’s;

time and accuracy. The sensors have no idea if what they are sensing is a car or not;

so, we needed to try different sensor positioning to achieve what is acceptable as an

input without triggering any false alarms. Timing was not an issue because the

sensors came with specification which were in accordance with what we have set in

the design stage. The Arduino and the raspberry pi were a success too, data sent

from the Arduino through the raspberry pi to the server took an average of 3 to 3.6

seconds in a local connection. When we tested it on the AAiT Connection (network)

it took approximately 15 to 17 seconds, which is caused by instability and IP assigning

issues. Hardware section test was relatively straight forward because all devices

came with specifications and all we had to do was pick the best configuration and

after some time there will be physical limitations to what can be done to enhance

performance which made us look else where to make the system faster.

We took our time and experimented with the server implementation, it started from

picking the framework and continued to the very end of development. We tested our

API from different perspectives; here are some of the test results and our conclusion.

We first started out by picking out what interests us most in performance wise, which

were:

Database lookup: Here we timed everything from the Django ORM down to the raw

database access. In order to time this independent of the serialization we wrapped

the queryset call in a list() in order to force it to evaluate.

Table 23: Test results of the database lookup

Page 82: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

72 |

Django request/response cycle: Anything that takes place before or after the view

method runs. This includes the default middleware, the request routing and the other

core mechanics that take place on each request. We timed this by hooking into the

request_started and request_finished signals.

Serialization: The time it takes to serialize model instances into simple native python

data structure. We timed this as everything that takes place in the serializer

instantiation and .data access.

Table 24: Test results after removing the serializer

View code: Anything that runs once an APIView has been called. This includes the

mechanics of REST framework's authentication, permissions, throttling, content

negotiation and request/response handling.

Response rendering: REST framework's Response object is a type of

TemplateResponse, which means that the rendering process takes place after the

response has been returned by the view. We timed this by wrapping APIView.dispatch

in a superclass that forces the response to render before returning it.

Table 25: Using of Broker in implementation

Page 83: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

73 |

Figure 37: Summary of results from different tests

Page 84: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

74 |

When testing the application with the designed tests, we came across an issue of

connection errors despite that all initial requirements in the design phase were

corresponding to the tests we made. In order to tackle the problem we were having

in the connection filed, we made the app to fetch data first and then start working,

that way the app won’t stop functioning even if connection was lost.

To conclude, we first explored different ways to implement such a system; such

systems can counter the parking problems that arise due to the unavailability of a

reliable, efficient and modern parking system. The use of different modern techniques

such as expert systems, wireless sensor based and vision-based systems can reduce

the parking related issues. Such a system can help the economic, social and safety-

based aspects of the society. It also helps in preserving the environment, fuel and

time. The economic analysis can help us find the optimum solution that has the

maximum throughput. From the technical and business analysis we did on the design

and implementation of the system, we can observe that it has a huge potential. If

the limiting factors such us better components is supported with proper funding, we

can further develop it to a fully functional system that has commercial value.

Page 85: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

75 |

7. SWOT ANALYSIS

We have tested our designs both in simulation and practically, which led to design

revisions because designs on paper and real-world experience are quite different.

When starting this project, we have done an intensive research about the subject

matter and even considered other methods of implementing such a system. Finally,

we decided that we should start with components that can be found locally. We

needed our system to fit into the economic reality we face in daily life.

Upon designing the system, we analyzed our system from a business point of view

which we know as SWOT. SWOT analysis is an acronym for strengths, weaknesses,

opportunities, and threats and is a structured planning method that evaluates those

four elements of an organization, project or business venture. A SWOT analysis can

be carried out for a company, product, place, industry, or person. It involves

specifying the objectives of the business venture or project and identifying the

internal and external factors that are favorable and unfavorable to achieve that

objective.

✓ Strengths: characteristics of the business or project that give it an advantage

over others.

✓ Weaknesses: characteristics of the business that place the business or project

at a disadvantage relative to others.

✓ Opportunities: elements in the environment that the business or project

could exploit to its advantage.

✓ Threats: elements in the environment that could cause trouble for the

business or project. Our project reviewed according to the SWOT matrix.

Table 26: Strengths

Page 86: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

76 |

Table 27: Weaknesses

Table 28: Opportunities

Table 29: Threats

Page 87: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

77 |

8. WHAT’S NEXT

The global smart parking system market size was valued at USD 81.3 million in 2015. [23] An increasing number of vehicles across the globe are instrumental in intensifying

the parking woes. The alarming problem of traffic congestion is rising exponentially

on a global scale. The increasing need to counter and address parking related issues

is significant in creating a high demand for efficient parking systems. Smart parking

systems provide flexibility and scalability to effectively address the parking issues.

The adoption of smart parking systems involves the use of low-cost sensors and

mobile phone-enabled automated payment systems. Such sophisticated features

enable users in determining the available parking spaces and reserving the slot in

advance reducing the time required to avail parking. The parking system helps in

minimizing car emissions by eliminating the need for people to unnecessarily circle

the city blocks in search of parking spaces.

Since, the system helps in minimizing traffic congestion and pollution levels,

governments across the globe are undertaking various initiatives for the large-scale

adoption of such parking systems. Favorable administrative schemes are presumed

to remarkably contribute to the industry expansion in the coming years. The large-

scale system component is possible only through significant funding initiatives

undertaken by the national governments. Nevertheless, the increasing adoption of

these systems at airports, corporate campuses, and similar avenues is predicted to

fuel the industry prospects.

The smart parking industry, on the basis of applications, can be classified into three

types; transport transit, government, and commercial. The government application

segment accounted for over 62% of the overall market share in 2015 and is predicted

to continue its control on the market growth over the next seven years due to

government initiatives in developed as well as developing countries. [23]

The commercial application segment has a high growth potential and is projected to

gain traction over the forecast period as these places are major attraction of tourist

as well as local citizens. Such systems are increasingly adopted at corporate avenues,

shopping malls, theaters, and sports complexes, among others where an efficient

management of parking is on high priority. High convenience and flexibility along

with mobile payment options are projected to impel growth in the commercial

segment. Vendors are accentuating on providing convenience to users and are

continually deploying new applications with innovative features. The transport transit

application segment accounted for over 9% of the overall market share in 2015 and

is predicted to grow over the next seven years. [23]

Page 88: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

78 |

Our system will be logging data about the different cars that are parked in different

areas of our city and as we see it this can be a huge advantage for the transport

ministry because there will be data to be crunched and be used to make plans based

on the numbers they get out of our system; we can also take part in the crunching

of numbers and data analysis by further equipping the system with machine learning;

giving birth to Big Data analysis steeping stones.

Figure 38: Big Data

This all can show that the current system designs we did can be scaled up to a

profitable commercial product.

Page 89: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

79 |

9. REFERENCES

1. “2011 Commuter Pain Survey” IBM Press Room. IBM, 8 Sept 2011. Web.

13 Mar. 2013

2. Than Nam Phaml, Ming-Fong Tsail, Duc Bing Nguyenl, Chyi-Ren Dowl

and Der-Jiunn Deng. “A Cloud Based Smart Parking System Based on

Internet of Things Technologies” IEEE Access, volume 3, pp. 1581 –

1591, September 2015.

3. https://en.wikipedia.org/wiki/Car_parking_system Oct 20,2017

4. K. Ashokkumar a, Baron Sam, R Arshadprabhu, Britto. “Cloud Based

Intelligent Transport System” Procedia Computer Science, volume 50,

pp. 58-63, 2015

5. http://ijarcet.org/wp-content/uplods/IJ

6. http://www.mdpi.com/journal/sensors

7. Bilodeau, V.P. Intelligent Parking Technology. Ph. D Thesis, University

of Southern Queensland: Queensland, Australia, 2010

8. L. Atzori, A. Iera, and G. Morabito, “The Internet of things: a survey”

Computer Networks, Vol. 54, no 15 pp. 2787-2805, 2010

9. Barton, J., J. Buckley, B. O’Flynn, S.C. O’Mathuna and J.P. Benson et

al., 2007. The D-systems project-wireless sensor networks for car-park

management. Proceedings of the 65th Vehicular Technology

Conference, April 22-25, 2007, VTC2007-Spring, pp: 170-173.

10. Benson, J.P., T. O'Donovan, P. O'Sullivan, U. Roedig and C.

Sreenan et al., 2006. Car park management using wireless sensor

networks. Proceedings of the 31st Conference on Local Computer

Networks, November 14-16, 2006, Tampa, FL., USA., pp: 588-595.

11. Bi, Y.Z., L.M. Sun, H.S. Zhu, T.X. Yan and Z.J. Luo, 2006. A

parking management system based on wireless sensor network. Acta

Automatica Sin., 32: 877-968.

12. Shim, S., S. Park and S. Hong, 2006. Parking management

system using zigbee. Int. J. Comput. Sci. Network Security, 6: 131-137.

13. http://www.sbf1.sbfisica.org.br/procs/2006/pdfs%20optics/Inter

ferometry,%20Holography%20and%20Applied%20Optics/604%20-

2.pdf January 12,2018

14. http://www.st.com/st-web-

ui/static/active/en/resource/technical/document/application_note/DM0

0096551.pdf January 12,2018

15. Massa, D. 1999. Choosing an ultrasonic sensor for proximity or

distance measurement. Sensorsmag. 1 February.

Page 90: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

80 |

16. Wilson, J. 2005. Sensor Technology Handbook. Oxford, UK.:

Elsevier.

17. http://www.djangoproject.com/ January 12,2018

18. http://www.djangobook.com/en/1.0/ January 12,2018

19. http://docs.djangoproject.com/en/dev/ January 12,2018

20. http://www.djangopluggables.com January 12,2018

21. http://www.arduinobasics.blogspot.com/2012/07/arduino-

basics-simple-arduino-serial.html January 30, 2018

22. https://medium.com/@jeremymartin071/advantages-and-

disadvantages-of-automated-parking-system-d725492fd67f January

22, 2018

23. https://www.grandviewresearch.com/industry-analysis/smart-

parking-system-market January 15, 2018

24. M.Y.I. Idris, Y.Y. Leng, E.M. Tamil, N.M. Noor and Z. Razak, 2009.

Car Park System: A Review of Smart Parking System and its Technology.

25. S. Alam, M. M. R. Chowdhury, and J. Noll, “Senaas: An event-

driven sensor virtualization approach for internet of things cloud,” in

Networked Embedded Systems for Enterprise Applications (NESEA),

2010 IEEE International Conference on, November 2010, pp. 1–6.

[Online]. Available: http://dx.doi.org/10.1109/NESEA.2010.5678060

26. Li, T.S.; Ying-Chieh, Y.; Jyun-Da, W.; Ming-Ying, H.; Chih-Yang,

C. Multifunctional intelligent autonomous parking controllers for carlike

mobile robots. IEEE Trans. Ind. Electron. 2010, 57, 1687–1700.

27. Kaivan Karimi and Gary Atkinson, ―What the Internet of Things

(IoT) Needs to Become a Reality‖, White Paper, Free Scale and ARM,

2013.

28. Prof. D. J. Bonde , Rohit S. Shende, Ketan S. Gaikwad, Akshay S.

Kedari,Amol U. Bhokre. “Automated Car Parking System Commanded

by Android Application”, (IJCSIT) International Journal of Computer

Science and Information Technologies, volume 5(3), pp. 1-4, 2014.

29. Callum Rhodes, William Blewitt, Craig Sharp, Gary Ushaw and

Graham Morgan. “Smart Routing: A Novel Application of Collaborative

Path-finding to Smart Parking Systems”. Business Informatics (CBI),

2014 IEEE Conference on volume 1, pp. 119-126, 2014.

30. http://www.mdpi.com/journal/sensors Sensors 2014, 14, 22372-

22393; doi:10.3390/s141222372

Page 91: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

81 |

APPENDIX

Figure: Arduino Schematic

Page 92: DECLARATION · An Internet of Things (IoT) based Parking System informs the user to find out about the nearest parking area and gives availability of parking slots in that respective

82 |

Figure: Raspberry PI Model B+ Schematic

Figure: Django Framework Project Structure