0% found this document useful (0 votes)
48 views94 pages

All Chapters Real

The document discusses the background and need for an IoT-based prepaid car parking system using RFID and Arduino. Such a system could automate parking payment and access control, enhancing user convenience. The system would leverage RFID tags on vehicles and readers at entry/exit points, along with Arduino microcontrollers. Users could load prepaid credits onto their RFID tags, eliminating the need for physical tickets. The system aims to address issues with traditional parking methods like inefficient space usage. Research questions focus on requirements, how Arduino can manage components, and payment options. Objectives are to create an advanced yet user-friendly parking solution utilizing relevant technologies.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views94 pages

All Chapters Real

The document discusses the background and need for an IoT-based prepaid car parking system using RFID and Arduino. Such a system could automate parking payment and access control, enhancing user convenience. The system would leverage RFID tags on vehicles and readers at entry/exit points, along with Arduino microcontrollers. Users could load prepaid credits onto their RFID tags, eliminating the need for physical tickets. The system aims to address issues with traditional parking methods like inefficient space usage. Research questions focus on requirements, how Arduino can manage components, and payment options. Objectives are to create an advanced yet user-friendly parking solution utilizing relevant technologies.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 94

CHAPTER ONE

INTRODUCTOIN
1.0 introduction

During this chapter we discuss of background of the study, followed by, problem statement,
research Questions, purpose of the project, project Objective, Scope of the study, Significance of
the project and organizational project.

1.1 background of the project

Globally in the United States, an IOT Based Prepaid CAR Parking System Using RFID Arduino can
be referred to parking system that utilizes technology and allows users to prepay for parking
services. The system may incorporate various technologies such as sensors, connectivity and
payment processing to enable efficient and convenient parking management A prepaid car
parking system using RFID and Arduino can be implemented to automate the process of parking
payment and access control. Jogada, P., & Warad, V. (2016, October 31)

In England an IOT Based Prepaid CAR Parking System Using RFID Arduino in Europe can leverage
the power of connected devices and the Internet of Things to automate parking payment and
access control A prepaid car parking system using RFID (Radio Frequency Identification) and
Arduino is a technology-based solution that allows drivers to access and pay for parking services
in a convenient and automated manner. Rajyalakshmi, V., & Lakshmanna, K. (2023

In Brazil The use of IOT Based Prepaid CAR Parking System Using RFID Arduino utilizing RFID
(Radio Frequency Identification) technology and Arduino microcontrollers has gained popularity
in various parts of the world, including Latin America. These systems offer an efficient and
convenient way to manage car parking, allowing users to easily access and pay for parking
services IoT based prepaid car parking systems have also gained traction in Latin America.
These systems leverage IoT technologies to create a connected infrastructure that enhances the
efficiency and convenience of parking operations. In-Text Citation: (Rahman, 2020)

In Canada prepaid car parking system using Arduino is a system that allows users to pay for
parking in advance and facilitates automated parking management The IoT-based prepaid car

1
parking system is a technologically advanced parking management system that leverages the
Internet of Things. Rajyalakshmi & Lakshmanna, 2023)

In Japan the IoT-based prepaid car parking system is a technology-driven solution that aims to
improve efficiency and convenience in managing parking spaces Japan IoT-based prepaid car
parking system using Arduino Prepaid Account Management: The central system manages the
prepaid accounts of users. Users can create accounts and add funds to their prepaid balance
through a mobile app website or payment kiosk. (Jogada & Warad, 2016)

In Bangladesh Implementing a prepaid car parking system using Arduino in Bangladesh can help
streamline parking operations and enhance the user experience Arduino-based Sensor
Integration: Arduino boards can be integrated with sensors such as ultrasonic sensors, infrared
sensors, or magnetic sensors. These sensors are installed in parking spaces to detect the presence
of vehicles and determine their occupancy status. Arduino boards collect data from these sensors
Payment and Account Management Users can create prepaid accounts for parking through a
mobile app website or designated payment kiosks. They can add funds to their prepaid balance
using various payment methods such as mobile banking or online payment gateways The central
system manages these accounts and tracks the account balance of each user parking duration
Calculation When a vehicle enters a parking space the Arduino board detects its presence and
starts a timer The system calculates the parking duration based on the entry and exit times
recorded by the Arduino board The corresponding amount is deducted from the user's prepaid
account balance. (Susilo et al., 2021) car parking system can be integrated with popular
payment gateways or local payment methods in Mexico. (Sitompul & Syirli, 2020)

Regionally In Kenya The prepaid car parking system using Arduino is a project that aims to
automate and streamline the process of parking vehicles Entry and Exit Points The parking lot
would have entry and exit points equipped with RFID readers as a vehicle approaches the entry
point, the RFID reader would detect the RFID tag or card and communicate with the Arduino
board Checking Account Balance The Arduino board would communicate with the central server
to check the user's account balance if the account has sufficient credit, the barrier or gate would
open to allow entry . (K K A et al., 2016)

In South Africa IoT-based prepaid car parking system using Arduino is a project that utilizes the Internet
to create an automated and prepaid parking system in South Africa Exit and Payment: When the user

2
wants to leave the parking lot, they would approach the exit point The RFID reader and
ultrasonic sensor would detect the vehicle and the Arduino board would communicate with the
central server to calculate the final parking fees. (Lakhote, 2021)

In Nigeria prepaid car parking system using Arduino is a technological solution that combines
technology and Arduino microcontrollers to create a prepaid parking system for cars this system
aims to automate and streamline the process of car parking by integrating various components
such as sensors, microcontrollers, and a central server Central Server/Cloud Platform the central
server or cloud platform acts as the backbone of the system. It receives real-time data from the
Arduino boards, manages parking spot availability processes payments and generates reports.
(Vamshi, 2021)

In Tanzania prepaid car parking system using Arduino Integration with mobile network
Operators Tanzania has a strong presence of mobile network operators consider collaborating
with these operators to enable seamless integration of mobile money services for parking
Payments This can include leveraging APIs provided by the operators for secure payment
processing and account verification data Management and Privacy Comply with data protection
laws and regulations in Tanzania. (Hackett et al., 2018 Locally: In Somalia Unfortunately don’t
have Access to specific Information on IOT BASED PREPAID CAR PARKING SYSTEM
USING RFID ARDUINO in Somalia. ( Lonaras 2018 march 31)

1.2 STATEMENT OF THE PROBLEM

The problem at hand is the need for an efficient and convenient car parking system that utilizes
IoT specifically RFID (Radio Frequency Identification) and Arduino to provide a prepaid
parking solution traditionally car parking systems have relied on manual processes such as
ticketing or gate barriers, Additionally, the payment process often causes inconvenience to the
users, especially in situations where they need to search for change or wait in line to pay at a
payment booth to address these challenges an IoT-based prepaid car parking system using RFID
and Arduino can be implemented. This system aims to automate the parking process enhance
user convenience and optimize parking space utilization The proposed system will utilize RFID
technology to enable seamless identification and authentication of vehicles entering and exiting
the parking facility Each vehicle will be equipped with an RFID tag, and the parking entrance
and exit gates will be equipped with RFID readers.

3
1.3 RESEARCH QUESTIONS

The research questions for the IOT based prepaid Car Parking System Using RFID Arduino
include:

What are the key requirements and functionalities of an IoT-based prepaid car parking system
using RFID and Arduino?

How can the Arduino platform be utilized to control and manage the components of the
parking system such as RFID reader’s barrier control and sensor integration?

What are the different options for implementing a prepaid payment system for parking credits
in the IoT-based car parking system?

1.4 project objective

objective of the project "IoT-based Prepaid Car Parking System Using RFID Arduino" is to
create a smart parking system that utilizes IoT technology RFID (Radio-Frequency
Identification), and Arduino microcontrollers The system aims to provide a convenient and
efficient solution for managing and monitoring car parking spaces.

1.4.1 General objective

The general objective of an IoT-based prepaid car parking system using RFID Arduino is to
create a technologically advanced and user-friendly parking solution that utilizes IoT RFID and
Arduino technologies. The system aims to address common challenges associated with
traditional parking systems such as manual ticketing payment handling and inefficient space
utilization

To Prepaid Payment System operates on a prepaid basis where users purchase parking credits in
advance These credits are loaded onto their RFID tags which are deducted based on the duration
of the parking This eliminates the need for physical tickets and enables cashless transactions.

To Data Analytics and Insights, the system can collect data on parking usage payment history
and other relevant metrics This data can be analyzed to gain insights into parking patterns
revenue generation and user behavior enabling parking operators to make data-driven decisions
for future improvements.

4
To Control Gate and Access Management the Arduino microcontroller plays a crucial role in
controlling the parking gate When a vehicle approaches the gate the RFID reader reads the tag
information and the Arduino processes this data to determine if the user has sufficient credit. If
the credit is available, the Arduino sends a signal to open the gate allowing the vehicle to enter
Similarly when a vehicle exits the Arduino checks the tag information and deducts the
appropriate amount from the user's credit before opening the gate.

Security and Authentication: The RFID tags and readers ensure secure identification of vehicles
Additionally the system may incorporate additional.

Specific objective

To Implement logic to validate the RFID tag check account balances or prepaid parking time and
control the barriers accordingly Establish a reliable connection between the Arduino and the
database to update and retrieve Information.

Protect the communication between the RFID reader and the Arduino by using encryption
techniques (e.g., HTTPS, SSL/TLS) Implement access control mechanisms to prevent
unauthorized access to the database or system configuration.

Display the real-time status of parking slots on the user interface allowing users to easily find
available slots Set up alerts or notifications to inform system administrators or parking attendants
when certain conditions are met such as when the parking area is almost full or when a vehicle
overstays its prepaid parking time.

The Scope of the System

The scope of an IoT-based prepaid car parking system using RFID (Radio Frequency
Identification) and Arduino can encompass various aspects related to managing and automating
the car parking process the system would utilize RFID technology to identify and track vehicles
entering and exiting the parking area Each vehicle would be equipped with an RFID tag or
sticker that contains unique identification information the system can incorporate a reservation
feature that allows users to reserve parking spaces in advance.

5
Content scope

The research will be based on IOT Based Prepaid CAR Parking System Using RFID Arduino for
our departments in Daha international University to help them locate projects that is submitted
by supervisors as well as to know the researched topics and we hope that this research will
encourage the students and also the others universities.

1.5.1 Geographical scope

1 This study will be carried out at Daha University in Mogadishu, Somalia.

2 Daha University is one of the Major universities currently working in Somalia.

1.5.2 Time of scope

The duration of this project will cover between Jan and August 2024.

1.6 SIGNIFICANCE OF THE PROJECT


The significance of an IOT Based Prepaid CAR Parking System Using RFID Arduino

Cost Savings: The automation and optimization provided by the system can lead to cost savings
for parking facility operators It reduces the need for manual labor in ticketing and payment
processes, improves operational efficiency and minimizes revenue leakage due to unauthorized
parking The system can be designed to be scalable and adaptable to different parking facility
sizes and configurations. It can accommodate future expansions or modifications without
significant disruptions, making it a flexible solution for various parking environments Revenue
Generation: The system enables parking facility operators to implement a seamless and efficient
payment process, reducing revenue leakage due to unpaid or unauthorized parking. By
automating the payment collection and enforcing access control through RFID tags, operators
can ensure that every vehicle entering the parking area is accounted for and charged
appropriately, thereby maximizing revenue generation Integration with Smart Transportation
Systems: The IoT-based parking system can integrate with broader smart transportation systems,

6
such as intelligent traffic management systems and public transportation networks. By sharing
parking availability information with these systems, it can contribute to efficient traffic flow and
help drivers make informed decisions about parking and commuting options Economic Impact:
An efficient and well-managed parking system can have a positive economic impact on urban
areas. By reducing congestion, improving traffic flow, and attracting visitors .

1.7 PROJECT ORGANIZATION


Chapter one Globally in the United States, an IoT-based prepaid car parking system can be
referred to parking system that utilizes technology and allows users to prepay
for parking services. The system may incorporate various technologies such as
sensors, connectivity and payment processing to enable efficient and
convenient parking management A prepaid car parking system using RFID and
Arduino can be implemented to automate the process of parking payment and
access control.

Regionally in Tanzania prepaid car parking system using Arduino Integration


with mobile network Operators Tanzania has a strong presence of mobile
network operators consider collaborating with these operators to enable seamless
integration of mobile money services for parking Payments This can include
leveraging APIs provided by the operators for secure payment processing and
account verification data Management and Privacy Comply with data protection
laws and regulations in Tanzania. (Hackett et al., 2018)
Chapter two

Early Conceptualization: The concept of connecting devices and enabling them to


communicate and share data can be traced back to the 1980s and 1990s. The idea of
"embedded internet" was proposed, envisioning a world where everyday objects could be
interconnected.

1.8 Chapter summary


Chapter one provides a comprehensive introduction to the on IOT Based
Prepaid CAR Parking System Using RFID Arduino. It establishes the context,
objectives, scope, and significance of the project, setting the stage for the

7
subsequent chapters' technical details, implementation steps, testing procedures.
CHAPTER TWO
LITERATURE REVIEW

2.0 INTRODUCTION

This chapter briefly we discussed about iot history, theoretical frame work, Machin learning,
Case study, existing systems, gap analysis, preview the system and chapter summary.

2.1 IOT HISTORY

The concept of adding sensors and intelligence to physical objects was first discussed in the 1980s, when
some university students decided to modify a Coca-Cola vending machine to track its contents
remotely. But the technology was bulky and progress was limited.

The term ‘Internet of Things’ was coined in 1999 by the computer scientist Kevin Ashton. While
working at Procter & Gamble, Ashton proposed putting radio-frequency identification (RFID) chips on
products to track them through a supply chain.

2.2 Theoretical frame work

A Greenhouse, which is a exceptionally outlined homestead structure. This gives a more


controllable environment to a better crop security, transplantation, harvest generation and
product seeding. As a part of this present-day period, for developing yields, following to more
space of area which has vigorously utilized for commercial ventures and housing the area space
is accessible. The cost-effective farming such as new blossoms, organic products and vegetables
generation is the utilization of Greenhouse development in many tropical nations. The
conformity of ideal atmosphere development conditions which is to attain to the high return at
great quality, low natural burden and low cost is the effectiveness of plant creation inside
Greenhouse which depends fundamentally. Parameters like light, humidity, temperature, soil
moisture must be controlled ideally where the given certain criteria through water creation,
warming, ventilation and lighting are used to attain certain objectives. By persistent checking
and controlling of these ecological parameters which gives a significant data that is related to the
individual impacts of the elements differently towards acquiring the most extreme creation of
harvest. The present remarkable difficulties of Greenhouse is to control. Temperature changes

8
quickly, In Greenhouse as a result, fluctuations relying upon sun powered radiation level,
moisture levels and outside temperatures. Poor natural product set and quality frequently bought
by the high stickiness and poor light intensity. Expanding the efficiency of labourers by
empowering them for the more important assignments, electrical expenses and heating fuel,

empowering producers and directors to settle on better administration choices and to invest
mor(Access et al., 2020)

Design of intelligent greenhouse environment monitoring system based on ZigBee and


embedded technology, (WeiminQiu,Linxi Dong,Fei Wang,Haixia China, 2014 ) Yan[1]designed
intelligent greenhouse environment monitoring control system which is based on ZigBee and
embedded technology. This system consists of three main components: upper machine
processors, environmental factors acquisition nodes and intelligent control terminal block. It is
mainly made up of S3C2440 microprocessor with the ARM920T core, power, clock, reset
circuit, LCD touch screen, intelligent control terminal module, ZigBee coordinator and
environmental factors detection terminal nodes. This system realizes the functions of displaying
real time data about greenhouse environment factors, data query and setting the warning value. i-
learning IoT :

An intelligent self-learning system for home automation using IoT,Vishwajeet Hari Bhide,
Sanjeev Wagh 2015) proposed an efficient implementation for IoT (Internet of Things) used for
monitoring and controlling the home appliances via World Wide Web. Automation of regular
activities inside the home is home automation. Due to huge advancement in wireless sensor
network and other computation technologies now a day's, it is possible to provide flexible and
low cost home automation system. However there is no any system available in markets which
provide home automation as well as error detection in the devices efficiently. In this system
prediction is done to find out the required solution if any problem occurs in any device connected
to the system. The home appliances can be controlled via Smartphone using Wi-Fi .Here
raspberry pi used as server system and Wi-Fi as communication protocol.(Satpute, 2018)

Shelvane et al. (2019) developed a Raspberry-pi-based real-time remote control greenhouse


monitoring system that allows users to track environmental parameters remotely. The project's
major goal is to create a simple, low-cost system that continuously updates and controls the value
of environmental parameters in order to ensure optimal plant growth. The key sensors utilized in
9
the research are the DHT11, soil moisture sensor, and LDR sensor, which provide precise values
for temperature, humidity, soil water content, and light intensity. The Raspberry-pi motherboard
is connected to all of the resources, including the cooling fan, artificial light, and motor pump.
The project was split into two sections, with the first involving programming the Raspberry Pi
with the Python programming language. In their paper IoT based Smart Farm, Gondchawar et al.
(2016) attempt to construct a smart and automated agriculture utilizing internet of things
technology. The technology was created using a GPS-based remote controlled robot. Spraying,
weeding, moisture sensing, bird and animal scaring, security, and other tasks are among the
system's responsibilities. Smart irrigation with smart control and intelligent decision making
based on reliable real-time field data are also part of the project. Finally, the warehouse was
designed to contain the following features: temperature control, humidity control, and theft
detection. Controlling of all these activities was done by remote smart device or computer
connected to Internet and the operations was achieved by interfacing sensors, Wi-Fi, camera and
actuators with micro-controller and raspberry pi.

2.3 machine learning

Machine learning can be incorporated into a greenhouse monitoring and control system with an
Arduino system to enhance its functionality and decision-making capabilities. Here are some
ways in which machine learning can be applied:

2.3.1 machine learning classification

In a greenhouse monitoring and control system with an Arduino system, machine learning
classification techniques can be applied to various tasks. Here are some examples of how
machine learning classification can be utilized:

1. Plant Disease Classification:

Machine learning algorithms can be trained to classify images or sensor data to identify specific
plant diseases. By analyzing visual symptoms or patterns in sensor data, the system can classify
whether a plant is healthy or affected by a particular disease. This can help in early detection and
prompt treatment of diseased plants.

10
2. Pest Identification:

Machine learning classification can be employed to identify different types of pests that may
infest the greenhouse. By training models on images or sensor data, the system can classify pests
and provide alerts or recommendations for appropriate pest control measures.

3. Crop Species Identification:

Machine learning algorithms can be trained to classify images of plants and accurately identify
different crop species. This can be useful in automated plant inventory management or ensuring
correct labeling of crops in the greenhouse.

4. Weed Detection and Classification:

Machine learning models can be trained to distinguish between crops and weeds in images or
sensor data. By classifying and differentiating between desired plants and weeds, the system can
aid in targeted weed control strategies, reducing the need for herbicides and minimizing crop
damage.

5. Environmental Event Classification:

Machine learning classification can be used to detect and classify specific environmental events
or conditions in the greenhouse. For example, the system can classify temperature spikes, sudden
changes in humidity, or anomalous light conditions, alerting greenhouse operators to potential
issues.

6. Nutrient Deficiency Identification:

Machine learning algorithms can be trained to classify symptoms of nutrient deficiencies in


plants. By analyzing images or sensor data, the system can identify patterns associated with
specific nutrient deficiencies, enabling timely adjustment of nutrient delivery to optimize plant
health and growth.

11
2.3.2 Application of machine leaning

In a greenhouse monitoring and control system with an Arduino system, machine learning can be
applied to various applications to enhance its capabilities. Here are some examples of how
machine learning can be used in such a system:

Predictive Analytics: Machine learning algorithms can analyze historical sensor data to make
predictions about future greenhouse conditions. For example, temperature, humidity, and light
intensity data can be used to forecast optimal growing conditions for specific crops. This
information can help greenhouse operators plan and optimize their cultivation strategies.

Decision Support: Machine learning can provide decision support by analyzing sensor data and
generating recommendations for greenhouse operations. For instance, algorithms can suggest
optimal irrigation schedules based on real-time weather data, plant water requirements, and soil
moisture measurements. This can assist in water conservation and efficient resource allocation.

Energy Optimization: Machine learning algorithms can optimize energy usage in the
greenhouse. By analyzing sensor data, weather forecasts, and historical patterns, the system can
adjust heating, cooling, and lighting systems to minimize energy consumption while maintaining
optimal growing conditions.

Automated Control: Machine learning algorithms can learn from sensor data and user feedback
to automate control systems in the greenhouse. For example, algorithms can adjust ventilation,
temperature, and humidity levels based on crop responses and desired setpoints. This automation
can improve efficiency and reduce the manual workload for greenhouse operators.

Disease and Pest Detection: Machine learning can be used to detect and identify plant diseases
and pests. By training models on images or sensor data, the system can classify and alert
operators about the presence of diseases or pests. Early detection enables timely intervention,
reducing crop losses and minimizing the need for chemical treatments.

12
Yield Estimation: Machine learning algorithms can estimate crop yield based on various factors
such as historical data, environmental conditions, and cultivation practices. This information can
assist in production planning, resource allocation, and market forecasting.

Optimization of Crop Nutrient Levels: Machine learning can analyze sensor data to optimize
nutrient delivery to plants. By learning from historical data and plant responses, algorithms can
adjust nutrient levels in real-time, ensuring optimal growth and minimizing waste.

2.4 CASE STUDY

Sure! Here's a case study illustrating the implementation of a greenhouse monitoring and control
system with an Arduino system:

Case Study: Smart Greenhouse Monitoring and Control System Objective:

The objective of this case study is to develop a smart greenhouse monitoring and control system
using an Arduino system. The system aims to optimize crop growth conditions, automate control
processes, and provide real-time monitoring and alerts for greenhouse operators.
Implementation Steps:

Sensor Selection and Integration:

Select appropriate sensors for monitoring key environmental parameters such as temperature,
humidity, light intensity, CO2 levels, and soil moisture.

Integrate the sensors with the Arduino system using compatible interfaces or modules.

Calibrate the sensors and ensure accurate measurements.

Data Acquisition and Processing:

Configure the Arduino to collect sensor data at regular intervals.

Implement necessary signal conditioning and analog-to-digital conversion techniques to ensure


accurate data acquisition.

Process the sensor data to remove noise and outliers, if required.

Real-time Monitoring:

13
Display real-time sensor data on an LCD screen or a graphical user interface (GUI) for easy
monitoring by greenhouse operators.

Implement visual indicators or color-coded alerts to highlight abnormal conditions or thresholds


exceeding predefined values

Control System Design:

Develop a control algorithm based on feedback control principles to maintain desired


environmental conditions.

Utilize the Arduino's digital and analog outputs to control actuators such as fans, heaters, coolers,
pumps, and lighting systems.

Implement a control strategy, such as PID control, to adjust actuators based on sensor feedback
and desired setpoints.

Communication and Connectivity:

Establish connectivity options such as Wi-Fi, Ethernet, or other wireless protocols to enable
remote monitoring and control.

Implement communication protocols (e.g., MQTT) to exchange data with external systems or
cloud platforms.

Ensure data security measures are in place to protect sensitive information

Machine Learning Integration (Optional):

If desired, integrate machine learning algorithms for tasks such as disease detection, pest
identification, or yield estimation.

Train machine learning models using historical data or labeled datasets.

Offload computationally intensive tasks to more powerful devices or cloud-based services while
leveraging the Arduino for data collection and preprocessing.

User Interface and Alerts:

Develop a user-friendly interface for greenhouse operators to interact with the system.

14
Provide visualizations, graphs, and historical data analysis features for informed decision-
making.

Configure alerts and notifications via email, SMS, or mobile applications to notify operators of
critical events or abnormal conditions.

Testing and Validation:

Conduct thorough testing of the system to ensure accurate sensor readings, reliable control, and
proper functioning of all componentValidate the system's performance by comparing the results
with manual measurements and industry best practices.

Benefits and Outcomes:

Improved crop growth conditions and increased yield through optimized environmental control.

Reduction in resource wastage by implementing precise control of water, energy, and nutrients.

Early detection of diseases, pests, or irregularities, leading to timely interventions and reduced
crop losses.

Enhanced operational efficiency and reduced manual workload for greenhouse operators.

Data-driven decision-making for improved greenhouse management and planning.

Conclusion:
By implementing a smart greenhouse monitoring and control system with an Arduino system, it
is possible to optimize crop growth conditions, automate control processes, and enable real-time
monitoring and alerts. The system can contribute to improved crop yield, resource efficiency,
and proactive management of greenhouse operations.

Machine learning algorithms can play a crucial role in predicting and preventing crop diseases in
a greenhouse. Here's how they can be applied:

Disease Detection:

Data Collection: Gather a dataset comprising images or sensor data of healthy plants and plants
affected by various diseases.

15
Data Preprocessing: Clean and preprocess the dataset, ensuring consistency and removing noise
or outliers.

Feature Extraction: Extract meaningful features from the data that can help distinguish between
healthy and diseased plants. This can include visual symptoms, spectral signatures, or patterns in
sensor data.

Model Training: Train a machine learning classification model, such as convolutional neural
networks (CNNs) or support vector machines (SVMs), using the labeled dataset.

Model Evaluation: Assess the performance of the trained model using evaluation metrics such as
accuracy, precision, recall, and F1-score.

Disease Prediction: Apply the trained model to new data, such as images or sensor readings of
plants in the greenhouse, to predict the likelihood of disease presence.

Early Disease Warning:

Time Series Analysis: Utilize machine learning algorithms to analyze historical sensor data over
time and identify patterns or anomalies that precede the onset of diseases.

Feature Engineering: Extract relevant features from the time series data, such as statistical
measures, spectral indices, or temporal patterns.

Model Development: Train time series forecasting models, such as recurrent neural networks
(RNNs) or long short-term memory (LSTM) networks, to predict disease outbreaks based on the
extracted features.

Alert Generation: Set up a system that generates alerts or notifications when the model predicts
an increased risk of disease occurrence. This can be based on deviations from normal patterns or
predefined thresholds. Disease Risk Assessment.

Data Integration: Collect and integrate diverse data sources, such as weather data, soil
conditions, and pest information, along with plant health data.

Feature Selection: Identify relevant features from the integrated dataset that are indicative of
disease risk.

16
Model Training: Train machine learning models, such as decision trees, random forests, or
gradient boosting algorithms, to assess the likelihood of disease occurrence based on the selected
features.

Risk Evaluation: Use the trained models to assess the disease risk level for different areas or
specific crops in the greenhouse. This information can aid in targeted disease management
strategies.

Preventive Measures Recommendation:

Expert System Integration: Combine machine learning algorithms with expert knowledge and
domain-specific rules to develop an intelligent system that recommends preventive measures.

Knowledge Base: Build a knowledge base that includes information on disease characteristics,
symptoms, environmental conditions, and suitable prevention strategies.

Rule-based Reasoning: Utilize machine learning algorithms to learn from the knowledge base
and historical data to generate recommendations for preventive measures based on the observed
conditions.

Decision Support: Provide greenhouse operators with actionable insights and recommendations
to implement preventive measures, such as adjusting environmental conditions, applying targeted
treatments, or enhancing sanitation practices.

2.5 EXISTING SYSTEMS

Existing greenhouse monitoring and control systems with Arduino systems are designed to
automate and optimize the management of greenhouse environments. Here are a few examples of
existing systems:

OpenAG: The Open Agriculture Initiative developed by the MIT Media Lab offers an open-
source platform for building Arduino-based greenhouse systems. It provides hardware designs,
software libraries, and a community forum for sharing knowledge and collaborating on
greenhouse projects. OpenAG focuses on creating controlled environments for plant growth,

17
experimenting with different environmental variables, and implementing automation and data
collection.

GroLab: GroLab is a modular and customizable greenhouse automation system that incorporates
Arduino boards. It offers a wide range of sensors and actuators to monitor and control various
aspects of the greenhouse, such as temperature, humidity, CO2 levels, pH, and irrigation. The
system provides a user-friendly interface for real-time monitoring, data logging, and remote
access through a web application or mobile app. GroLab also supports integration with external
devices and platforms for advanced data analysis and automation.

MySensors: MySensors is an open-source platform that enables DIY greenhouse monitoring and
control using Arduino boards. It provides a library and network protocol for creating wireless
sensor networks, allowing the connection of multiple Arduino nodes. With MySensors, users can
build their own custom sensors and actuators, and communicate the data wirelessly to a central
Arduino gateway. The gateway can interface with external systems or platforms for data
visualization, analysis, and control.

Adafruit IO: Adafruit IO is a cloud-based Internet of Things (IoT) platform that can be integrated
with Arduino-based greenhouse systems. It offers a range of connectivity options, including Wi-
Fi, Ethernet, and cellular, allowing Arduino boards to securely send data to the cloud. Adafruit
IO provides features for data visualization, real-time monitoring, and remote control of
connected devices. It also supports the integration of machine learning algorithms and external
services for advanced analytics and automation.

2.6 GAP ANALYSIS

When analyzing the gap in existing greenhouse monitoring and control systems with an Arduino
system, several aspects can be considered for improvement:

Scalability and Modularity: Many existing Arduino-based systems provide modular


components and customization options, but ensuring scalability can be a challenge.
Enhancements can be made to facilitate the integration of additional sensors and actuators,
allowing for easy expansion as greenhouse operations grow. A more standardized approach to
module communication and compatibility can also simplify system integration.

18
Data Management and Analysis: While existing systems offer data logging and basic
visualization capabilities, there may be room for improvement in terms of data management and
analysis. Enhancements could include more advanced data processing techniques, such as
anomaly detection or predictive analytics, to provide actionable insights for greenhouse
operators. Integration with cloud platforms or external data analysis tools could also streamline
data storage and analysis.

User Interface and Accessibility: User-friendly interfaces play a crucial role in greenhouse
monitoring and control systems. Improvements can be made to enhance the ease of use,
customization, and accessibility of the system's user interface. This could involve developing
intuitive dashboards, mobile applications, or web interfaces that allow users to monitor and
control the greenhouse environment from anywhere.

Connectivity and Communication: While Arduino systems offer various connectivity options,
ensuring robust and reliable communication between nodes and the central control unit is
essential. Enhancements can focus on improving wireless protocols, optimizing network
performance, and addressing potential interference or range limitations. Integration with
emerging communication technologies, such as Lora WAN or MQTT, could also provide more
efficient and long-range connectivity.

Energy Efficiency and Power Management: Greenhouse monitoring and control systems
should be designed with energy efficiency in mind. Enhancements can focus on optimizing
power consumption, implementing sleep modes for low-activity periods, or exploring renewable
energy sources to power the system. Consideration should also be given to backup power
solutions to ensure system functionality during power outages.

Integration with External Systems: Enhancing the integration capabilities of Arduino-based


systems can enable seamless communication with external devices, platforms, or services. This
can involve integrating with weather APIs for real-time weather data, connecting with external
databases for crop information, or integrating with machine learning algorithms for advanced
analytics and decision-making.

Education and Support: Providing comprehensive documentation, tutorials, and support


resources can help users understand and make the most of the Arduino-based greenhouse system.

19
Enhancements can focus on creating user guides, troubleshooting documentation, and an active
community forum to foster knowledge sharing and support.

2.7 PREVIEW OF THE SYSTEM

The Arduino-based greenhouse monitoring and control system aims to provide a comprehensive
solution for automating and optimizing greenhouse environments. It leverages Arduino boards,
sensors, and actuators to collect data, control environmental parameters, and enable efficient
crop management. Here's a preview of the system:

Sensor Integration: The system incorporates a wide range of sensors to monitor essential
greenhouse parameters such as temperature, humidity, light intensity, CO2 levels, soil moisture,
and pH. These sensors are connected to Arduino boards, which collect and process the sensor
data.

Data Logging and Storage: The system enables data logging, storing the sensor data in a local
memory module or transmitting it to an external storage medium for long-term analysis and
record-keeping. This ensures that historical data is available for analysis and comparison.

Real-time Monitoring and Alerts: The collected sensor data is continuously monitored and
displayed in real-time on a user-friendly interface. Users can easily visualize the current
conditions within the greenhouse and track the variations in environmental parameters. The
system can also generate alerts or notifications when certain thresholds are crossed or anomalies
are detected, enabling timely intervention.

Control of Environmental Parameters: The Arduino system interfaces with various actuators to
control environmental parameters, such as temperature, humidity, and irrigation. Based on the
sensor data and predefined control algorithms, the system adjusts the settings of these actuators,
ensuring optimal growing conditions for the crops.

20
Automation and Scheduling: The system supports automation by implementing predefined
schedules or rules for controlling the greenhouse environment. Users can set up specific time-
based routines for adjusting parameters like lighting, ventilation, or irrigation. This reduces
manual intervention and ensures consistent and efficient management.

User Interface and Control: The system provides a user-friendly interface, accessible through a
web application, mobile app, or a local display. This interface allows users to monitor real-time
data, control environmental parameters manually if needed, and view historical trends for
analysis and decision-making.

Integration with External Systems: The system facilitates integration with external systems or
services to enhance functionality. This can include integration with weather APIs to receive real-
time weather data, integration with cloud platforms for remote access and data storage, or
integration with machine learning algorithms for advanced analytics and predictive capabilities.

Energy Efficiency and Power Management: The system incorporates energy-efficient design
principles, including power management features such as sleep modes for low-activity periods
and intelligent power usage. It may also explore renewable energy sources or backup power
solutions to ensure continuous system operation.

Scalability and Modularity: The system is designed to be scalable and modular, allowing users to
add or remove sensors and actuators based on their specific needs. This flexibility

ensures that the system can adapt to the evolving requirements of the greenhouse operations.

2.7.1 FRONT END

The front end of the Arduino-based greenhouse monitoring and control system serves as the user
interface through which users interact with the system. It provides real-time data visualization,
control options, and access to system features. Here are some key aspects of the front end:

Dashboard: The front-end interface typically includes a dashboard that presents an overview of
the greenhouse conditions. It may feature visualizations such as graphs, charts, or gauges to
display real-time data from various sensors. Users can quickly assess the current state of
parameters like temperature, humidity, light intensity, and more.

21
Data Visualization: The front end enables users to visualize historical trends and patterns of
environmental parameters. This can be achieved through interactive charts or graphs that display
data over different time intervals, allowing users to identify seasonal variations, anomalies, or
correlations between parameters.

Real-Time Monitoring: The front end provides a live data feed that continuously updates the
sensor readings in real time. Users can observe changes in greenhouse conditions as they occur,
providing valuable insights for timely decision-making and intervention.

Alerts and Notifications: The front end may include an alerting system that generates
notifications when certain thresholds are exceeded or predefined conditions are met. These alerts
can be displayed prominently on the interface or sent to users via email, SMS, or push
notifications, ensuring prompt attention to critical situations.

Manual Control Options: The front end interface allows users to manually adjust environmental
parameters if needed. This can include adjusting setpoints for temperature, humidity, or
irrigation, or activating specific control mechanisms such as fans, heaters, or misters. Manual
control options provide users with flexibility and direct control over the greenhouse
environment.

Scheduling and Automation: The front end may feature scheduling capabilities, enabling users to
define automated routines for controlling environmental parameters. Users can set up specific
time-based schedules for tasks like turning on/off lights, adjusting ventilation, or initiating
irrigation cycles. Automation reduces manual intervention and ensures consistent management.

Configuration and Settings: The front end interface provides access to system configuration and
settings. Users can customize parameters, set thresholds, define control algorithms, and adjust
system preferences based on their specific requirements. This allows for a tailored experience
and adaptability to different greenhouse setups.

User Management and Access Control: In multi-user environments, the front end may include
user management features. This allows administrators to grant different levels of access and
permissions to users, ensuring data security and facilitating collaboration among team
members.Responsive Design: The front end interface is designed to be responsive and accessible
across different devices and screen sizes. Whether accessed through a web browser,

22
mobile app, or local display, the interface adjusts to provide an optimal user experience on
various platforms.

2.7.2 BACK END

The back end of the Arduino-based greenhouse monitoring and control system is responsible for
managing the data, communication with the Arduino boards and sensors, and implementing the
logic and functionality of the system. Here are some key aspects of the back end:

Data Management: The back end handles the storage, retrieval, and processing of data collected
from the Arduino boards and sensors. It manages databases or data storage systems to store
historical sensor readings, control settings, and other relevant information. This allows for
analysis, visualization, and retrieval of data for reporting and decision-making purposes.

Communication with Arduino Boards: The back end establishes communication with the
Arduino boards to receive sensor data and send control commands. It may utilize communication
protocols such as Serial, I2C, SPI, or wireless protocols like Wi-Fi or Bluetooth to exchange data
with the Arduino boards. This enables real-time data collection and control of the greenhouse
environment.

Sensor Data Processing: The back end processes the raw sensor data received from the Arduino
boards. It may perform data filtering, normalization, or calibration to ensure accurate and reliable
data. Additionally, the back end can implement algorithms for detecting anomalies, calculating
averages or trends, and deriving meaningful insights from the sensor data.

Control Algorithms: The back end contains the logic and control algorithms that determine the
desired setpoints and actions based on the sensor data. It analyzes the sensor readings and
implements control strategies to adjust environmental parameters such as temperature, humidity,
lighting, or irrigation. These algorithms can be rule-based, PID (Proportional-Integral-
Derivative), or customized based on specific requirements.

Integration with External Systems: The back end facilitates integration with external systems or
services to enhance the functionality of the greenhouse monitoring and control system. This can

23
include integrating with weather APIs to receive real-time weather data, integrating with cloud
platforms for remote access and data storage, or integrating with machine learning algorithms for
advanced analytics and predictive capabilities.

User Authentication and Access Control: The back end manages user authentication and access
control to ensure secure access to the system. It verifies user credentials, authorizes user actions
based on assigned privileges, and maintains user profiles and permissions. This helps protect
sensitive data and ensures that only authorized users can interact with the system.

System Configuration and Settings: The back end provides functionality for configuring the
system parameters and settings. This includes defining sensor configurations, setting control
thresholds, adjusting communication protocols, and managing other system-specific
configurations. It allows users to customize the system behavior based on their specific
greenhouse requirements.

Logging and Error Handling: The back end logs system events, errors, and exceptions for
troubleshooting and maintenance purposes. It captures relevant information about system
activities, sensor failures, or communication issues to facilitate debugging and improve system
reliability. Error handling mechanisms are implemented to gracefully handle exceptions and
maintain system stability.

API and Integration Support: The back end may expose APIs (Application Programming
Interfaces) to enable integration with external systems or services. These APIs allow other
applications or platforms to interact with the greenhouse monitoring and control system,
enabling data exchange, automation, or integration with third-party tools.

In summary, the back end of the Arduino-based greenhouse monitoring and control system
manages data storage, communication with Arduino boards, sensor data processing, control
algorithms, integration with external systems, user authentication, system configuration, logging,
and error handling. It forms the foundation for the system's functionality and ensures efficient
and reliable operation.

2.8 Chapter Summary

24
Early Conceptualization: The concept of connecting devices and enabling them to
communicate and share data can be traced back to the 1980s and 1990s. The idea of "embedded
internet" was proposed, envisioning a world where everyday objects could be interconnected.

Standardization Efforts: The development of iot was supported by various standardization


efforts. Organizations like the International Telecommunication Union (ITU) and the Institute of
Electrical and Electronics Engineers (IEEE) worked on defining protocols and standards for iot
communication and interoperability.

Communication Protocols:

Understanding communication protocols, such as Wi-Fi, Ethernet, MQTT, or other wireless


protocols, is crucial for establishing connectivity between the Arduino system and external
devices or systems. Knowledge of data transmission, protocols, and security considerations helps
ensure reliable and secure data exchange.

Energy Efficiency:

Considerations of energy efficiency can be applied to the system design. This involves
optimizing power consumption by selecting low-power components, implementing sleep modes,
and utilizing efficient algorithms to minimize energy usage. Knowledge of power management
techniques and energy-efficient programming practices can be beneficial.

Human-Computer Interaction:

The system's user interface and interaction design principles play a vital role in usability and
user experience. Understanding concepts of human-computer interaction (HCI), user-centered
design, and usability sting can guide the development of an intuitive and efficient interface for
users to interact with the greenhouse system.

25
CHAPTER THREE

REQUIREMENTS ANALYSIS

3.0 Introduction

This chapter briefly we were discussed a body of text that aims to review the critical points of the
current system including: Introduction, User requirement analysis, data gathering, Process
modeling, data modeling, user requirement specification, System requirement specification,
Feasibility study and chapter summary.

3.1 User requirement analysis

User Registration The system should allow users to register their vehicles and personal
information, such as name, contact details, and vehicle registration number RFID Tags Each
registered vehicle should be assigned a unique RFID tag that can be attached to the vehicle The
RFID tag will be used for identification and access control RFID Reader The system should have
RFID readers installed at the entry and exit points of the parking lot. These readers will read the
RFID tags attached to the vehicles and allow or deny access based on the validity of the tag.
Prepaid Account Management: Users should be able to create and manage prepaid accounts for
parking. This can be done through an online portal or mobile application. Users should be able to
add funds to their accounts and view their account balance Payment Integration The system
should integrate with payment gateways to facilitate online payments for parking fees Users
should be able to top up their prepaid accounts using various payment methods such as
credit/debit cards, mobile wallets, etc. Parking Fee Calculation The system should calculate the
parking fee based on the duration of the vehicle's stay in the parking lot This can be displayed on
electronic signage or through a mobile application Notifications Users should receive
notifications about their account balance, parking duration, and any other relevant information
via SMS, email, or push notifications Security The system should ensure the security of user data
and transactions. It should use encryption techniques to protect sensitive information and

26
implement measures to prevent unauthorized access to the system Reporting and Analytics The
system should generate reports and analytics on parking usage, revenue, and other relevant
metrics. This data can be used for monitoring and optimizing the parking operations.
Shavkatjonov & Abdullaeva, 2023

3.1.1 Organizational profile

Haleel Motors Car Haleel Motors Ltd. has been established in 2019 in its head quarter
Mogadishu, Somalia. Our business model will focus the establishment of world class service
Our organization specializes in developing innovative IoT-based solutions for various
industries. We have expertise in creating smart parking systems using RFID technology and
Arduino microcontrollers. Our focus is on providing efficient and user-friendly prepaid car
parking systems that leverage IoT capabilities to enhance the parking experience for both
users and parking lot operators Our mission is to revolutionize the car parking industry by
leveraging IoT technologies to create smart, prepaid parking systems that offer convenience,
efficiency, and improved user experience. We aim to simplify the parking process, reduce
congestion, and optimize parking space utilization while ensuring secure and seamless
transactions RFID Technology We utilize RFID technology to enable seamless and
contactless vehicle identification and access control. Each registered vehicle is assigned a
unique RFID tag that allows for quick and efficient entry and exit from the parking lot.
Arduino Microcontrollers: We leverage Arduino microcontrollers to integrate the RFID
readers with the parking system Arduino provides a flexible and customizable platform for
data processing, communication, and control of various parking system components Prepaid
Account Management Our system offers a user-friendly online portal or mobile application
for users to create and manage prepaid accounts. Users can easily add funds to their
accounts, view their balance, and receive notifications about their account status Real-time
Availability and Occupancy Monitoring: Our system provides real-time information about
parking space availability and occupancy. This helps users find vacant parking spaces
quickly, reducing the time spent searching for parking Payment Integration We integrate
with popular payment gateways to enable secure and convenient online payment options for
parking fees. Users can top up their prepaid accounts using credit/debit cards, mobile wallets,

27
or other payment methods Automated Fee Calculation The system automatically calculates
parking fees based on the duration of the vehicle's stay in the parking lot The fee calculation
can be customized based on hourly rates, daily rates, or other pricing models Notifications
and Alerts Users receive timely notifications and alerts about their parking duration, account
balance, and any other relevant informationviaSMS,email, or push notifications Data
Analytics and Reporting: Our system generates comprehensive reports and analytics on
parking usage, revenue, and other key metrics. This data helps parking lot operators make
informed decisions and optimize their operations Security and Privacy We prioritize the
security and privacy of user data and transactions. Our system employs encryption
techniques and follows industry best practices to ensure the confidentiality and integrity of
sensitive information Scalability and Integration: Our solution is designed to be scalable and
easily integrated with existing parking infrastructure. It can be customized to meet the
specific requirements of different parking lots, whether small-scale or large-scale.
Makhmudova, 2023

3.1.2 Current system

RFID Reader an RFID reader is installed at the entrance and exit of the parking lot RFID Tags
Each vehicle is assigned an RFID tag, which is typically attached to the windshield or placed on
the dashboard Arduino Board: An Arduino board acts as the microcontroller to interface with the
RFID reader and other components. Display Unit A display unit can be installed at the entrance
to show available parking spots or other relevant information User Registration and Account
Creation Users need to register and create an account in the parking system During registration,
users may provide their vehicle details and link their RFID tag to their account Users can also
add credit or prepaid balance to their account. Prepaid Balance Users can recharge their account
with a prepaid balance through an online payment gateway or other supported methods
Accessing the Parking Lot When a vehicle approaches the entrance, the RFID reader scans the
RFID tag attached to the vehicle The Arduino board reads the RFID tag information and
communicates with the backend system to verify the user's account and prepaid balance If the
account has sufficient balance, the Arduino board sends a signal to open the gate, allowing the
vehicle to enter the parking lot.

28
The entry time is recorded in the backend system Exiting the Parking Lot When a vehicle
approaches the exit gate, the RFID reader scans the RFID tag again The Arduino board reads the
RFID tag information and communicates with the backend system to calculate the parking
duration and deduct the appropriate parking fee from the user's prepaid balance. If the balance is
sufficient, the Arduino board opens the gate to allow the vehicle to exit. The exit time is recorded
in the backend system Notifications and Alerts The system can send notifications to users when
their prepaid balance is low or when their parking session is about to expire. Users can receive
these notifications through SMS, email, or a mobile app Backend Management The backend
system manages user accounts, prepaid balances, parking transactions, and other administrative
tasks It calculates parking fees based on the duration of the parking session and any applicable
rates or discounts The system can generate reports, handle payment transactions, and provide
analytics on parking usage. Ghazal, Raina S Alkhlailah 2016, August 30.

3.2 Data gathering

Data collection or data gathering is the process of gathering and measuring information on
targeted variables in an established system Data Gathering The system can gather various data
points, such as the entry and exit timestamps of vehicles, the duration of parking, and the
available parking spaces. This data can be used for analytics, reporting, and optimizing the
parking system's efficiency Overstay Monitoring If a vehicle exceeds the allowed parking
duration, the system can generate alerts or notifications to the parking lot operator or the vehicle
owner. This helps in managing parking violations and ensuring fair usage of parking spaces
Integration with Security Systems The prepaid parking system can be integrated with security
systems, such as CCTV cameras and alarms, to enhance the safety and security of the parking
facility. Real-time monitoring and alerts can be implemented to detect any suspicious activities
or unauthorized access Integration with Smart City Initiatives The prepaid parking system can
contribute to broader smart city initiatives by sharing data with other systems and platforms. This
can include sharing parking occupancy data with transportation management systems, integrating
with smart transportation networks, or collaborating with urban planning initiatives Integration
with Voice Assistants: The prepaid parking system can integrate with voice assistants, such as
Amazon Alexa or Google Assistant, to provide voice-based interactions and assistance to users.
This can include checking account balances, making reservations, or receiving parking-related

29
information through voice commands Integration with Parking Data Exchanges The prepaid
parking system can participate in parking data exchanges or partnerships with other parking
facilities or smart city initiatives. This enables the sharing of parking data, insights, and best
practices to improve overall parking management and urban mobility Integration with Vehicle
Emissions Monitoring: The system can integrate with vehicle emissions monitoring systems to
track and analyze the emissions (Anusha & Pushpalatha, 2022)

Primary Data: Data Analytics and Insights The backend system can utilize the collected
parking data to generate analytics and insights. By analyzing the data, parking lot operators can
gain valuable insights into parking patterns, peak hours, and customer behavior. This information
can be used to optimize parking lot operations, such as adjusting pricing strategies, allocating
resources efficiently, and planning for future expansions or improvements.

Secondary Data: Data that have already been gathered and statistically processed by another
party are referred to as secondary data. In experimental research, primary data are gathered
during experimentation; however, in descriptive type research and surveys (such as sample or
census surveys), primary data are obtained through direct communication with respondents or
observation Valet Parking Integration: In facilities that offer valet parking services, the prepaid
car parking system can integrate with the valet service to provide a seamless experience. The
system can track the vehicle's entry and exit using RFID tags or license plate recognition, and
facilitate payment and coordination with the valet attendants. (Nguyen Kim et al., 2022)
A. Qualitative Data: Qualitative data in the form of words or sentences includes both
nominal and descriptive non-numerical data that cannot be represented as numbers. This
kind of data provides answers to the "how and why" questions in a research study and
primarily consists of information gathered through unstructured methods including
interviews about feelings, perceptions, and emotions. Researchers collect this data in a 4
variety of ways, including through the use of audio recordings, drawings, notes.
B. Quantitative Data: Quantitative data is defined as numerical information that has been
produced and computed by mathematics. For quantifying data, several scales are available,
such as nominal, ordinal, interval, and ratio scales (Muravyov & Savolainen, 1997
C. 3.2.1 INTERVIEW

30
An interview is a structured conversation where one participant asks questions, and the other
provides answers. In common parlance, the word "interview" refers to a one-on-one
conversation between an interviewer and an interviewee The advantage of conducting
interviews for a prepaid car parking system using RFID Arduino is that it provides an
opportunity to gather in-depth qualitative data directly from the stakeholders involved an
interview is a qualitative research method used to collect primary data. It involves asking one
or more people about their opinions on a company, a product, or a topic.
A. Advantage of Interview

 Clarification and follow-up questions


 Integration with Cashless Payment Systems
 Customized Parking Rules and Rates
 Integration with Automatic Number Plate Recognition (ANPR)
 Integration with Smart Parking Meters
 Integration with Automated Valet Parking
 integration with Car Rental Services
 Integration with Security Alarms and Surveillance

B. Disadvantage of Interview

 Maintenance and Upkeep


 Dependency on Internet Connectivity
 Susceptibility to Tag Loss or Damage
 Limited Support for Cash Payments
 Potential for System Hacking or Security Breaches
 Expensive

3.2.2 OBSERVATION
Observation is a way of gathering data mostly in qualitative research, by observing the
behavior, events, or noting physical characteristics in their natural setting. Observations can be
overt (everyone knows that they are being observed) or covert (no one knows that they are
being observed and the observer is concealed). The benefit of covert observation is people are
31
more likely to behave naturally when they do not know that they are being observed. (Phillips,

A. Advantage of Observation

 Future Expansion and Integration


 Integration with Payment Gateways
 Integration with Mobile Wallets
 User Feedback and Rating System
 Custom Reporting and Analytics
 Integration with Emergency Services
 Integration with Automated Valet Parking
 Integration with Mobile App Notifications
 Integration with Mobile Check-In/Check-Out

B. Disadvantage of Observation

 Reliability The system relies heavily on the proper functioning of the RFID Arduino
technology
 Vulnerability to Interference
 Tag Placement and Alignment for the system to work effectively
 Limited Compatibility
 Tag Placement and Alignment for the system
 Lack of User Flexibility
 Limited Readability for Stacked or Tightly Packed Vehicles
 System Updates and Upgrades
 Limited Customization and Branding Opportunities

32
 Limited Accessibility for Disabled Users

 Personal bias of the observer

 Slow Research

 Expensive

3.3 Process modeling

Process modeling is a technique used to visually represent and analyze the flow of activities,
tasks, and information within a system or process. It provides a clear and structured view of how
work is performed, enabling stakeholders to understand, evaluate, and improve the process.
Process modeling typically involves creating diagrams or models that illustrate the sequence,
dependencies, and interactions of various process elements Flowcharts use symbols and arrows
to represent the flow of activities, decisions, and information within a process they are widely
used due to their simplicity and ease of understanding Business Process Modeling Notation
(BPMN) BPMN is a standardized graphical notation specifically designed for process modeling.
It provides a rich set of symbols and constructs to represent different types of activities,
gateways, events, and flows in a process UML Activity Diagrams Activity diagrams are part of
the Unified Modeling Language (UML) and are used to model the workflows and behaviors of
systems or processes. They depict activities, decisions, and transitions between various states
Data Flow Diagrams (DFDs): DFDs focus on the flow of data within a system or process. They
illustrate how data moves through different processes, data stores, and external entities When
creating a process model, the following steps are typically followed Identify the process Clearly
define the boundaries and scope of the process you want to model Identify process elements
Identify the activities, tasks, decision points, inputs, outputs, and other relevant elements within
the process Determine the sequence Determine the order in which activities are performed and
the dependencies between them. This helps establish the flow of the process Define roles and
responsibilities: Identify the roles or individuals involved in executing the process and assign
responsibilities accordingly Create the process model Use the selected process modeling
technique (e.g., flowcharts, BPMN, activity diagrams) to create a visual representation of the
process. Use appropriate symbols, connectors, and annotations to clearly represent the process

33
elements and their relationships Validate and refine the model: Review the process model with
stakeholders to ensure its accuracy and completeness. Incorporate feedback and make necessary
revisions Analyze and improve: Analyze the process model to identify bottlenecks,
Inefficiencies, or areas for improvement. Use the model as a basis for process optimization,
automation, or redesign efforts. Huang et al., 2022

3.3.1 UML

UML (Unified Modeling Language) is a standardized visual modeling language used to depict,
specify, design, and document software systems. It provides a set of graphical notations and
diagrams to represent different aspects of a system's structure, behavior, and interactions. UML
is widely used in software development and is supported by various modeling tools and
methodologies.

3.3.2 Use case diagram

Use Case: A use case represents a specific functionality or interaction that the system provides to
its actors. It describes a sequence of actions or steps performed by the system and actors to
achieve a particular goal. Use cases are written from the perspective of the actors and focus on
what the system does rather than how it is implemented Use case diagrams are valuable tools for
capturing and communicating the requirements of a system, identifying system boundaries, and
understanding user interactions hey provide a high-level overview of the system's functionalities
and help stakeholders visualize the system's behavior from a user's perspective Use Case: A use
case represents a specific functionality or interaction that the system provides to its actors. It
describes a sequence of actions or steps performed by the system and actors to achieve a
particular goal. Use cases are written from the perspective of the actors and focus on what the
system does rather than how it is implemented Extend: An extend relationship represents
optional or alternative behavior that can be added to a base use case. It shows that an extending
use case can modify the behavior of the base use case under certain conditions. The extending
use case is optional and is triggered by a specific condition or event.

34
Figure 3 .1

3.4 Data modeling

Data modeling is the process of designing the structure and organization of a database or
information system. Conceptual Data Model: This type of data model provides a high-level view
of the entire database system, focusing on the entities (objects, concepts, or things) and their
relationships. It helps in understanding the business requirements and serves as a communication
tool between stakeholders Logical Data Model The logical data model defines the structure of
the database without considering the specific database management system (DBMS)
implementation details. It includes entities, attributes, relationships, and constraints, and is often
represented using entity-relationship diagrams or UML class diagrams Physical Data Model: The
physical data model represents the actual implementation of the database on a specific DBMS It
includes details such as tables, columns, indexes, data types, and storage structures. The physical
data model is optimized for performance and takes into account the specific characteristics of the
underlying database technology Structure and Organization: Data modeling helps in organizing
data in a structured manner, defining how different data elements are related to each other. This
facilitates efficient storage, retrieval, and manipulation of data Integrity and Consistency by

35
defining relationships and constraints, data modeling ensures data integrity and enforces
consistency rules. It helps in maintaining accurate and reliable data. System Development Data
models serve as blueprints for developing information systems. They provide a framework for
designing databases, developing applications, and implementing business rules Communication
and Collaboration: Data models provide a common language for communication between
stakeholders, including business analysts, developers, and database administrators. They help in
clarifying requirements and ensuring a shared understanding of the data structure. (Batory et al.,
1988.

3.4.1 Entity relationship diagram

An entity relationship diagram (ERD) is a visual representation of the relationships


between entities in a database or information system. It is commonly used in database design to
illustrate the structure of a database and the relationships between different entities Attributes
Attributes are the properties or characteristics of an entity They describe the data that is stored
within an entity. Attributes are usually listed inside the entity rectangle. For instance, a "Student"
entity might have attributes such as "Student ID," "Name," and "Date of Birth." There are
various software tools available for creating and visualizing ERDs. These tools provide features
like automatically generating SQL scripts, reverse engineering databases from existing systems,
and collaborating with team member’s Weak relationships occur when a relationship between
entities depends on the existence of a third entity Weak relationships are represented by a double
diamond shape in the ERD The weak entity inherits a portion of its primary key from the
identifying entity, forming a composite key.

36
Figure 3 .2

3.4.2 Types of relationship

A relational database collects different types of data sets that use tables, records, and columns.
It is used to create a well-defined relationship between database tables so that relational
databases can be easily stored. For example, of relational databases such as Microsoft SQL
Server, Oracle Database, MYSQL, etc.

There are some important parameters of the relational database:

A. One to One relationship


B. One to many or many to one relationship
C. Many to many relationships

 One to One Relationship (1:1): It is used to create a relationship between two tables in
which a single row of the first table can only be related to one and only one records of a
second table. Similarly, the row of a second table can also be related to anyone row of
the first table.

Following is the example to show a relational database, as shown below.

 One to Many Relationship: It is used to create a relationship between two tables.


Any single rows of the first table can be related to one or more rows of the second

37
tables, but the rows of second tables can only relate to the only row in the first table.
It is also known as a many to one relationship

Representation of One to Many relational databases:

Figure 3.5 one to many Relationship

 Many to Many Relationship: It is many to many relationships that create a


relationship between two tables. Many experts don’t separate a many-to-one
relationship as a class of its own as there is not much difference between one-to-many
and many-to-one relationships. It’s just a matter of focus. For example, if one school
class can consist of several pupils then, class to pupil is a one-to-many relationship.

38
Figure 3.6 Many to Many Relationship
3.5 User requirement specification
A User Requirement Specification (URS) is a document that outlines the requirements and
expectations of users or stakeholders for a particular system, product, or project. It serves as a
communication tool between users and developers, ensuring that both parties have a clear
understanding of what needs to be accomplished The URS captures the functional and non-
functional requirements of the system, as well as any constraints, assumptions, and dependencies
that may impact its development or implementation. It provides a comprehensive overview of the
desired features, performance targets, user interface specifications, data requirements, integration
needs, security and privacy considerations, and any legal or compliance requirements The
purpose of the URS is to define and document the users' needs and expectations in a structured
and formalized manner. It serves as a foundation for the subsequent stages of system design,
development, and testing. The URS is typically created during the initial phases of a project to
ensure that all stakeholders are aligned and to guide the development process.

3.5.1 New proposed system

Provide an overview of the proposed prepaid car parking system using RFID Arduino Explain
the need for the system, such as improving parking efficiency, reducing manual processes, and
enhancing security Identify the target audience, such as parking lot operators, drivers, and
administrators Clearly state the objectives and goals of the prepaid car parking system Improve
parking management and streamline the payment process for drivers Enhance security by
automating access control and reducing fraudulent activities Increase operational efficiency and
revenue for parking lot operators Functional Requirements Provide a detailed description of the
system's functionality, including the following Automated vehicle entry and exit using RFID tags
Real-time monitoring of parking occupancy Prepaid payment system integration for drivers
Automatic calculation of parking fees based on duration Generation of receipts or invoices for
drivers Integration with barriers or gates for access control Real-time monitoring: Explain how
the system tracks parking occupancy and displays availability information to drivers Prepaid
payment system integration: Provide details on integrating with various payment gateways or
mobile wallets to enable drivers to make payments in advance Automatic fee calculation
Describe how the system calculates parking fees based on the duration of stay and any applicable
tariff rules Receipt generation Explain how the system generates receipts or invoices for drivers

39
to provide proof of payment Access control Discuss the integration of barriers or gates that open
automatically upon successful RFID tag authentication. Batory et al., 1988

3.5.2 Solution strategy

Hardware Setup Determine the required hardware components, including RFID readers, Arduino
boards, antennas, and barriers or gates for access control Install and configure the hardware
components at appropriate locations within the parking lot Ensure proper connectivity between
the RFID readers, Arduino boards, and other necessary devices RFID Tag Integration Choose
RFID tags that are compatible with the RFID readers and suitable for vehicle identification Affix
RFID tags to vehicles, typically on the windshield or any other visible location Associate each
RFID tag with the corresponding vehicle information in the system's database Software
Development Develop the software application to manage the prepaid car parking system Design
and implement the user interfaces for drivers, parking lot operators, and administrators
Implement the functionality for RFID tag detection, authentication, real-time monitoring, receipt
generation Integrate with payment gateways or mobile wallets for prepaid payment processing
System Integration Integrate the software application with the RFID readers and Arduino boards
to enable real-time communication and data exchange Integrate the prepaid car parking system
with external systems, such as payment gateways or backend databases, as per the integration
requirements Conduct thorough testing to ensure seamless integration and proper functionality
across all components Security and Access Control Implement robust security measures to
protect the system and user data, such as encryption, user authentication, and authorization
mechanisms Configure the access control system to ensure that only authenticated vehicles with
valid RFID tags can enter or exit the parking lot Conduct security testing and vulnerability
assessments to identify and address any potential vulnerabilities. Uzaxbaeva, 2022

3.6 System requirement specification

A System Requirement Specification (SRS) is a comprehensive document that outlines the


functional and non-functional requirements of a system or software application. It serves as a
formal agreement between the stakeholders, including clients, users, and development teams, and
provides a clear understanding of what the system should accomplish. The Prepaid Car Parking
System using RFID Arduino is a technology-driven solution designed to automate and streamline
the process of managing car parking facilities. This system utilizes Radio Frequency

40
Identification (RFID) technology and Arduino microcontrollers to provide a convenient and
efficient parking experience for both car owners and parking facility operate The system consists
of the following components RFID Tags Each car is assigned a unique RFID tag that is affixed
to the windshield or any other suitable location RFID Reader Installed at the entrance and exit
points of the parking facility the RFID reader scans the RFID tags to identify the vehicles
Arduino Microcontroller The Arduino microcontroller processes the data received from the
RFID reader and controls the system operations Database A centralized database stores
information about the registered vehicles, their owners, and their prepaid parking credits. User
Interface A user interface allows car owners to register their vehicles, recharge their prepaid
parking credits and access parking-related information. Vehicle Registration Car owners can
register their vehicles by providing necessary details like vehicle registration number, owner's
name, contact information, and RFID tag number The system should validate the provided
information and assign a unique RFID tag to the registered vehicle The RFID reader should be
able to detect the presence of an RFID tag when a vehicle approaches the entrance or exit points
The system should capture the RFID tag data and initiate further processing. When a vehicle
with a registered RFID tag arrives at the entrance, the system should open the entry gate
automatically The system should record the entry timestamp and update the parking availability
status Upon exit, the system should calculate the parking fee based on the duration of stay and
deduct the corresponding amount from the prepaid parking credits of the vehicle's owner If the
prepaid parking credits are insufficient, the system should prompt the vehicle owner to recharge
the credits before allowing the exit Car owners should be able to recharge their prepaid parking
credits through the user interface The system should update the prepaid parking credit balance in
real-time after each recharge The system should display the number of available parking spaces
at the entrance and other strategic locations within the parking facility The availability status
should be updated in real-time The system should generate reports on parking occupancy,
revenue generated, and other relevant statistics Analytics features should provide insights into
parking patterns and help in decision-making.

3.6.1 Software requirements

(SRS) Format as the name suggests, is a complete specification and description of requirements
of the software that need to be fulfilled for the successful development of the software system.

41
These requirements can be functional as well as non-functional depending upon the type of
requirement. The interaction between different customers and contractors is done because it is
necessary to fully understand the needs of customers Operating System Determine the operating
system on which the software will run. For Arduino, you'll typically use Arduino IDE, which is
compatible with Windows, macOS, and Linux. Arduino Libraries: Install the necessary libraries
for RFID communication and other required functionalities. For RFID, you might use libraries
like MFRC522 or PN532. Database Management System Choose a suitable database
management system (DBMS) to store and manage the parking system data. Common options
include MySQL, PostgreSQL, or MongoDB Backend Development: Set up a backend server to
handle the communication between the Arduino and the database. You can use a programming
language like Python, Node.js, or Java for this purpose The backend should handle RFID tag
authentication, payment processing, and data storage.

3.6.2 Hardware requirement specification

A Hardware Requirements Specification (HRS) outlines the specific criteria and features that
hardware components or systems need to meet in order to support a particular software
application or system. It typically includes details about the processor, memory, storage,
network capabilities, and other hardware aspects necessary for optimal performance of the
software. HRS helps ensure compatibility and functionality between the software and the
hardware it runs on Internet Connectivity: To enable IoT functionality, you'll need a way to
connect your Arduino board to the internet. This can be achieved using Ethernet shields or Wi-
Fi modules compatible with Arduino, such as the ESP8266 or ESP32 power Supply Ensure
you have a suitable power supply for the Arduino board and other components. This can
include a power adapter or batteries, depending on your deployment scenario Enclosure
Consider an enclosure to protect the Arduino board and other electronic components from
environmental factors like dust, moisture, or physical damage Optional Components
Depending on your specific requirements, you may need additional components such as relays
for controlling barriers or gates, LED indicators, and sensors for detecting vehicle presence or
occupancy.
3.6.3 System requirements definition

System requirements are clearly articulated statements of what a system must be able to do in

42
order to satisfy stakeholder needs and requirements and are derived from business
requirements and user requirements, as per the “Requirements Hierarchy” figure below They
should be

defined in two clear categories, functional and non-functional. Functional requirements


describe the required behavior and functions of the system. Non-functional requirements
describe specific criteria that can be used to judge the operation of a system e.g. performance,
security, availability Security Measures The system should implement security measures such
as encryption of sensitive data, secure communication protocols, and user authentication
mechanisms to protect against unauthorized access or data breaches Access controls should be
in place to ensure that only authorized personnel can manage the system and access sensitive
information.
System interface

A system interface refers to the point of interaction between different systems, components,
or subsystems. It defines how these entities communicate and exchange information.
System interfaces play a crucial role in ensuring interoperability and seamless integration
between various parts of a complex system. in the context of software development, a
system interface can involve both hardware and software components. For example, in a
distributed system, interfaces may include communication protocols,

43
Figure 3 .7 Arduino

Hardware interface

specifies the plugs, sockets, cables, and electrical signals that pass through Each line between the
CPU and peripheral device or communication network System Interface The interface is an
essential piece of the communication infrastructure. The interface is the portion of the system
used to connect one system to other systems. So a closed system uses its interface to react or
communicate with another closed system.

Server Client

Core i7 2.4 GHZ or above core i5 2.3 GHZ or above

32 GB RAM or above 4GB RAM or above

500 GB SDD or above and NIC 500 GB SDD or above and NIC

44
5 User interface

The user interface (UI) is the point of interaction between users and a system or application. It
encompasses all the visual and interactive elements that allow users to interact with and control
the system. In the context of an IoT-based prepaid car parking system using RFID and Arduino
Purpose: The user interface aims to provide a user-friendly and intuitive means for customers to
interact with the car parking system. It enables users to access information, perform actions, and
view feedback or responses from the system. Components The user interface typically consists of
various components that facilitate user interaction. These components can include Display The
display component presents relevant information to the user, such as available parking slots,
payment details, instructions, or transaction receipts. It can be implemented using a web
application, mobile application, or a physical display module connected to the Arduino board.

Software interface

A point of interaction between different components. This interaction involves the how the user
can interact with the application through involving both the hardware and the software itself.
This interaction relates to how the user can use both the hardware and the software to interact
with the application The backend server of the system should provide a set of well-defined APIs
(Application Programming Interfaces) that enable communication between the Arduino board and the
server these APIs allow the Arduino board to send data, such as RFID tag information, parking slot status
updates, and payment details, to the server The APIs also enable the server to send commands and
instructions to the Arduino board, such as validating RFID tags, triggering barrier control mechanisms, or
requesting real-time parking slot occupancy information.

3.7 Feasibility study

A feasibility study is an analysis conducted to evaluate the practicality and viability of a


proposed project or initiative. It assesses various factors, including technical, economic,
operational, legal, and scheduling aspects, to determine whether the project is feasible and worth
pursuing. In the context of an IoT-based prepaid car parking system using RFID and Arduino
Analyze the cost implications of developing, deploying, and maintaining the system. Consider
factors such as hardware costs (RFID readers, Arduino boards, displays, etc.), software
development costs, infrastructure costs (backend servers, databases), and ongoing operational
expenses Assesses the project's technical requirements and determines if the necessary
45
technology, infrastructure, and resources are available or can be acquired within the project's
constraints Evaluates the compatibility of the proposed solution with existing systems and
infrastructure Considers factors such as hardware, software, communication protocols, and
technical expertise required for successful implementation Examines the financial aspects of the
project to determine if it is financially viable and can generate a positive return on investment
(ROI) Analyzes costs associated with development, implementation, operation, and maintenance
Considers potential revenue streams, cost savings, and benefits derived from the project.

3.7.1 Technical feasibility


Technical feasibility refers to the assessment of whether the proposed project or system can be
successfully implemented from a technical standpoint. It involves evaluating the availability of
technology, infrastructure, and resources required to develop and deploy the system. Here are
some key considerations for technical feasibility in the context of an IoT-based prepaid car
parking system using RFID and Arduino.

No Item Description QTY Unit Price Total

1 Computer 500 GB SDD, 16 GB RAM, 1 $385 $385


core i7: 2.3 GHZ

2 Software 1WIN7/8,10, 1Anti-Virus, 1 $20 $20


Packages P y charm , Atom
editor and Microsoft office

Total $405

Figure 3 .2 technical feasibility

3.7.2 Operational feasibility


Operational feasibility is an important aspect of a feasibility study that assesses whether a
proposed project or system can be effectively integrated into existing operations and processes. It
focuses on evaluating the practicality and effectiveness of implementing and operating the
project from an operational standpoint.

46
Activity Expected Cost Time
Training new employees $100 6weeks
Training current employees $150 5 weeks
Trainer $200
Total $450 11 weeks
Figure 3.3 Operational feasibility

3.7.3 Economic feasibility


Economic feasibility refers to the assessment of whether a proposed project or initiative is
financially viable and can generate sufficient returns to justify its investment. It involves
evaluating various economic aspects such as costs, benefits, profitability, and risks associated
with a project. The main objective of economic feasibility analysis is to determine whether the
project is economically sound and worth pursuing.

Study Cost

Technical $405

Operational $450

Total $855

3.7.4 Schedule feasibility


Schedule feasibility refers to the assessment of whether a project can be completed within the established
time frame. It involves evaluating the project's timeline, considering various factors such as project scope,
available resources, dependencies, and potential risks or constraints that may impact the schedule. The
objective of schedule feasibility analysis is to determine if the project can be realistically completed
within the desired timeframe.

Description Time

47
Planning 9 weeks
Analysis 8 weeks
Design 5 weeks
Implementation 4 weeks
Testing 4 weeks
Total 30 weeks
Figure 3.5 schedule Feasibility

3.8 Chapter summary


In this chapter we discussed about hardware requirements and all about chapter of requirements
analysis This chapter briefly we were discussed a body of text that aims to review the critical
points of the current system including: Introduction, User requirement analysis, data gathering,
Process modeling, data modeling, user requirement specification, System requirement
specification, Feasibility study and chapter summary.

CHAPTER FOUR

48
INTRODUCTION

4.0 INTRODUCTION

This chapter briefly we were discussed a body of text that aims to review the critical points of the
current system including: Design Goals, System Design, System Architecture, Dataset
Description, Table Design, Form Design, Report Design, Requirements, Functional
Requirements, Non-Functional, Requirements, Domain Requirements.

4.1 DESIGN GOALS

Automation The system should automate the process of vehicle entry, parking slot allocation,
and vehicle exit. This reduces the need for manual intervention, improves efficiency, and
minimizes human errors User-Friendly Interface: The system should have a user-friendly
interface for both drivers and administrators. Drivers should be able to easily enter and exit the
parking area, view their account balance, and recharge their parking accounts. Administrators
should have access to a dashboard or app for monitoring, managing user accounts, and
generating reports Security The system should ensure the security of user data, transactions, and
the parking area itself.

Security Measures: To ensure the security of the system.

4.2 SYSTEM DESIGN

System design is the process of defining the architecture, components, modules, interfaces, and
data for a system to satisfy specified requirements. It involves translating user requirements
into a detailed blueprint that guides the implementation phase. The goal is to create a well-
organized and efficient structure that meets the intended purpose while considering factors like
scalability, maintainability, and performance.

User Interface: The system can have a user interface to provide a seamless experience for users
This can be a web-based interface or a mobile application that allows users to register, manage
their accounts, view parking availability, and make payments Arduino IDE The Arduino
Integrated Development Environment (IDE) is used to write and upload the code to the Arduino
board. You can program the Arduino board using Arduino programming language, which is

49
based on C/C++ Backend Server or Cloud Platform: A backend server or cloud platform is
required to handle data storage and processing. It stores information about registered users,
RFID tag details, prepaid balances, entry and exit timestamps, and transaction records. It also
handles authentication and balance deduction processes Entry Permission If the authentication
and balance check are successful; the Arduino board activates the entry barrier to allow the
vehicle to enter the parking area. The entry time is recorded and stored in the backend server.

System Monitoring and Alerts The system can be equipped with monitoring features to track the
status of entry and exit barriers, RFID readers, and connectivity modules. This allows for
proactive maintenance and issue resolution Alerts can be implemented to notify system
administrators or maintenance personnel in case of any malfunctions or abnormalities, such as
barrier failures or network connectivity issues Data Analytics and Reporting The collected data,
such as parking duration, usage patterns, and revenue generation, can be analyzed to generate
insights and reports Data analytics can help optimize parking space allocation, improve
operational efficiency, and make informed decisions for future expansions or improvements
integration with Payment Systems The system can be integrated with various payment systems to
provide convenient payment options for users. This can include cashless payment methods such
as credit cards, mobile wallets, or prepaid cards.

The system can be designed to handle multi-level or multi-zone parking facilities. Each parking
level or zone can have its own entry and exit points, along with corresponding RFID readers and
barriers.

The backend server or cloud platform can keep track of the availability of parking spaces on
each level or zone in real-time and provide that information to users through the web or mobile
application.

50
Figure 4.2 IOT BASED PREPAID CAR PARKING SYSTEM USING RFID ARDUIHO

4.2.1 System Architecture43


System architecture is the conceptual model that defines the structure, behavior, and more views
of a system. An architecture description is a formal description and representation of a system,
organized in a way that supports reasoning about the structures and behaviors of the system.

Automated Entry and Exit: The RFID tags attached to vehicles allow for seamless and automated
entry and exit from the parking lot. As a vehicle approaches the entrance, the RFID reader
detects the tag and triggers the Arduino board to process the entry. Similarly, when a vehicle
exits, the RFID reader reads the tag, and the Arduino board processes the exit. This automation
eliminates the need for manual ticketing or access control systems, reducing human intervention
and improving efficiency Prepaid Account Management The system enables users to create
prepaid accounts, which can be easily managed through the user interface. Users can top up their
accounts using the integrated payment gateway, allowing for convenient and cashless
transactions. Prepaid accounts provide a hassle-free parking experience, eliminating the need for
physical tickets or payment at the parking lot.

51
system architecture is the conceptual model that defines the structure, behavior, and more views
of a system. An architecture description is a formal description and representation of a system,
organized in a way that supports reasoning about the structures and behaviors of the system.

RFID CAR

RFID IOT BASSED


READER PREPAID
CAR PARKING buzzer
SYSTEM USING
RFAID ARDUINO

MOTOR FOR
GATE
IOT
MODULE

Figure 4.2.1

52
4.2.2 Dataset Description44

Data collection is the process of gathering and measuring information on variables of interest, in
an established systematic fashion that enables one to answer stated research questions, test
hypotheses, and evaluate outcomes. The data collection component of research is common to all
fields of study including physical and social sciences, humanities, business, etc. While methods
vary by discipline, the emphasis on ensuring accurate and honest collection remains the same.

RFID (Radio-Frequency Identification) technology is commonly used for various applications,


including tracking and identification purposes. While it is not typical for cars to have built-in
RFID tags, RFID can be used in conjunction with vehicles in different ways Vehicle Access
Control RFID tags or cards can be used to provide secure access to vehicles. Instead of using
traditional keys, drivers can use RFID-enabled cards or fobs to unlock and start their cars. The
RFID reader in the vehicle detects the presence of the RFID tag and allows access if it is
authorized Toll Collection RFID tags can be affixed to the windshields of vehicles to enable
automatic toll collection. These tags, also known as electronic toll collection (ETC) tags,
communicate with RFID readers installed at toll booths, allowing for seamless payment without
the need to stop and physically pay cash or swipe a card.

An RFID reader, also known as an RFID scanner or interrogator, is a device that reads and
communicates with RFID tags. It uses radio frequency signals to communicate with the tags and
retrieve the information stored on them. Here's how an RFID reader works Radio Frequency
Transmission The RFID reader emits radio frequency signals via an antenna. These signals are
used to establish communication with nearby RFID tags Tag Detection When an RFID tag enters
the range of the reader's signal, it is energized by the radio frequency field. This allows the tag to
power up and respond to the reader's requests Data Exchange The reader and tag engage in a
two-way communication process. The reader sends a signal that prompts the tag to transmit its
stored information back to the reader. This information can include unique identification
numbers or other data.

53
MOTOR FOR GATE motor is an electromechanical device that enables you to automatically
open and close your gate using a hand-held remote control or even your mobile phone, if certain
complementary equipment has been co-installed Swing Gate Motor: This type of motor is used
for gates that swing open and closed, typically in a single or double leaf configuration. Swing
gate motors are mounted on the gate and are responsible for the gate's movement. They can be
hydraulic or electromechanical, with the latter being more common. Swing gate motors are
available in different sizes and power capacities to accommodate gates of various weights and
sizes.

IOT MODULE an Io T module, also known as an IoT device or IoT sensor, is a small electronic
component or module that integrates various technologies to enable connectivity and
communication with the Internet of Things (IoT) ecosystem. These modules are designed to
collect and transmit data from physical objects or devices to IoT platforms or applications for
monitoring, analysis and control purposes. Here are some key aspects of IoT modules
Communication Protocols IoT modules support various communication protocols to transmit
data wirelessly. Common protocols include Wi-Fi Bluetooth ZigBee Lora WAN cellular
(3G/4G/5G), or a combination of these The choice of protocol depends on factors such as the
range, power consumption, data rate, and network infrastructure availability.

BUZZER A buzzer is an electronic device that produces a loud, audible sound when an
electrical current is passed through it. It is commonly used to provide audio alerts or notifications
in various applications. Here are some key aspects of buzzers Sound Output Buzzers can produce
different types of sounds, including continuous tones, intermittent beeps, or various patterns of
sound signals. The sound output can be adjusted by controlling the frequency or pulse width of
the electrical signal applied to the buzzer. Control and Integration: Buzzers can be controlled
through electronic circuits, microcontrollers, or other control systems. They are often integrated
into electronic circuits or PCBs (Printed Circuit Boards) to provide sound output as part of a
larger system Alarms and Notifications: Buzzers are commonly used in alarm systems to alert
individuals of potential dangers, such as in smoke detectors, security systems, and emergency
alarms. They are also used in electronic devices to provide audible notifications, such as in
smartphones, watches, and home appliances Doorbells and Intercoms: Buzzers are often

54
employed in doorbells and intercom systems to indicate someone's presence at a door or to
facilitate communication between different areas.

4.6 Requirements

The software requirements are description of features and functionalities of the


target system. Requirements convey the expectations of users from the software
product. The requirements can be obvious or hidden, known or unknown, expected
or unexpected from client’s point of view.
Software requirement can be of 3 types:

 Functional requirements

 Non-functional requirements

 Domain requirements

Functional Requirements User Authentication The system should provide a secure and reliable
user authentication mechanism, such as username/password login, two-factor authentication, or
biometric authentication User Management The system should allow administrators to manage
user accounts, including creating new accounts, modifying user profiles, and disabling or
deleting accounts when necessary Data Input and Storage The system should provide a user-
friendly interface for inputting and storing data. It should validate and store data securely,
ensuring data integrity and confidentiality.

Non-functional requirements (NFRs) specify the attributes and qualities of a system or software
that are not directly related to its functionality but impact its overall performance, usability,
security, maintainability, and other non-functional aspects Performance: Specifies the system's
response time, throughput, scalability, and efficiency

Response time should be less than 2 seconds for the user interface operations The system should
handle a minimum of 1,000 concurrent users without significant performance degradation The
system should process at least 100 transactions per second Reliability: Defines the system's ability
to perform its intended function without failure or errors over a specified.

55
Domain requirements Domain requirements are the specific requirements that are unique to a
particular industry or application domain. They are derived from the characteristics, regulations,
and constraints of the domain in which the system or software will be used Performance and
Scalability Domain requirements may specify performance criteria that are specific to the industry
or application in the e-commerce domain, the system must support high concurrent user loads
during peak shopping seasons in the telecommunications domain, the system must handle a high
volume of concurrent calls without degradation in call quality Data and Security Different domains
may have specific data and security requirements In the government domain, the system may need
to comply with data classification and security clearance requirements Performance and Safety
Requirements Certain domains, such as aviation, nuclear power, or medical devices, have stringent
requirements for system performance, safety, and reliability. These requirements often involve
high levels of fault tolerance, redundancy, and fail-safe mechanisms. It is crucial to address these
domain-specific performance and safety requirements to ensure the system operates within
acceptable parameters and minimizes risks Industry-Specific Standards and Best Practices
Different industries often have established standards, frameworks, and best practices. These
standards can provide guidelines for system development, testing, and deployment within the
specific domain. Adhering to these standards can help ensure compatibility, interoperability, and
quality within the industry Domain-Specific User Experience User experience (UX) considerations
can vary across different domains. Understanding the target users' needs, preferences, and
workflows within a specific industry helps in designing a user interface and interaction that aligns
with their expectation.
4.3 TABLE DESIGN

Designing a research table involves organizing and presenting data in a clear and structured
manner. The specific design of the table will depend on the type of data you have and the
purpose of your research able Title Provide a descriptive title for your table that summarizes the
main theme or purpose of the data it represents.

56
Column Name Data Type Description
parking_id Integer Unique identifier for each parking space
availability Boolean Indicates whether the parking space is available
payment status Boolean Indicates whether the parking fee is paid
check_in_time Date Time Time when the vehicle entered the parking space
check_ out_ time Date Time Time when the vehicle left the parking space
Vehicle _number String License plate number of the vehicle occupying the space
Table 4.3.1

Availability Tracking: The "availability" column in the Car Parking table indicates whether a
parking space is currently available or occupied. When a vehicle enters a parking space, the
availability is set to "false," indicating that the space is occupied. When the vehicle leaves, the
availability is set back to "true," indicating that the space is available for the next vehicle
Information The "vehicle number" column stores the license plate number of the vehicle
occupying the parking space. This information can be helpful for identifying specific vehicles
and managing parking violations if necessary.

Payment Status: The "payment_status" column in the Car Parking table indicates whether the
parking fee has been paid for a particular vehicle. This can be used to enforce a prepaid parking
system. When a vehicle enters the parking space, the payment_status is set to "false." Once the
payment is made, it is updated to "true." The system can check the payment status before
allowing vehicles to exit the parking lot Scalability and Redundancy If the parking system is
intended for a large-scale deployment, the design should consider scalability and redundancy.
This can involve using a distributed database architecture, load balancing techniques, and
redundant hardware components to ensure high availability and performance Security and
Access Control The system can incorporate security measures to ensure only authorized vehicles
can access the parking lot. This can involve using secure communication protocols, encryption,
and access control mechanisms such as gates or barriers controlled by the Arduino system Plan

57
for scalability: Anticipate future growth and consider the scalability of your table design. Ensure
that the table structure can accommodate additional data without significant performance
degradation.

4.4 FORM DESIGN

Form design refers to the process of creating and structuring a document or digital interface that
collects information from users. Forms are used in various contexts, such as online surveys,
registration forms, order forms, feedback forms, and more. The design of a form involves
considering factors like usability, visual aesthetics, information hierarchy, and user experience
Arduino Board: It acts as the central processing unit of the system and controls the interactions
between various components Internet Connectivity the Arduino must be connected to the internet
to communicate with the server and perform online transactions Server A central server manages
the prepaid parking system, validates transactions, and stores user data.

58
Figure 4.2.2

4.5 Chapter Summary

This chapter briefly we were discussed a body of text that aims to review the
critical points of the current system including: Design Goals, System Design,
System Architecture, Dataset Description, Table Design, Form Design, Report
Design, Requirements, Functional Requirements, Non-Functional, Requirements,
Domain Requirements

59
Chapter Five

Introduction

5.0 Coding phase

#include <WiFi.h>

#include <SoftwareSerial.h>

#include <WiFiClientSecure.h>

#include <HTTPClient.h>

#include <Keypad.h>

60
#include <Wire.h>

#include <SPI.h>

#include <MFRC522.h>

#include <LiquidCrystal_I2C.h>

#include <WiFiManager.h>

#include <SimpleTimer.h>

#include <Arduino_JSON.h>

#define SIM800_TX_PIN 2 //GSM Module TX is connected to Arduino D8

#define SIM800_RX_PIN 4 //GSM Module RX is connected to Arduino D9

SoftwareSerial SIM900A(SIM800_TX_PIN, SIM800_RX_PIN);

bool reset_request = false;

String URL = "http://172.20.10.2/Parking/getUID.php";

String Get = "http://172.20.10.2/Parking/getData.php";

String Store = "http://172.20.10.2/Parking/store.php";

String MIS = "http://172.20.10.2/Parking/park.php";

//"http://172.20.10.2/Parking/home.php"

String UIDresultSend;

61
String send_ur = "";

const char* send_name = "";

const char* send_id = "";

const char* send_gender = "";

const char* send_email = "";

const char* send_mobile = "";

String send_PHONE = "";

String postData = "";

String payload = "";

int httpCode;

bool recharge = true;

int IRPin = 13;

int LED_G =26;

int LED_R =27;

#define BUZZER 14

#define SS_PIN 5

#define RST_PIN 25

62
MFRC522 mfrc522(SS_PIN, RST_PIN);

#define ON_Board_LED 2

int pos = 0;

int servoPin = 12; //26

int readsuccess;

byte readcard[4];

char str[32] = "";

String StrUID;

HTTPClient http;

static uint8_t TRIGGER_PIN = 0;

bool wm_nonblocking = false;

WiFiManager wm;

LiquidCrystal_I2C lcd(0x27, 16, 2); // set the LCD address to 0x27 for a 16 chars and 2
line display

63
int n = 0;

int oldValue = 1;

int count=0;

void setup_wifi() {

delay(10);

wm.setConfigPortalTimeout(50);

bool res;

res = wm.autoConnect("Parking Authorized"); // anonymous ap

if(!res) {

Serial.println("Failed to connect");

else {

Serial.println("connected");

64
}

void setup(){

WiFi.mode(WIFI_STA);

Serial.begin(115200);

SIM900A.begin(9600);

SPI.begin();

mfrc522.PCD_Init();

delay(500);

pinMode(IRPin, INPUT);

pinMode(TRIGGER_PIN, INPUT);

pinMode(ON_Board_LED,OUTPUT);

pinMode(LED_G, OUTPUT);

pinMode(LED_R, OUTPUT);

pinMode(BUZZER, OUTPUT);

noTone(BUZZER);

digitalWrite(ON_Board_LED, HIGH); //--> Turn off Led On Board

setup_wifi();

lcd.begin();

65
lcd.backlight();

lcd.setCursor(0,0);

lcd.print("Welcome to PARK");

lcd.setCursor(0,1);

lcd.print("SECURITY SYSTEM");

delay(2000);

lcd.clear();

lcd.setCursor(3,0);

lcd.print("Made by.....");

lcd.setCursor(0,1);

lcd.print("just student");

delay(2000);

lcd.clear();

lcd.setCursor(0,1);

lcd.print("Starting.....");

delay(2000);

lcd.clear();

Serial.println("Please tag a card or keychain to see the UID !");

Serial.println("");

66
void checkButton(){

// check for button press

if(digitalRead(TRIGGER_PIN) == LOW) {

delay(50);

if(digitalRead(TRIGGER_PIN) == LOW){

Serial.println("Button Pressed");

delay(3000); // reset delay hold

if(digitalRead(TRIGGER_PIN) == LOW){

Serial.println("Button Held");

Serial.println("Erasing Config, restarting");

wm.resetSettings();

reset_request = false;

ESP.restart();

void loop() {

checkButton();

Rfid();

/*

67
if(UIDresultSend != "62502C3C")

ircount();

*/

void Rfid() {

lcd.setCursor(0,0);

lcd.print("Please Tag");

lcd.setCursor(0,1);

lcd.print("your Card");

delay(2000);

lcd.clear();

readsuccess = getid();

if(readsuccess) {

digitalWrite(ON_Board_LED, LOW);

lcd.setCursor(0,0);

lcd.print("Please wait");

68
UIDresultSend = StrUID;

//Post Data

postData = "UIDresult=" + UIDresultSend;

// Your_Host_or_IP = Your pc or server IP, example : 192.168.0.0 , if you are a windows


os user, open cmd, then type ipconfig then look at IPv4 Address.

http.begin(URL); //Specify request destination

http.addHeader("Content-Type", "application/x-www-form-urlencoded"); //Specify


content-type header

httpCode = http.POST(postData); //Send the request

payload = http.getString(); //Get the response payload

Serial.println(UIDresultSend);

Serial.println(httpCode); //Print HTTP return code

Serial.println(payload); //Print request response payload

http.end(); //Close connection

delay(1000);

digitalWrite(ON_Board_LED, HIGH);

GETDATA();

69
delay(400);

paying();

int getid() {

if(!mfrc522.PICC_IsNewCardPresent()) {

return 0;

if(!mfrc522.PICC_ReadCardSerial()) {

return 0;

Serial.print("THE UID OF THE SCANNED CARD IS : ");

for(int i=0;i<4;i++){

readcard[i]=mfrc522.uid.uidByte[i]; //storing the UID of the tag in readcard

array_to_string(readcard, 4, str);

StrUID = str;

mfrc522.PICC_HaltA();

return 1;

70
}

void array_to_string(byte array[], unsigned int len, char buffer[]) {

for (unsigned int i = 0; i < len; i++)

byte nib1 = (array[i] >> 4) & 0x0F;

byte nib2 = (array[i] >> 0) & 0x0F;

buffer[i*2+0] = nib1 < 0xA ? '0' + nib1 : 'A' + nib1 - 0xA;

buffer[i*2+1] = nib2 < 0xA ? '0' + nib2 : 'A' + nib2 - 0xA;

buffer[len*2] = '\0';

void paying() {

delay(1000);

lcd.clear();

GETDATA();

delay(100);

if(UIDresultSend == String (send_id))

lcd.setCursor(0,0);

lcd.print("SECURITY SYSTEM");

71
lcd.setCursor(0,1);

lcd.print("Car Registered");

digitalWrite(LED_G, HIGH);

delay(2000);

lcd.clear();

GETDATA();

delay(100);

Record();

lcd.setCursor(0,0);

lcd.print("SECURITY SYSTEM");

lcd.setCursor(0,1);

lcd.print(" PARKING CLOSED");

delay(2000);

lcd.clear();

else

Serial.println(" Access denied");

// ircount();

72
// Serial.println(n);

// delay(6000);

lcd.setCursor(0,0);

lcd.print(" NO PARKING");

lcd.setCursor(0, 1);

lcd.print("LOGUMA TALAGALIN");

/*

Reply("Parkinkan B1 adiga laguguma talagalin ee isaga tag adoo mahadsan");

delay(4000);

Reply("walal waxaa lagugu ganaaxay lacag dhan 10$");

*/

digitalWrite(LED_R, HIGH);

tone(BUZZER, 300);

delay(1000);

digitalWrite(LED_R, LOW);

tone(BUZZER, 300,400);

delay(1000);

digitalWrite(LED_R, HIGH);

tone(BUZZER, 500,550);

delay(1000);

digitalWrite(LED_R, LOW);

73
tone(BUZZER, 5500,700);

delay(1000);

lcd.clear();

// Record();

// mist();

void RECEIVE() {

Serial.println();

Serial.println("---------------RECEIVE()");

JSONVar data = JSON.parse(payload);

// JSON.typeof(jsonVar) can be used to get the type of the var

if (JSON.typeof(data) == "undefined") {

Serial.println("Parsing input failed!");

Serial.println("---------------");

return;

74
if (data.hasOwnProperty("name")) {

Serial.print("data[\"name\"] = ");

Serial.println(data["name"]);

send_name = ((const char*) data["name"]);

Serial.print("name: ");

Serial.println(send_name);

if (data.hasOwnProperty("id")) {

Serial.print("data[\"id\"] = ");

Serial.println(data["id"]);

send_id = ((const char*) data["id"]);

Serial.print("id: ");

Serial.println(send_id);

if (data.hasOwnProperty("gender")) {

Serial.print("data[\"gender\"] = ");

Serial.println(data["gender"]);

send_gender = ((const char*) data["gender"]);

Serial.print("gender: ");

Serial.println(send_gender);

75
if (data.hasOwnProperty("email")) {

Serial.print("data[\"email\"] = ");

Serial.println(data["email"]);

send_email = ((const char*) data["email"]);

Serial.print("email: ");

Serial.println(send_email);

if (data.hasOwnProperty("mobile")) {

Serial.print("data[\"mobile\"] = ");

Serial.println(data["mobile"]);

send_mobile = ((const char*) data["mobile"]);

Serial.print("mobile: ");

Serial.println(send_mobile);

send_PHONE = String(send_mobile);

Serial.print("PHONE: ");

Serial.println(send_PHONE);

Serial.println("---------------");

///*

76
void GETDATA(){

//........................................ Process to get LEDs data from database to control LEDs.

//send_ur= "heart_01";

postData = "&id=" + UIDresultSend;

payload = "";

Serial.println();

Serial.println("---------------getData.php");

http.begin(Get);

http.addHeader("Content-Type", "application/x-www-form-urlencoded"); //-->


Specify content-type header

httpCode = http.POST(postData); //--> Send the request

payload = http.getString(); //--> Get the response payload

Serial.print("httpCode: ");

Serial.println(httpCode); //--> Print HTTP return code

Serial.print("payload: ");

Serial.println(payload); //--> Print request response payload

http.end(); //--> Close connection

77
Serial.println("---------------");

//........................................

// Calls the RECEIVE() subroutine.

RECEIVE();

// delay(1000);

//*/

void Record(){

///* //........................................ The process of RECORDING the HEART sensor data to the
database.

GETDATA();

//delay(100);

postData = "&NAME=" + String (send_name);

postData += "&ID=" + UIDresultSend;

postData += "&GENDER=" + String (send_gender);

postData += "&EMAIL=" + String (send_email);

postData += "&PHONE=" + String (send_mobile);

payload = "";

78
Serial.println();

Serial.println("---------------RECORD.php");

http.begin(Store);

http.addHeader("Content-Type", "application/x-www-form-urlencoded");

httpCode = http.POST(postData); //--> Send the request

payload = http.getString(); //--> Get the response payload

Serial.print("httpCode : ");

Serial.println(httpCode); //--> Print HTTP return code

Serial.print("payload : ");

Serial.println(payload); //--> Print request response payload

http.end(); //Close connection

Serial.println("---------------");

//........................................ // */

// delay(7000);

79
void mist() {

GETDATA();

postData = "&NAME=" + String (send_name);

postData += "&ID=" + UIDresultSend;

postData += "&MISTAKE=" + String (n);

payload = "";

Serial.println();

Serial.println("---------------updata.php");

Serial.println(n);

http.begin(MIS);

http.addHeader("Content-Type", "application/x-www-form-urlencoded");

httpCode = http.POST(postData); //--> Send the request

payload = http.getString(); //--> Get the response payload

Serial.print("httpCode : ");

Serial.println(httpCode); //--> Print HTTP return code

Serial.print("payload : ");

Serial.println(payload); //--> Print request response payload

80
http.end(); //Close connection

Serial.println("---------------");

//........................................ // */

//delay(7000);

void Reply(String msg)

Serial.println ("Sending Message please wait….");

SIM900A.println("AT+CMGF=1"); //Text Mode initialisation

delay(1000);

Serial.println ("Set SMS Number");

SIM900A.println("AT+CMGS=\""+ send_PHONE+ "\"\r"); // Receiver’s Mobile Number

Serial.println (send_PHONE);

delay(1000);

Serial.println ("Set SMS Content");

SIM900A.println(msg);// Messsage content

Serial.println(msg);

delay(100);

Serial.println ("Done");

SIM900A.println((char)26);

81
delay(1000);

Serial.println ("Message sent succesfully");

void ircount() {

delay(700);

if (digitalRead(IRPin) == 0 && oldValue == 1) {

oldValue = 0;

Count();

else if (digitalRead(IRPin) == 1 && oldValue == 0) {

oldValue = 1;

delay(100);

void Count() {

n = n + 1;

lcd.setCursor(0, 0);

lcd.print("Count : ");

82
lcd.setCursor(0, 1);

lcd.print(n);

delay(3000);

lcd.clear();

mist();

5.1 TYPES OF TESTING

Testing refers to the process of evaluating a system, software, or product to determine its
functionality, performance, or quality. It is a crucial step in the development and maintenance of
various systems to ensure that they meet the desired requirements, perform as expected, and are
free from defects or errors n software development, testing involves executing a program or
application with the intent of finding bugs, errors, or other issues. The goal is to identify and
correct any issues before the software is released to end-users. Testing can be performed at
different stages of the software development life cycle, including unit testing, integration testing,
system testing, and acceptance testing Testing typically involves designing and executing test
cases, which are specific scenarios or inputs that are used to verify the behavior of the system.
The results of the tests are compared against expected outcomes to determine if the system
functions correctly There are various types of testing, including functional testing, performance
testing, security testing, usability testing, and regression testing, among others. Each type focuses
on specific aspects of the system and aims to uncover different types of issues Testing plays a
crucial role in ensuring the reliability, quality, and effectiveness of systems, software, and
products. It helps identify and fix issues early in the development process, reducing the risk of
problems occurring in a production environment. Effective testing practices can lead to improved
user experiences, increased customer satisfaction, and enhanced overall system performance
Compatibility Testing It verifies that a software system functions correctly across different
platforms, operating systems, browsers, and devices. It ensures that the system is compatible
with the intended environments.

83
Unit testing

Unit testing is a software testing method that focuses on the individual components, or units, of a
software system. A unit refers to the smallest testable part of an application, such as a function,
method, or class unit testing, individual units are tested independently of the rest of the system,
with any dependencies or interactions with other units mocked or stubbed out. The goal is to
isolate and test each unit in a controlled environment to ensure its correctness and identify any
defects or errors early in the development process Unit tests are typically written by developers
and are executed automatically as part of a continuous integration or build process. They are
usually written using test frameworks or libraries that provide a structure for defining and
running tests, as well as assertions to verify expected behavior Unit testing helps in detecting
defects or bugs early in the development process, allowing developers to fix them before they
propagate to other parts of the system. It also promotes modular and reusable code since units
need to be independent and testable. Additionally, unit tests serve as documentation and provide
a safety net for future changes, as they can be rerun to validate that modifications haven't
introduced regressions Unit testing is often automated using testing frameworks and tools, which
provide a structured environment for writing, executing, and managing tests. Common unit
testing frameworks for different programming languages include JUnit for Java, NUnit for .NET,
pytest for Python, and Jasmine for JavaScript Integration testing.

Integration testing is a software testing technique that focuses on verifying the correct
interactions and data flow between different components or modules of a software system

The main goal of integration testing is to uncover defects and issues that may arise when
multiple components are combined and tested as a group. It ensures that the integrated
components work together as expected and that the overall system functions correctly integration
testing, individual software modules or components are combined and tested as a group,
simulating the real-world interactions between them. This testing phase typically follows a top-
down or bottom-up approach, where modules are gradually integrated and tested until the entire
system is formed Continuous Integration and Integration Testing in modern software

84
development practices, integration testing is often integrated into the continuous integration (CI)
process. CI involves regularly merging code changes from multiple developers into a shared
repository and running automated tests, including integration tests, to quickly identify any
integration issues.

System testing

System testing is a type of software testing that focuses on evaluating the overall behavior and
performance of a complete system or software application System testing typically involves
testing the system as a whole, rather than focusing on individual components. It may include
various types of testing techniques such as functional testing, performance testing, security
testing, usability testing, compatibility testing, and reliability testing system testing, test cases are
executed to simulate real-world scenarios and interactions with the system. This helps in
validating the system's behavior, data flow, user interfaces, error handling, and overall system
functionality. Defects or issues discovered during system testing are reported, tracked, and fixed
before the system is deployed to end-users.

5.2 System implementation

System implementation refers to the process of putting a planned system into action. It involves
the actual development, installation, and configuration of the system components, as well as the
integration of various software and hardware elements to create a functional system
implementation, the technical specifications and designs created during the system development
phase are translated into a working system. This may include activities such as coding, testing,
system configuration, data conversion, and user training. The implementation process may vary
depending on the type and complexity of the system being implemented Transition The system
implementation phase marks the transition from development to operations. It involves handing
over the system to the operational team or the client, including any necessary knowledge transfer
and support arrangements.

5.2.1 Core construction

Core construction refers to the process of building the central structural elements or core of a
building or infrastructure project. The core typically includes the load-bearing components that
provide stability, strength, and support to the entire structure Core construction refers to the

85
fundamental structure or framework of a system or project. In the context of an IoT-based
prepaid car parking system using RFID and Arduino, the core construction refers to the essential
components and their arrangement to create the system.

5.2.2 Power-construction

The Power-construction IoT-based prepaid car parking system using RFID (Radio Frequency
Identification) and Arduino is a solution designed to automate and manage car parking facilities.
It utilizes IoT (Internet of Things) technology, specifically RFID and Arduino, to provide a
convenient and efficient parking experience for users Prepaid Payment System: The system
operates on a prepaid model, where users need to load their parking credits in advance. This can
be done through an online portal or a dedicated mobile application. The central server deducts
the appropriate parking fees from the user's account based on the duration of the stay Barrier
Control the Arduino boards control the entry and exit barriers of the parking facility. When a
vehicle with a valid RFID tag approaches the entry barrier, the Arduino board sends a signal to
open it, allowing the vehicle to enter. Similarly, when a vehicle exits, the Arduino board verifies
the payment status and opens the exit barrier accordingly Validation and Access Control: The
Arduino board checks the validity of the RFID tag by verifying the tag's information in the
central server's database. If the tag is registered and has sufficient parking credits, the Arduino
board sends a signal to open the entry barrier, allowing the vehicle to enter Parking Duration
Tracking Once a vehicle enters the parking facility, the system starts tracking the duration of the
parking session. This information is used to calculate the parking fees.

5.3 USER DOCUMENTATION

User documentation refers to a set of written materials or resources that provide guidance,
instructions, and information to users of a product, system, software, or service. It is created to
assist users in understanding and effectively using the product or service Online Help Systems:
Online help systems are interactive resources integrated into the product or available through a
web browser. They offer context-sensitive assistance, allowing users to access relevant
information and instructions directly within the product interface User documentation for an IoT-
based prepaid car parking system using RFID and Arduino would provide instructions and
guidance to users on how to set up, operate, and troubleshoot the system RFID Tags: These are

86
small electronic devices that contain unique identification numbers. Each vehicle associated with
the parking system will have an RFID tag attached to it.

CHAPTER SIX

RECOMM ENDATION & CONCLUSION

6.0 INTRODUCTION

This chapter briefly we were discussed Conclusion, Achievements, Limitation, Future


Enhancements & Concluding Remarks.

6.1 CONCLUSION

A conclusion is a reasoned judgment or decision that is reached after evaluating evidence, facts,
or arguments. It is the final part of a logical or deductive reasoning process, where the available
information is analyzed and synthesized to form a final opinion or resolution The
implementation of an IoT-based prepaid car parking system using RFID and Arduino has proven
to be an efficient and effective solution for managing car parking operations. By combining the
power of IoT technology, RFID tags, and Arduino microcontrollers, the system offers numerous
benefits, including enhanced security, improved efficiency, and streamlined payment processes
The prepaid system aspect of this solution offers convenience to the car owners by eliminating
the need for physical payment transactions at the parking facility. Users can prepay for parking
services online or through mobile applications, which are securely linked to their RFID tags.
This not only saves time but also provides a seamless experience for the customers in conclusion,
the IoT-based prepaid car parking system using RFID and Arduino offers a comprehensive
solution for managing parking operations. It combines the power of IoT, RFID technology, and
Arduino microcontrollers to enhance security, improve efficiency, and provide a seamless
parking experience for both operators and car owners. This system has the potential to
revolutionize the way parking facilities are managed and pave the way for smarter and more
efficient urban mobility solutions Scalability and Integration: The IoT-based prepaid car parking
system can be easily scaled to accommodate larger parking facilities or multiple locations.
Additional RFID readers and Arduino microcontrollers can be deployed as needed, and the
central system can handle the increased data flow. Furthermore, the system can be integrated

87
with other smart city applications, such as traffic management systems or public transportation
networks, to create a connected and efficient urban mobility ecosystem.

Advantages Disadvantages

Efficient parking management The system allows Limited Scalability: The system's scalability may be
for efficient management of parking spaces. It can limited by the number of RFID tags, Arduino boards,
track the availability of parking spots in real-time and other hardware components available. If there is a
and provide accurate information to drivers, need to expand the parking facility or accommodate a
reducing the time spent searching for parking. larger number of users, it could require significant
investment in additional hardware and infrastructure.

Cashless transactions with a prepaid system, users Privacy and Data Security: IoT systems generate and
can make payments electronically, eliminating the handle a significant amount of data, including personal
need for cash transactions. This enhances information of users. Ensuring the security and privacy
convenience and security for both the parking of this data is crucial. Any data breaches or
provider and the users. unauthorized access to user information can have
severe consequences, including identity theft or
financial fraud.

Scalability and flexibility The system can be easily Environmental Impact: The production and disposal of
scaled to accommodate larger parking facilities or IoT devices can have a significant environmental
expanded to multiple locations. It offers flexibility impact. The manufacturing process of these devices
in terms of customization and integration with consumes resources and generates electronic waste.
existing infrastructure. Proper disposal of old or malfunctioning devices also
requires adherence to e-waste management guidelines
to minimize environmental harm.

Data-driven insights The system collects data on Vulnerability to Cyber Attacks: IoT systems often face
parking patterns, occupancy rates, and user security risks due to their interconnected nature and
behavior. This data can be analyzed to gain insights reliance on internet connectivity. Hackers may target
into parking demand, optimize resource allocation, the system to gain unauthorized access, manipulate
and make data-driven decisions for future data, or disrupt operations. If the security measures are

88
improvements. not robust, the system could be vulnerable to cyber-
attacks, compromising the privacy and safety of users.

Achievements

Achievements are notable accomplishments or successes that an individual or group has attained
in various aspects of life. They represent significant milestones, accomplishments, or outcomes
that are considered worthy of recognition or praise. Achievements can be personal, academic,
professional, athletic, creative, or social in nature, and they often require effort, dedication, skill,
and perseverance to attain an IoT-based prepaid car parking system using RFID (Radio
Frequency Identification) and Arduino is a technological solution that enables efficient and
automated management of car parking spaces It utilizes RFID technology for identification and
Arduino microcontrollers for data processing and control Environmental Benefits By optimizing
parking space utilization and reducing the time spent searching for parking, the system helps
reduce traffic congestion and associated carbon emissions, contributing to a greener
environment.

Limitations

Limitations refer to the boundaries, restrictions, or constraints that exist within a particular
context or situation. They define the extent or scope of what is possible or permissible within a
given framework. Limitations can arise from various factors, such as physical constraints,
resource limitations, legal regulations, technical capabilities, or inherent weaknesses in a system
or process Infrastructure Requirements: Implementing an RFID-based parking system requires
the installation of RFID readers at entry and exit points, as well as network connectivity for
communication with the central system. This infrastructure investment can be significant,
particularly for large parking areas Future Enhancemen.

Future enhancements refer to improvements or advancements that are planned or expected to be


implemented in the future. These enhancements are typically aimed at enhancing the
functionality, performance, efficiency, or user experience of a particular product, system,

89
technology, or process. Future enhancements can be found in various domains, including
technology, medicine, transportation, communication, and many others.

6.2 CONCLUDING REMARKS

Concluding remarks refer to the final statements or comments made at the end of a speech,
presentation, essay, or any other form of communication

References

1. [1] D. J. Humphreys, J. R. Box, P. C. Sullivan and T. D. and Wheeler, "Safety aspects of curb
parking", Rep. No. FHWA-RD-79–76 Federal,

1978.

2. [2] "Systems - a simulation case study", The Journal of the Operational.

3. [3] B. J. Waterson, N. B. Hounsell and K. Chatterjee, "Quantifying the potential savings in


travel time resulting from parking guidance".

4. [4] C. J. Rosier and S. A. Shaheen, "Transit-based smart parking: An evaluation of the San
Francisco Bay area field test", Transportation

90
5. [5] Y. Gang and C. G. Cassandras, "Dynamic resource allocation in urban settings: A “smart
parking” approach", IEEE Multi-Conference on

Systems and Control, 1–6, 2011.

6. [6] R. G. Thompson and P. Bonsall, "Driver's response to parking guidance and information
systems", Transport Review, vol. 17, no. 2, pp.

89-104,

7. [7] Renuka R. and S. Dhanalakshmi,” Android Based Smart Parking System Using Slot
Allocation Reservations”,

8. [8] Faiz Ibrahim Shaikh, Pratik Nanay Jadhav, Sai deep Pradeep Bhandarkar,” Smart Parking
System Based on

9. [9] System and Sensor Network”, International Journal of Computer Applications (0975–
8887) Volume 140 –

10. [10] B. J. Waterson, N. B. Hounsell m and K. Chatterjee, "Quantifying the potential savings
in travel time resulting from parking guidance",

systems - a simulation case study. The Journal of the Operational.

International Journal of Research Publication and Reviews, Vol 4, no 6, pp 56-62 June 2023 62

11. [11] O. Dokur, S. Katkoori, and N. El Mehraz, "Embedded system design of a real-time
parking guidance system", Annual IEEE Systems

Conference (Sysco), pp. 1-8, 2016. ARPN Journal of Engineering and Applied Sciences, Vol. 10,
No. 7 Electrical Engineering, Vol.3, No.1

1997. technology Principles, Advantages, Limitations & Its Applications ``International Journal
of Computer and No.12, April 2016

12. [12]Mandeep Kaur, Manjeet Sandhu, Neeraj Mohan and Parminder S. Sandhu,” RFID

[1] Pardosi, T. (2016). STATISTIK TRANSPORTASI DKI JAKARTA 2016. Jakarta: BPS
Provinsi DKI Jakarta. [2] Wang, H., & He, W. (2011, April). A reservation-based smart parking
system. In Computer Communications Workshops (INFOCOM WKSHPS), 2011 Conference on

91
(pp. 690-695).. [3] Den, Ardjuna D. "Internet Of Thinks Methode and implementation."
rerasearch gate, 2015: 12. [4] Armstrong, E. (2015, Juli 09). Taking the U.S by storm. Retrieved
from Smartparking.com: https://www.smartparking.com/blog/posts/taking-the-us-by-storm [5]
Rye, T. (2011). Manager Parkir : Sebuah Kontribusi Menuju Kota Yang Layak Huni. eschborn:
bundesministerium für bildung und forschung. [6] Hamid. (2010). Pengembangan System Parkir
Terkomputerisasi Dengan Otomatisasi Pembiayaan dan Penggunaan RFID Sebagai Pengenal
Unik Pengguna. Seminar Nasional Aplikasi Teknologi Informasi, 1. [7] Zulkarnain, D., & Julian,
E. S. (2017). Perancangan Sistem Parkir Dengan Rekomendasi Lokasi Parkir. Jakarta: Jettri. [8]
Lukman, M. H. (2018). Model Smart Parking Berbasis Internet of Thinks. Perpustakaan FMIPA
UNPAK, 2. [9] Khanna , A., & Rishi , A. (2016). IoT based Smart Parking System. International
Conference on Internet of Things and Applications, , 266. [10] Li, L. (2011, March). Application
of the internet of thing in green agricultural products supply chain management. In Intelligent
Computation Technology and Automation (ICICTA), 2011 International Conference on (Vol. 1,
pp. 1022-1025). IEEE. [11] Yang, G., Xie, L., Mäntysalo, M., Zhou, X., Pang, Z., Da Xu, L., ...
& Zheng, L. R. (2014). A health-IoT platform based on the integration of intelligent packaging,
unobtrusive bio-sensor, and intelligent medicine box. IEEE transactions on industrial
informatics, 10(4), 2180-2191. [12] Qu, T., Lei, S. P., Wang, Z. Z., Nie, D. X., Chen, X., &
Huang, G. Q. (2016). IoT-based real-time production logistics synchronization system under
smart cloud manufacturing. The International Journal of Advanced Manufacturing Technology,
84(1-4), 147-164. [13] Dey, S., Roy, A., & Das, S. (2016, October). Home automation using
Internet of Thing. In Ubiquitous Computing, Electronics & Mobile Communication Conference
(UEMCON), IEEE Annual (pp. 1-6). IEEE. [14] Rao, Y. R. (2017). Automatic smart parking
system using Internet of Things (IOT). Int. J. Eng. Tech. Sci. Res, 4, 2394-3386. [15] Khanna,
A., & Anand, R. (2016, January). IoT based smart parking system. In Internet of Things and
Applications (IOTA), International Conference on (pp. 266-270).

Zeydin Pala and Nihat Inan, “Smart parking application using RFID

technology”, RFID Eurasia, 1st Annual in RFID Eurasia, 2007.

Chaudhari, U., et al. Smart Doorbell Security System Using IoT. in International

Conference on Sciences and Technology (No. 4228). 2020.

92
Goodrum, P., McLaren, M., Durfee, A.,” The application of active radio

frequency identification technology for tool tracking on construction job sites.”

Automation in Construction, 15 (3), 2006, pp 292-302.

4. Purnamasari, A.I. and A. Setiawan, Pengembangan Passive Infrared Sensor

(PIR) HC-SR501 dengan Microcontrollers ESP32-CAM Berbasiskan Internet

of Things (IoT) dan Smart Home sebagai Deteksi Gerak untuk Keamanan

Perumahan. Prosiding SISFOTEK, 2019. 3(1): p. 148-154.

Meenakshi, N, M Monish, K J Dikshit, and S Bharath. “Arduino BasedSmart

Fingerprint Authentication System.” In 2019 1st InternationalConference

onInnovations in Information and CommunicationTechnology (ICIICT), 1–

CHENNAI, India: IEEE, 2019.

Gyanendra K Verma, Pawan Tripath, A Digital Security System with Door

Lock System Using RFID Technology, International Journal of Computer

Applications (0975– 8887) Volume 5– No.11, August 2010.

“(PDF) Password Based Door Lock System Using

Arduino,” ResearchGate.

Orji EZ, Oleka CV, Nduanya UI, Automatic Access Control System using

Arduino and RFID, Journal of Scientific and Engineering Research, 2018,

5(4):333-340 ISSN: 2394 2630.

Dejan Nedelkovski, (2017), "How RFID Works and How To Make an Arduino

based RFID Door Lock” Arduino Tutorials – How To Mechatronics", Retrieved

29 May 2021,from http://howtomechatronics.com/tutorials/arduino/rfid-worksmakearduino-


based rfid-door-lock.

93
Umar Farooq, Mahmood ul Hasan, Muhammad Amar, Athar Hanif, and

Muhammad Usman Asad, (2014), "RFID Based Security and Access Control

System" IACSITInternational Journal of Engineering and Technology, Vol. 6,

No. 4, August 2014.

Zhang, L., “An Improved Approach to Security and Privacy of RFID application

System”, Wireless Communications, Networking and Mobile Computing.

International Conference. pp 1195- 1198, 2005.

S. Shepard, “RFID Radio Frequency Identification”, USA, ISBN: 0-07-

144299-5, 2005.

Kaushal G., Mishra R., Chaurasiya N. & Singh P. 2015. RFID based security

and access control system using arduino with GSM module. International

Journal of Electrical & Electronics Engineering. 2(2): 5-8.

What is an Arduino? - learn.sparkfun.com", Learn.sparkfun.com, 2021. [Online].

Available: https://learn.sparkfun.com/tutorials/what-isan-arduino/all.

[Accessed: 08- Aug- 2021].

94

You might also like