0% found this document useful (0 votes)
88 views57 pages

AFZA

This document is a mini project report on web application fuzz testing submitted in partial fulfillment of a Bachelor of Technology degree. It contains an abstract, introduction, literature review, system analysis, requirements, design, modules, conclusion and future enhancements. The project aims to research fuzz testing of web applications to detect security vulnerabilities early and improve software quality and safety. Fuzz testing involves feeding random, invalid or erroneous data into a program to find bugs and vulnerabilities.

Uploaded by

Afza Fathima
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
88 views57 pages

AFZA

This document is a mini project report on web application fuzz testing submitted in partial fulfillment of a Bachelor of Technology degree. It contains an abstract, introduction, literature review, system analysis, requirements, design, modules, conclusion and future enhancements. The project aims to research fuzz testing of web applications to detect security vulnerabilities early and improve software quality and safety. Fuzz testing involves feeding random, invalid or erroneous data into a program to find bugs and vulnerabilities.

Uploaded by

Afza Fathima
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 57

WEB APPLICATION FUZZ TESTING

A MINI PROJECT REPORT

Submitted by
ABINAYA.E 812020205004

AFZA FATHIMA 812020205006

DHIVYA DHARSHINI.M 812020205016

PRIYA DHARSHINI.J 812020205036

in partial fulfillment for the


award of the degree of

BACHELOR OF TECHNOLOGY

in
INFORMATION TECHNOLOGY

M.A.M COLLEGE OF ENGINEERING AND TECHNOLOGY


ANNA UNIVERSITY , CHENNAI-600 025
MAY 2023 ANNA UNIVERSITY
BONAFIDE CERTIFICATE

Certified that this project report “ WEB APPLICATION FUZZ


TESTING” is the bonafide work of ABINAYA.E(812020205004),
AFZA FATHIMA(812020205006), DHIVYA
DHARSHINI.M(812020205016),PRIYA DHARSHINI.J
(812020205036) who carried out the project work under my supervision.

SIGNATURE SIGNATURE

Dr.K.Geetha,M.E.,Ph.D., Ms.K.PREMA
Head of the Department Supervisor
Department of IT Department of IT
M.A.M. College of Engineering M.A.M College of Engineering
and Technology and Technology
Tiruchirappalli – 621 105. Tiruchirappalli – 621 105.

Submitted for B.E. degree viva-voce held at M.A.M. College of


Engineering and Technology on …………………
INTERNAL EXAMINER EXTERNAL EXAMINER

ACKNOWLEDGEMENT

With warm hearts and immense pleasure, I thank the almighty for his
grace and blessing bestowed on me, which drove me to the successful
completion of this project. I take this opportunity to express my sincere
thanks to the respected Director Dr.M.A.Maluk Mohammed, M.E.,
Ph.D., and Secretary & Correspondent Mrs. Fathima Bathool Maluk,
M.B.A., who is guiding light for all activities in our college.

I express my sincere and humble tone of thanks to our Principal Dr.


X. Susan Christina, M.E., Ph.D., for providing me with all facilities
needed for the successful completion of my work.

I would like to thank our Head of the Department Dr. K. Geetha, M.E.,
Ph.D., for her cooperation, advice and suggestions at every stage of my
project work.

I would also like to express with gratitude and my sincere thanks to my


guide Ms.M.MATHUMITHA, ASSISTANT PROFESSOR Department of
Information Technology for motivating me throughout the project work.

I am very proud to extend my sincere thanks and gratitude to our Project


coordinator Ms. P. Suganya (Assistant Professor), Department of
Information Technology, M.A.M College of Engineering and Technology,
for her excellent guidance, advice and encouragement which boosted up
our energy throughout the project Development.
I also thank all the teaching faculty and non-teaching faculty of the
Department of Computer Science and Engineering, my parents and all my
friends for their help and support to complete this project successfully.

ABSTRACT

In today's lifestyle, people are moving towards achieving a fit and healthy body.
This shift has changed the way of living in almost every household. Now everyone
craves for healthy and nutritious food to be placed on their plates. Hence, healthy
eating and nutritious food have become an essential part of everyone’s lifestyle to
achieve a balanced and healthy life in such busy and hectic environment. Hence,
to make their fitness path a bit smoother and to enhance their experience, I have
created an Android [Personal Dietician] application to provide a broader approach
in providing a better living through nutritious and fit diet plan to the users. In this
project, the Personal Dietitian android application will use food ontology APIs,
which is a part of knowledge representation and semantic web technology to
produce diet plans for the users. Additionally, the app will provide an activity
tracker which will track the steps walk, climb, and run by the user. The activity
tracker is built using an API which uses accelerometer and gyroscope sensors built
into the Android device. v The application will start by signing up or logging the
user with the Personal Dietitian application. The signup and login screen which
will be useful to the user to manage their activities in the application. The
application provides four main user functionalities, namely, the activity tracker,
meal planner, reports, and health blog. (1) The Activity Tracker is used for tracking
the user steps including the walking, running and stairs time along with the total
step taken in a day. (2) The Meal planner activity is used to get the suggested
meal plans with the help of the user's general information (Height, Weight,
Gender, Age, and Body fat) and the food ontology database APIs. This
functionality also allows the user to add foods manually using text search and
voice search. (3) The third feature, Progress Report activity is used to present the
weekly and monthly reports of the activity tracker and nutrients consumed by the
user in the form of a line and pie chart. Moreover, the user can also see his/her
weekly progress for the activity tracker and meal planner by just clicking the icons
on the activities in the form of bar chart as well as a daily report in a list format.
(4) The last activity is the health blog which can be used to see different blogs
available online related to the health and life improvement.
TABLE OF CONTENTS

CHAPTER TITLE
NO.

ABSTRACT

LIST OF FIGURES

LIST OF ABBREVIATION

1 INTRODUCTION

1.1 OVERVIEW

1.2 OBJECTIVE

2 LITERATURE SURVEY

2.1 A REVIEW ON HOME AUTOMATION USING AUGMENTED


REALITY

2.2 HOME AUTOMATION USING AUGMENTED REALITY.

2.3 BASED ON IoT HOME AUTOMATION.


2.4 HOME AUTOMATION USING IoT .

2.5 BLUETOOTH
BASED HOME 33
AUTOMATION
USING
ARDUINO.

3 SYSTEM 38
ANALYSIS
3.1 EXISTING 38
SYSTEM
3.1.1 39
Disadvantag
es
3.2 PROPOSED 39
SYSTEM
3.2.1 40
Advantages
4 SYSTEM 41
REQUIREMEN
TS
4.1 41
HARDWARE
REQUIREMENT
S
4.2 SOFTWARE 41
REQUIREMENT
S
5 SYSTEM 42
DESIGN
5.1 SYSTEM 42
ARCHITECTUR
42
E

6 MODULES 44

44

46

47
48

49

50

51

7 CONCLUSION AND 53
FUTURE
ENHANCMENT

7.1 53
CONCLUSION
7.2 FUTURE 53
ENHANCMENT
APPENDICES 54

A.SOURCE 54
CODE
B.SCREENSHO 59
TS
REFERENCES 63

LIST OF FIGURES

FIGURE TITLE PAGE


NO. NO.

5.1 Block Diagram

7.1 Lights off when there is no


human

7.2 Lights on when it detects


human

LIST OF ABBREVIATION
GUI Graphical User Interface

CHAPTER 1

INTRODUCTION

1.1 OVERVIEW
Web applications need for extensive testing before deployment and use,
for early detecting security vulnerabilities to improve the quality of the safety
of the software, the purpose of this paper is to research the fuzzing
applications in security vulnerabilities. This research first introduces the
common Web software security vulnerabilities, and then provide a
comprehensive overview of the fuzzing technology, and using fuzzing tools
Web fuzz to execute a software vulnerability testing, test whether there is a
software security hole. Test results prove that fuzzing is suitable for software
security vulnerabilities testing, but this methodology applies only to security
research field, and in the aspect of software security vulnerabilities detection
is still insufficient. Fuzzing is done under the premise that every programme
has bugs that are just waiting to be found. As a result, a methodical technique
ought to locate them eventually. Due of its non-human approach, fuzzing
might provide a different perspective to traditional software testing procedures
Due to the minimal effort required to set up the technique, it serves as a
reasonable complement rather than a replacement for them. Fuzz testing, often
known as fuzzing, is an automated software testing approach used in
programming and software development that includes feeding random,
erroneous, or invalid data into a computer programme.
1.2 OBJECTIVE
Our aim in this activity is to identify potential risks.

● Fuzzer identify systems and software that contain known security


threats.

● Fuzzer finds systems and software that have known security


vulnerabilities, but this information is only useful to IT security teams
when it is used as the first part of a four-part vulnerability management
process.

● Identify vulnerabilities before cyber criminals.

● Save time and money.

● Make the most of vulnerability scanning.

● Define the level of risk on your web application.

● Identify false positive results at an acceptably low rate.

● Ability to analyze different Web technologies, such as PHP,


ASP.NET, ASP, etc.

CHAPTER 2
LITERATURE SURVEY

2.1 Web Application Fuzz Testing

2.2 author -Ivan Andrianto , M. M. Inggriani Liem, Yudistira Dwi Wardhana Asnar

ABSTRACT

Security is very important aspect of a web application. Therefore security


testing is needed to find vulnerabilities on web applications. One of security
testing technique is fuzz testing. Fuzz testing or fuzzing is a software testing
technique done by giving a set of invalid inputs to the application under test.
Fuzz testing is usually done by a tool. In fuzz testing for web application, a set
of HTTP requests will be sent to the application under test in order to see how
the application behaves when getting various inputs. It would be better if fuzz
testing for web application can run automatically on certain conditions. In this
research, we develop a platform and tools for web application fuzz testing
automation that can be integrated to Jenkins. The tool has been tested on web
applications with known vulnerabilities. In 13 of the 15 test cases, the tool can
successfully found the presence of vulnerabilities. Based on the results, most
vulnerabilities can be detected based on HTTP response content .

INTRODUCTION
Security is very important for web applications. However, in the past three
years, more than three-quarters of scanned websites contain unpatched
security loopholes, of which one in seven are considered critical by 2015 [1]. It
becomes an opportunity for attackers to attack and take advantage as much
as possible. In general, web-based applications are accessible from anywhere
so the possibility of being attacked is bigger. Therefore, the development of
web-based applications need to pay attention to the security aspect. Various
techniques to perform security testing software according to Al-Ghamdi [2]
are code review, automated static analysis, binary code analysis, fuzz testing,
source and binary code fault injection, risk analysis, vulnerability scanning,
and penetration testing. In security testing of a software, multiple techniques
can be used in order to find as many vulnerabilities as possible. Fuzz testing
(fuzzing) is a technique for testing software by providing invalid input on
software tested for the purpose of causing errors in the software [3].The
software under test will be monitored against crashes or unexpected
behaviors. By generating a set of inputs, fuzz testing is expected to cover test
scenarios not covered by testing with other techniques. Fuzz testing can be
applied for security testing of web applications. Fuzz testing for web
applications can be done by sending a set of HTTP requests to the web
application under test. The tester needs to configure how input will be
generated. After he HTTP requests has been sent to the web application
under test, the next step is analyzing is there any vulnerability found and
generate testing reports.

METHODOLOGY
a.Fuzz Testing for Web Application

Attacks on web application can be done by giving certain inputs to the


targeted web application. Attackers can try various inputs in order to find any
kinds of vulnerabilities. With fuzz testing, tester can try various inputs to see
how the application responds. However, attacker can modify a part of HTTP
request which is not from user input. Therefore, web application fuzzer must
support input generation on any part of HTTP request. To perform a fuzz
testing, tester needs to provide automatically execute HTTP requests. It is
easier for a tester, if the tool provides a way to collect HTTP requests from
interaction performed between the tester and the application under the test.
One of the tools that can be used to obtain HTTP requests is Selenium
WebDriver. Selenium WebDriver can be used to run a web browser. If we use
Selenium WebDriver along with BrowserMob Proxy, HTTP requests sent
during Selenium WebDriver run will be recorded. Thus, testers just simply
interact with the web application under the test, to get the HTTP requests
that will be used for fuzz testing. After HTTP requests are collected, the tester
needs to configure how the HTTP requests will be resent. a fuzzing tool should
allow a tester to determine the input generation that will be used on any
parts of the HTTP request. Web application fuzz testing falls into the category
of integration test. So, it is better if a fuzz testing is run as a job on an
continuous integration environment. Therefore, the fuzz testing can be run
automatically several times to ensure the application still behaves correctly.
As a solution, we use Jenkins. Jenkins [10] is an open-source tool for
automatic continuous integration and continuous delivery. Jenkins is used for
building and testing a software on an ongoing basis so that changes can be
integrated more easily. Users can integrate Jenkins with various testing and
deployment technologies.

b.input Generations

In order to test web applications with fuzz testing, a fuzzer should support
input generation mechanisms. The generated inputs will be applied on a part
of HTTP request that will be sent to the web application under the test. Input
generation can be done with fuzz vector, number generator, brute forcer, or
similar string generators. The generated inputs then can be 2017 International
Conference on Data and Software Engineering (ICoDSE) modified with string
substitution, case modification, or encoding. In some cases, a tester also
needs to combine two or more parts of input generations. A part of HTTP
request may also need a value that can be obtained from an HTTP response.
Generation of inputs can be done with fuzz vector. A fuzz vector consists of a
set of strings that will be given to the web application under the test. For
testing against common vulnerability such as injections, XSS, and path
traversal there are some available fuzz vectors ready to be used, such as
provided by OWASP [9]. A number generator is used to generate a set of
numbers with a certain range. It is suited for generating a part of an HTTP
request that has been known consisting of numbers only. A brute forcer is
used to generate a set of strings with certain character sets. It can be used to
observe how the application behaves against all possible inputs. A similar
strings generator generates a set of strings, similar to a given input, by slightly
modifying the given input, such as by incrementing each characters. String
substitution is used to modify generated inputs by replacing the presence of
certain character sequence with another one. For example, a tester can
replace the presence of the word “password” in a fuzz vector with “pass”.
Case modification is done by modifying generated inputs to lower or upper
case. Some web applications validate input by blacklisting certain values. In
some cases, it is possible that the value can pass the validation if the
capitalization is changed. Therefore, case modification is required to change
the capitalization of the given string. Encoding may need to be applied to
generated inputs in order to make the HTTP request valid. Therefore, the tool
should be able to allow encoding with certain. Sometimes, a tester needs to
apply input generation on two or more HTTP request parts. Therefore, the
tool should be able to support combination of generation method on some
HTTP request parts where input generation applied. Sometimes, a part of an
HTTP request requires a value from the HTTP response obtained. For example,
an HTTP request requires an anti-CSRF token. If the request does not include a
valid token, the request will not be processed. Therefore, the tool should be
able to provide a way to replace a part of HTTP request with a value obtained
from the HTTP response.

C. Vulnerability Detection

in order to determine the existence of vulnerabilities, the tester must


analyze the test result. In a fuzz testing, there may be a huge number of
HTTP requests sent to the web application under the. Therefore, the
tool should be able to provide a feature which helps a tester in finding
vulnerabilities. The detection can be based on HTTP response error,
timeout, or content of HTTP response. For each HTTP request sent,
automatic analysis is performed by the tools, to detect the existence of
any vulnerabilities. When the fuzz testing finished, the tester can view
the generated reports. If the fuzz testing is run through Jenkins, the
reports need to be displayed on Jenkins. The tool provides some fuzz
vectors that can be used for input generation. Tester can add new fuzz
vectors, view, or modify the content of a fuzz vector and delete unused
fuzz vectors The Attacker is responsible for sending a set of HTTP
requests to the web application under the test, based on the request
configuration files. For each part of HTTP request where an input
generation applied, Attacker uses Input Generator to generate a set of
inputs.

ADVANTAGES
 Fuzzing provides a good overall picture of the quality of the target system
and software.
 Fuzzing is the primary technique used by malicious hackers to find software
vulnerabilities.
 Fuzzing has a low overhead for both cost and time.

DISADVANTAGES
 Fuzz testing alone cannot provide a complete picture of an overall security
threat or bugs.

 Fuzz testing is less effective for dealing with security threats that do not
cause program crashes, such as some viruses, worms, Trojan, etc.
 Fuzz testing can detect only simple faults or threats.

2.2 The Appilication of Fuzzing in Web software security


vulnerabilities Test .

Author-sLi Liˈ2ndQiu Dongˈ4th Dan Liu

ABSTRACT

Web applications need for extensive testing before deployment and use, for
early detecting security vulnerabilities to improve the quality of the safety of the
software, the purpose of this paper is to research the fuzzing applications in
security vulnerabilities. This article first introduces the common Web software
security vulnerabilities, and then provide a comprehensive overview of the
fuzzing technology, and using fuzzing tools Webfuzz to execute a software
vulnerability testing , test whether there is a software security hole. Test results
prove that fuzzing is suitable for software security vulnerabilities testing, but
this methodology applies only to security research field, and in the aspect of
software security vulnerabilities detection is still insufficient

INTRODUCTION

With the rapid development of Internet technology and the wide


application of electronic commerce, Web-based software
applications gradually become one of the mainstream software
developments. Due to the extensive WEB software applications,
making WEB security issues also gradually exposed, that exist in the
software of software security vulnerabilities exist that make WEB
software is vulnerable to various attacks, resulting in information
disclosure or system damage, causing huge losses [1]. The cause of
WEB software security vulnerabilities on the one hand is
inexperienced developers, not enough focus on software security
problem; On the other hand is the lack of a comprehensive and
complete security test. Defines a fuzzy test found that synthesis
method, this method to discover product key vulnerabilities that
could not be found with audit methods are effective. The process of
Fuzzing is intentionally enter invalid data to the product in the
purpose to trigger error conditions or the cause of software or
product failure. In this paper, combine with fuzzing tool webfuzz,
fuzzy on the WEB software, testing whether there are security
vulnerabilities or not .
METHODOLOGY

Fuzzing methods

Method of Fuzzing to discover software vulnerabilities, one


important part is to generate the fuzzy test cases, this involves using
fuzzer. There are two types of fuzzer existed: fuzzer based on
variation and fuzzer based on generation, these two types of fuzzer
can be further divided into the following five categories. Pre-generate
test cases. This approach begins with studying the data structure
supported by and the acceptable range of values for each data
structure, by testing boundary values or forcing regulars violate to
create the test cases. Using this method to generate test cases has
good reusability, but no automatic generation mechanism is
introduced. Random method. Random method is to use simple
method of generating numbers of pseudo-random data back to the
software to be detected, observe the test results. This method can be
used for rapid safety estimation of target software, disadvantage is
difficult to reverse search software exception causes when the server
crashes . Protocol variation manual test. This method does not
require introduction of automated fuzzer. After the target program is
loaded, the tester input data not conform to expectation directly ,
observe whether there is a breakdown or unexpected behavior. The
tester can create effective test cases according to their own
experience. Mandatory variable test. Mandatory variable refers to
obtain a valid agreement or data format sample later, fuzzer disrupts
files for each byte, word, double word or strings constantly. Test is
able to complete the whole process of test data generation and
transmission automatically, disadvantage is not efficient enough.
Automatic generate agreement test. The method belongs to a kind of
more advanced mandatory testing methods, testers create a grammar
to describe the working process of the protocol regular. Packets are
divided into static and dynamic parts, which is the fuzzy variable,
fuzzer generate test cases to test by analyzing grammar. This method
can improve the effectiveness of fuzzing, but need to spend some
time on preparatory study of grammar or data format.

Fuzzing tool

Currently, there are several kinds of prevalent Fuzzing tools used in


the commercial Web application, the SPI fuzzer and Webfuzz
developed by the company of SPI Dynamics for example. The SPI
fuzzer enables users to completely control the original Http requests
used by the Fuzzing. In comparison, the Webfuzz provides a frame
which could create an effective analysis to test Web software.
Besides, the OWASP developed by WebScarab, could assign directly
fuzzy values to the Web application parameters. As Table 2 shown.
In this paper, we chose the Webfuzz as the tool of fuzz testing,
Webfuzz development inspired by the tools of commercial SPI fuzzy
detector, it is not a tool easy to use and completely used for the
safety, it's just a tool process work automated which previously done
manually . The final user can use the tools to develop effective test
and analysis of test results. The tool should be regarded as a research
starting point, not the final solution.

The XSS vulnerability test

A common method of testing in the presence of XSS vulnerability is


input a simple JavaScript code fragment and an alarm function, the
alarm function will result in a pop-up window. However, this is not a
practical vulnerability detection mechanism, because it requires the
tester observations. And WebFuzz advantage is the automatic
operation, therefore the tester can leave the machine to wait for test
results. Testers need to add an appropriate fuzzy variable to the
WebFuzz, add a new variable is very simple, and do not need to
recompile the application again. XSS vulnerability test environment
is as follows:

The host name:

http://xss.killsec.com/?m=user&a=login˗

The port number: 80


Modify Request Headers in the request message, inserting fuzzy
variables, generate fuzzing data, the Request Header is GET/?
m=[XSS] HTTP/1.1, then click the Request button.n, the results
shown in Fig.5. Line 4 status code Error represents access error; Line
1-3 status code 200 represents fuzzy data submitted successfully; it
also pop up an alert box, prove the existence of XSS vulnerability in
the site.

SNO STAGE NAMES STAGE TASK


1 Identify target Select the target application, see
what kind of vulnerabilities exists

2 Recognize input Recognize program input vector,


including headers, environment
variables, etc.

3 Generate fuzzing data According to the target


application choose the
appropriate method to insert
fuzzy variables, generate datA

4 Perform fuzzing data Send data packets to the target


application, open a file or launch
a goal process, this process
should be automated

5 Monitor abnormality Record abnormal or faulty test

6 Determine availability Manual process, determine


whether the detected exceptions
or failures can be further used

SQL injection vulnerability test

Set the IP address of the host to 192.168.99.155, port number is


8081, in Login. aspx file ,there is a piece of code that exist SQL
injection vulnerabilities:

string userID = this.UserIdTxt.Text.ToString();

string Pwd = this.PwdTxt.Text.ToString();

string sqlStr = String.Format("select count(*) from UserInfo where


UserId='{0}' and Pwd='{1}'", userID, Pwd);
In the code above, text box which is used to get the user name and
user password did not carry out any input processing, the input string
accessed was returned to the parameters directly, then use these
unprocessed parameters to query in the database. Firstly, using the
LiveHTTPHeaders plugined in FireFox to get the Post request when
login in, and insert the fuzzy variables, change
UserIdTxt=wja&PwdTxt=wja to UserIdTxt=[SQL]&PwdTxt= , as
the data for Fuzzing. Secondly, change the Url Web table submitted
by the Get method of Request Headers. As shown in Fig.3. Click the
Request button, these requests will be sent to the web page, Webfuzz
tests the Web page automatic, then we could get the responses as
shown in Fig.4. In the figure above, line 18 status code 200,means
that conditions in '1' = '1' can successfully submit the fuzzy data, line
19 status code 400, means that conditions in '1' = '2' appears access
errors, combined with the principle of SQL injection can find the site
have SQL injection vulnerabilities, line 20 status code 200 can fully
proves this point.
 ADVANTAGESFuzzing provides a good overall picture of the quality of
the target system and software.
 Fuzzing is the primary technique used by malicious hackers to find software
vulnerabilities.
 Fuzzing has a low overhead for both cost and time.

DISADVANTAGES
 Fuzz testing alone cannot provide a complete picture of an overall security
threat or bugs.
 Fuzz testing is less effective for dealing with security threats that do not
cause program crashes, such as some viruses, worms, Trojan, etc.
 Fuzz testing can detect only simple faults or threats.

2.3 .BASED ON IoT HOME AUTOMATION.

Author name- Deep Vakharia

ABSTRACT
Home Automation industry is growing rapidly, this is fulfilled by the need
to provide supporting systems for the elderly and the disabled, especially those
who live alone. Coupled with this, the world population is confirmed to be
getting older. Home automation systems must comply with the household
standards and convenience of usage.Home automation is one of the major
growing industries that can change the way people live. Some of these home
automation systems target those seeking luxury and sophisticated home
automation platforms; others target those with special needs like the elderly
and the disabled. Typical wireless home automation system allows one to
control household appliances from a centralized control unit which is wireless.
These appliances usually have to be specially designed to be compatible with
each other and with the control unit for most commercially available home
automation systems. The developed system can be integrated as a single
portable unit and allows one to wirelessly control lights, fans, air conditioners,
television sets, security cameras, electronic doors, computer systems,
audio/visual equipment’s etc... and turn ON or OFF any appliance that is
plugged into a wall outlet, get the status of different sensors and take decision
accordingly. The system is portable and constructed in a way that is easy to
install, configure, run, andmaintain. The perfect user interface still does not
exist at present and to build a good interface requires knowledge of
bothsociology and technology fields.
INTRODUCTION
Home Automation industry is growing rapidly, this is fulfilled by the need
to provide supporting systems for the elderly and the disabled, especially those
who live alone. Coupled with this, the world population is confirmed to be
getting older. Home automation systems must comply with the household
standards and convenience of usage. Home automation is one of the major
growing industries that can change the way people live. Some of these home
automation systems target those seeking luxury andsophisticated home
automation platforms; others target those with special needs like the elderly
and the disabled. Typical wireless home automation system allows one to
control household appliances from a centralized control unit which is wireless.
These appliances usually have to be specially designed to be compatible with
each other and with the control unit for most commercially available home
automation systems. The developed system can be integrated as a single
portable unit and allows one to wirelessly control lights, fans, air conditioners,
television sets, security cameras, electronic doors, computer systems,
audio/visual equipment’s etc. and turn ON or OFF any appliance that is
plugged into a wall outlet, get the status of different sensors and take decision
accordingly. The system is portable and constructed in a way that is easy to
install, configure, run, andmaintain. The perfect user interface still does not
exist at present and to build a good interface requires knowledge of
bothsociology and technology fields. Arduino Uno is a microcontroller board
developed by Arduino CC. Arduin UNO is a microcontroller board having a
number of input and output pins. It is not only a processing node in Wireless
Sensor Networks(WSN) but also acts as a centralized controller in a Wireless
Sensor Network(WSN). Further integrating the Home AUtomation
System(HAS) to the voice assistant makes it controlled using voice commands.
The light in the system will be triggered based on the motion sensor which will
indeed trigger the light sensor to check the ambient light and turn the light on if
the sensor senses the reading below the threshold value.
METHODOLOGY

Arduino Uno is a microcontroller board based on the


ATmega328P(datasheet). It has 14 digital input/output pins (of which 6 can be
used as PWM outputs), 6 analog inputs, a 16 MHz ceramic resonator
(CSTCE16M0V53-R0), a USB connection, a power jack, an ICSP header and a
reset button. A relay is an electrically operated switch. It consists of a set of
input terminals for a single or multiple control signals,and a set of operating
contact terminals. The switch may have any number of contacts in multiple
contact forms, such as make contacts, break contacts, or combinations
thereof.Visible LEDs are used in many electronic devices as indicator lamps, in
automobiles as rear-window and brake lights, and on billboards and signs as
alphanumeric displays or even full-colour posters. NodeMCU is an open
source firmware for which open source prototyping board designs are
available. The name "NodeMCU" combines "node" and "MCU" (micro-
controller unit). The term "NodeMCU" strictly speaking refers to the firmware
rather than the associated development kits. Home Automation using Internet
Of Things(IOT) refers to the automation wherein it allows the users to control
their devices using the Internet. It requires the user to connect his/her
appliances, which he wishes to be remotely controlled, to the Arduino circuit.
It also requires the user to connect the Arduino to the NodeMCU Wi-Fi module
in order to allow the devices to becontrolled from anywhere in the world using
the Internet. The Wi-Fi module is connected to the Firebase real-time database
using Database secrets in order to receive the triggering signals. On the front
end, we developed an Android app to pass signals to the Arduino circuit. We
used a real-time database as a backbone of the project to send signals over the
Internet. The Android app is linked to the database using the Firebase API
readily available.

ADVANTAGES
 Easy to use.

 Saves unnecessary power consumption.

 Has good processing power and can handle multiple functions at the
same time. Uses reliable wireless connection.

DISADVANTAGES
 Needs large capital expenditure.

 Bringing automation into your plant requires a major capital investment.

2.4 HOME AUTOMATION USING IoT .

Authors- McGraw-Hill/TAB Electronics. 1999

ABSTRACT

It specifically focuses on the development of an IOT based home


automation system that is able to control various components via internet or be
automatically programmed to operate from ambient conditions. In this project,
we design the development of a firmware for smart control which can
successfully be automated minimizing human interaction to preserve the
integrity within whole electrical devices in the home. We used Node MCU, a
popular open source IOT platform, to execute the process of automation.
Different components of the system will use different transmission mode that
will be implemented to communicate the control of the devices by the user
through Node MCU to the actual appliance. The main control system
implements wireless technology to provide remote access from smart phone.
We are using a cloud server-based communication that would add to the
practicality of the project by enabling unrestricted access of the appliances to
the user irrespective of the distance factor. We provided a data transmission
network to create a stronger automation. The system intended to control
electrical appliances and devices in house with relatively low cost design, user-
friendly interface and ease of installation. The status of the appliance would be
available, along with the control on an android platform. This system is
designed to assist and provide support in order to 1fulfil the needs of elderly
and disabled in home. Also, the smart home concept in the system improves
the standard living at home.

INTRODUCTION

Internet of Things (IOT) is a concept where each device is assign to an IP


address and through that IP address anyone makes that device identifiable on
internet. The mechanical and digital machines are provided with unique
identifiers (UIDs) and the ability to transfer data over a network without
requiring human-to-human or human-to-computer interaction. Basically, it
started as the “Internet of Computers.” Research studies have forecast an
explosive growth in the number of “things” or devices that will be connected to
the Internet. The resulting network is called the “Internet of Things” (IoT). The
recent developments in technology which permit the use of wireless controlling
environments like, Bluetooth and Wi-Fi that have enabled different devices to
have capabilities of connecting with each other. Using a WIFI shield to act as a
Micro web server for the Arduino which eliminates the need for wired
connections between the Arduino board and computer which reduces cost and
enables it to work as a standalone device. The Wi-Fi shield needs connection to
the internet from a wireless router or wireless hotspot and this would act as the
gateway for the Arduino to communicate with the internet. With this in mind,
an internet based home automation system for remote control and observing
the status of home appliances is designed. Due to the advancement of wireless
technology, there are several different type of connections are introduced such
as GSM, WIFI, and BT. Each of the connection has their own unique
specifications and applications. Among the four popular wireless connections
that often implemented in HAS project, WIFI is being chosen with its suitable
capability. The capabilities of WIFI are more than enough to be implemented
in the design. Also, most of the current laptop/notebook or Smartphone come

with built-in WIFI adapter. It will indirectly reduce the cost of this system.

METHODOLOGY

The proposed model provides a method for automation with sensor based
learning. The system uses temperature sensor for development but other
sensors can also be used as per requirement. These smart home devices with
sensors can configure themselves autonomously and can operate without
human intervention. This work minimizes encryption decryption and focuses
on authentication and automation of smart home devices with learning. The
system bypasses local gateway mentioned in existing system to provide better
security for smart home devices and sensor data and save computation
overhead. The real time broker cloud is directly connected with smart home
and manages all incoming and outgoing request between users and devices.
The main purpose to use real time broker cloud is save time of cryptographic
operations.The prototype uses Arduino MK1000, known as Genuino MK1000.
The NLP in this project gives the user the freedom to interact with the home
appliances with his/her own voice and normal language rather than
complicated computer commands. The appliances are connected to the mobile
device through an Arduino Board that establishes the concept of Internet of
Things. The Arduino Boards are interfaced with the appliances and
programmed in such a way that they respond to mobile inputs.

ADVANTAGES
 The advantage of IOT is monitoring. Knowing the exact quantity of
supplies or the air quality in your home, can further provide more
information that could not have previously been collected easily.

 The biggest advantage of IOT is saving money. If the price of the


tagging and monitoring equipment is less than the amount of money
saved, then the Internet of Things will be very widely adopted.
DISADVANTAGES
 There is no international standard of compatibility for the tagging
and monitoring equipment.
 With all of this IOT data being transmitted, the risk of losing
privacy increases.

2.5 BLUETOOTH BASED HOME AUTOMATION USING


ARDUINO
Author-M.Muthukumaran1,M.Kannusamy2,
M.Kanagaraj3,A.Guruveswaran4

ABSTRACT

Technology is a never ending process. To be able to design a product


using the current technology that will be beneficial to the lives of others is a
huge contribution to the community. This paper presents the design and
implementation of a low cost but yet flexible and secure cell phone based home
automation system. The design is based on a standalone Arduino BT board and
the home appliances are connected to the input/ output ports of this board via
relays. The communication between the cell phone and the Arduino BT board
is wireless. This system is designed to be low cost and scalable allowing
variety of devices to be controlled with minimum changes to its core. Password
protection is being used to only allow authorized users from accessing the
appliances at home.

INTRODUCTION

Home automation system is use of information technologies and


control system to reduce the human labor. The rapid growth of technologies
influence us to use smartphones to remotely control the home appliances. An
automated devices has ability to work with versatility, diligence and with
lowest error rate. The idea of home automation system is a significant issue for
Researchers and home appliances companies. Automation system not only
helps to decrease the human labor but it also saves time and energy. Early
home automation systems were used in labor saving machines but nowadays its
main objective is provide facilities to elderly and handicapped people to
perform their daily routine tasks and control the home appliances remotely. A
Bluetooth based wireless home automation system can be implement with a
low cost and it is easy to install in an existing home. A research work proved
that Bluetooth system are faster than wireless and GSM systems. Bluetooth
technology has ability to transmit data serially up to 3 Mbps within a physical
range of 10m to 100m depending on the type of Blue tooth device. The design
of proposed method is based on Arduino board, Bluetooth module, sensors and
smartphone application. Bluetooth module HC-05 is interfaced with Arduino
board and home appliances are connected with Arduino board via relay.
Smartphone application is used for serial communication between smartphone
and Bluetooth module which is further connected with Arduino board..
METHODOLOGY
The hardware part consists of three main hardware components smartphone,
Arduino board and Bluetooth module. Software part consist of Arduino
integrated development environment (IDE) and Bluetooth terminal smartphone
application which is used for wireless communication between smartphone and
Arduino board. Smartphone is used to communicate with Arduino board using
a smartphone application and Bluetooth technology. In this research work
Bluetooth module HC 05 and Arduino Uno are used for hardware
implementation. Arduino is a tool for making computers that can sense and
control more of the physical world than your desktop computer. It's an open-
source physical computing platform based on a simple microcontroller board,
and a development environment for writing software for the board. Arduino
can be used to develop interactive objects, taking inputs from a variety of
switches or sensors, and controlling a variety of lights, motors, and other
physical outputs. Arduino projects can be stand-alone, or they can
communicate with software running on your computer (e.g. Flash, Processing.)
The boards can be assembled by hand or purchased preassembled; the open
source IDE can be downloaded for free. The Arduino Uno is a microcontroller
board based on the ATmega328. It has 14 digital input/output pins (of which 6
can be used as PWM outputs), 6 analog inputs, a 16 MHz ceramic resonator, a
USB connection, a power jack, an ICSP header, and a reset button. It contains
everything needed to support the microcontroller; simply connect it to a
computer with a USB cable or power it with a AC-to-DC adapter or battery to
get started.

ADVANTAGES
 This adds a protection from unauthorized users.

 This system can be used as a test bed for any appliances that requires
on-off switching applications without any internet connection.

DISADVANTAGES
 It has low bandwidth as compared to Wi-Fi.
 It allows only short range communication between devices.

CHAPTER 3

SYSTEM ANALYSIS

 3.1 EXISTING SYSTEM

This system contains three hardware components smartphone, Arduino


board and Bluetooth module. Smartphone is used to communicate with Arduino
board using a smartphone application and Bluetooth technology. In this research
work Bluetooth module HC 05 and Arduino Uno are used for hardware
implementation.Bluetooth module HC-05 is used for wireless communication
between Arduino Uno and smartphone. HC-05 is a slave device and it can operates
at power 3.6 to 6 volts. It has 6 pins: State, RXD, TXD, GND, VCC and EN. For
serial communication connect TXD pin of Blue tooth module HC-06 with RX (pin
0) of Arduino Uno and RXD pin with TX (pin 1) of Arduino Uno. Connection
diagram of Adriano and Bluetooth (BT) module is illustrated.The working
principle of ultrasonic sensor is demonstrated. Ping is input ultrasonic waves which
are transmitted at the velocity of 340 mls and Echo is reflected output of sensor
which is used to determine the distance. The ultrasonic sensor HC- SR04
parameter specification with their limitations. In proposed work ultrasonic sensor
isused for the measurement of water level inside the water tank. It measure the
distance of water level from the top of water tank and gives its report on
smartphone application using Bluetooth technology.

3.1.1. DISADVANTAGE
 Replacing humans is dangerous May take time and learning
 Security concerns
 Vulnerable to attacks
 Most of the times range is restricted
 High dependency on sensor devices which makes the system vulnerable
if sensor fails

3.2 PROPOSED SYSTEM


The electronic devices turns on automatically when it sence human. The
human are detected using sensors and that signal is send to the controller. Then
check the power source ,the respective operation will hapened. They are
dependent on others which causes a lot of inconvenience to many people. With
the emergence of smart home devices and easy use of mobile devices people
can communicate and control the home appliances. But in many cases the
GUI(Graphical User Interface)of the mobile is difficult to use for the disabled
people. This system uses Augmented Reality (AR) technique for automation
which is getting increasingly popular for controlling of home appliances.Using
this technology it will greatly helpthe disabled and elderly people to control the
appliances easily. A mobile application along with ARCH Server will help the
users to control a switch by simply pointing their mobile camera to it from a
distance. Different virtual switches will appear when the camera is pointed to
different appliances, thus allowing the user to control different appliances
easily and conveniently. Instead of 2D buttons,3D switches will appear on the
screen which gives a familiar interface to the user. Voice Control technology
will also be used so that the users can control the appliances using voice
commands. A remote web browser interface will also be implemented which
will allow the users to control the appliances through Internet even if they are
not present at home.
3.2.1. ADVANTAGES
 This system doesn't requier human effort to switch on the
electronic devices.
 This system also proposes features such as voice control and
remote web control interface for controlling the appliances.

 This system will mainly help the disabled and elderly people to
control the appliances giving them a real world experience with
the help of Augmented reality.

 Cost wise it's too sufficient.


CHAPTER 4

SYSTEM REQUIREMENTS

4.1. HARDWARE REQUIREMENTS


Processor : Core i3 2.4GHz
System type : 32 bit/64 bit
RAM : 2GB

4.2 SOFTWARE REQUIEMENTS


Operating system : Windows 7/8/8.1/10
Programming language :C#
Blender
Unity

CHAPTER 5

SYSTEM DESIGN

5.1 SYSTEM ARCHITECTURE

Using an augmented reality application, a virtual image is


mounted over the live camera image of the real world. Augmented reality enhances
the experience of the user . When the user points the camera towards a switch ,a
3D image will pop up on the screen and the user can turn on or off the switch using
the AR buttons present on the screen. AR uses the concept of image tracking,
processing and communicating with backend server (ARCHServ) to control the
applications. Arch Server is a low cost and efficient linux based server . It is used
for handling all the appliances at the backend. Using an augmented reality
application, a virtual image is mounted over the live camera image of the real
world. Augmented reality enhances the experience of the user . When the user
points the camera towards a switch ,a 3D image will pop up on the screen and the
user can turn on or off the switch using the AR buttons present on the screen. AR
uses the concept of image tracking, processing and communicating with backend
server (ARCHServ) to control the applications. Arch Server is a low cost and
efficient linux based server . It is used for handling all the appliances at the
backend.

Fig 5.1 Block diagram


CHAPTER 7

CONCLUSION AND FUTURE


ENHANCEMENT

7.1 CONCLUSION

Augmented reality as suggested by the survey results proved to be the most


user friendly method for automation. The system is mainly designed for
specially challenged and elderly people. (User friendly interface). It is also
helpful for the less educated cluster of people as the interface is very user
friendly. The technique can be used in our day to day life to control and
monitor our electric power consumption as well as to avoid any hazardous
situation. Can be used in industrial maintenance and to aid patients in
hospitals. Considering all aspects an ideal system should be available to the
user from anywhere and in real time and our proposed model is the eligible
candidate for the same.Augmented reality when introduced in other smart
devices like google glass, smart watchetc will not only increasethe market
of these products but also evelop our standards. Currently In major cities
home automation is increasing rapidly but still this is less than 30% of the
total number.

7.2 FUTURE ENHANCEMENT


Augmented reality allows people to visually perceive a thing at
a position without it standing there in actuality. That's the power that
Augmented Reality (AR) holds. Thus, AR allows people to put 3D
models of furnishings in a live environment to experience what the
bedroom will seem like furnished.Future scope for the home automation
systems involves making homes even smarter. Homes can be interfaced
with sensors including motion sensors, light sensors and temperature
sensors and provide automated toggling of devices based on conditions.
APPENDICES

 SOURCE CODE
{
"dependencies": {
"com.unity.collab-proxy": "1.17.6",
"com.unity.feature.development": "1.0.1",
"com.unity.ide.rider": "3.0.15",
"com.unity.ide.visualstudio": "2.0.16",
"com.unity.ide.vscode": "1.2.5",
"com.unity.test-framework": "1.1.31",
"com.unity.textmeshpro": "3.0.6",
"com.unity.timeline": "1.6.4",
"com.unity.ugui": "1.0.0",
"com.unity.visualscripting": "1.7.8",
"com.unity.xr.management": "4.2.1",
"com.unity.xr.oculus": "3.2.1",
"com.unity.modules.ai": "1.0.0",
"com.unity.modules.androidjni": "1.0.0",
"com.unity.modules.animation": "1.0.0",
"com.unity.modules.assetbundle": "1.0.0",
"com.unity.modules.audio": "1.0.0",
"com.unity.modules.cloth": "1.0.0",
"com.unity.modules.director": "1.0.0",
"com.unity.modules.imageconversion": "1.0.0",
"com.unity.modules.imgui": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0",
"com.unity.modules.particlesystem": "1.0.0",
"com.unity.modules.physics": "1.0.0",
"com.unity.modules.physics2d": "1.0.0",
"com.unity.modules.screencapture": "1.0.0",
"com.unity.modules.terrain": "1.0.0",
"com.unity.modules.terrainphysics": "1.0.0",
"com.unity.modules.tilemap": "1.0.0",
"com.unity.modules.ui": "1.0.0",
"com.unity.modules.uielements": "1.0.0",
"com.unity.modules.umbra": "1.0.0",
"com.unity.modules.unityanalytics": "1.0.0",
"com.unity.modules.unitywebrequest": "1.0.0",
"com.unity.modules.unitywebrequestassetbundle": "1.0.0",
"com.unity.modules.unitywebrequestaudio": "1.0.0",
"com.unity.modules.unitywebrequesttexture": "1.0.0",
"com.unity.modules.unitywebrequestwww": "1.0.0",
"com.unity.modules.vehicles": "1.0.0",
"com.unity.modules.video": "1.0.0",
"com.unity.modules.vr": "1.0.0",
"com.unity.modules.wind": "1.0.0",
"com.unity.modules.xr": "1.0.0"
}
}

{
"dependencies": {
"com.unity.collab-proxy": {
"version": "1.17.6",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.services.core": "1.0.1"
},
"url": "https://packages.unity.com"
},
"com.unity.editorcoroutines": {
"version": "1.0.0",
"depth": 1,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.ext.nunit": {
"version": "1.0.6",
"depth": 1,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.feature.development": {
"version": "1.0.1",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.ide.visualstudio": "2.0.16",
"com.unity.ide.rider": "3.0.15",
"com.unity.ide.vscode": "1.2.5",
"com.unity.editorcoroutines": "1.0.0",
"com.unity.performance.profile-analyzer": "1.1.1",
"com.unity.test-framework": "1.1.31",
"com.unity.testtools.codecoverage": "1.0.1"
}
},
"com.unity.ide.rider": {
"version": "3.0.15",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.ext.nunit": "1.0.6"
},
"url": "https://packages.unity.com"
},
"com.unity.ide.visualstudio": {
"version": "2.0.16",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.test-framework": "1.1.9"
},
"url": "https://packages.unity.com"
},
"com.unity.ide.vscode": {
"version": "1.2.5",
"depth": 0,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.nuget.newtonsoft-json": {
"version": "3.0.2",
"depth": 2,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.performance.profile-analyzer": {
"version": "1.1.1",
"depth": 1,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.services.core": {
"version": "1.5.2",
"depth": 1,
"source": "registry",
"dependencies": {
"com.unity.modules.unitywebrequest": "1.0.0",
"com.unity.nuget.newtonsoft-json": "3.0.2",
"com.unity.modules.androidjni": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.settings-manager": {
"version": "1.0.3",
"depth": 2,
"source": "registry",
"dependencies": {},
"url": "https://packages.unity.com"
},
"com.unity.subsystemregistration": {
"version": "1.1.0",
"depth": 1,
"source": "registry",
"dependencies": {
"com.unity.modules.subsystems": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.test-framework": {
"version": "1.1.31",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.ext.nunit": "1.0.6",
"com.unity.modules.imgui": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.testtools.codecoverage": {
"version": "1.0.1",
"depth": 1,
"source": "registry",
"dependencies": {
"com.unity.test-framework": "1.0.16",
"com.unity.settings-manager": "1.0.1"
},
"url": "https://packages.unity.com"
},
"com.unity.textmeshpro": {
"version": "3.0.6",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.ugui": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.timeline": {
"version": "1.6.4",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.modules.director": "1.0.0",
"com.unity.modules.animation": "1.0.0",
"com.unity.modules.audio": "1.0.0",
"com.unity.modules.particlesystem": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.ugui": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.ui": "1.0.0",
"com.unity.modules.imgui": "1.0.0"
}
},
"com.unity.visualscripting": {
"version": "1.7.8",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.ugui": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.xr.legacyinputhelpers": {
"version": "2.1.10",
"depth": 1,
"source": "registry",
"dependencies": {
"com.unity.modules.vr": "1.0.0",
"com.unity.modules.xr": "1.0.0"
},
"url": "https://packages.unity.com"
},
"com.unity.xr.management": {
"version": "4.2.1",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.modules.subsystems": "1.0.0",
"com.unity.modules.vr": "1.0.0",
"com.unity.modules.xr": "1.0.0",
"com.unity.xr.legacyinputhelpers": "2.1.7",
"com.unity.subsystemregistration": "1.0.6"
},
"url": "https://packages.unity.com"
},
"com.unity.xr.oculus": {
"version": "3.2.1",
"depth": 0,
"source": "registry",
"dependencies": {
"com.unity.xr.management": "4.2.0"
},
"url": "https://packages.unity.com"
},
"com.unity.modules.ai": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.androidjni": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.animation": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.assetbundle": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.audio": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.cloth": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.physics": "1.0.0"
}
},
"com.unity.modules.director": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.audio": "1.0.0",
"com.unity.modules.animation": "1.0.0"
}
},
"com.unity.modules.imageconversion": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.imgui": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.jsonserialize": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.particlesystem": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.physics": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.physics2d": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.screencapture": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.imageconversion": "1.0.0"
}
},
"com.unity.modules.subsystems": {
"version": "1.0.0",
"depth": 1,
"source": "builtin",
"dependencies": {
"com.unity.modules.jsonserialize": "1.0.0"
}
},
"com.unity.modules.terrain": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.terrainphysics": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.physics": "1.0.0",
"com.unity.modules.terrain": "1.0.0"
}
},
"com.unity.modules.tilemap": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.physics2d": "1.0.0"
}
},
"com.unity.modules.ui": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.uielements": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.ui": "1.0.0",
"com.unity.modules.imgui": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0",
"com.unity.modules.uielementsnative": "1.0.0"
}
},
"com.unity.modules.uielementsnative": {
"version": "1.0.0",
"depth": 1,
"source": "builtin",
"dependencies": {
"com.unity.modules.ui": "1.0.0",
"com.unity.modules.imgui": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0"
}
},
"com.unity.modules.umbra": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.unityanalytics": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.unitywebrequest": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0"
}
},
"com.unity.modules.unitywebrequest": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.unitywebrequestassetbundle": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.assetbundle": "1.0.0",
"com.unity.modules.unitywebrequest": "1.0.0"
}
},
"com.unity.modules.unitywebrequestaudio": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.unitywebrequest": "1.0.0",
"com.unity.modules.audio": "1.0.0"
}
},
"com.unity.modules.unitywebrequesttexture": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.unitywebrequest": "1.0.0",
"com.unity.modules.imageconversion": "1.0.0"
}
},
"com.unity.modules.unitywebrequestwww": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.unitywebrequest": "1.0.0",
"com.unity.modules.unitywebrequestassetbundle": "1.0.0",
"com.unity.modules.unitywebrequestaudio": "1.0.0",
"com.unity.modules.audio": "1.0.0",
"com.unity.modules.assetbundle": "1.0.0",
"com.unity.modules.imageconversion": "1.0.0"
}
},
"com.unity.modules.vehicles": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.physics": "1.0.0"
}
},
"com.unity.modules.video": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.audio": "1.0.0",
"com.unity.modules.ui": "1.0.0",
"com.unity.modules.unitywebrequest": "1.0.0"
}
},
"com.unity.modules.vr": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.jsonserialize": "1.0.0",
"com.unity.modules.physics": "1.0.0",
"com.unity.modules.xr": "1.0.0"
}
},
"com.unity.modules.wind": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {}
},
"com.unity.modules.xr": {
"version": "1.0.0",
"depth": 0,
"source": "builtin",
"dependencies": {
"com.unity.modules.physics": "1.0.0",
"com.unity.modules.jsonserialize": "1.0.0",
"com.unity.modules.subsystems": "1.0.0"
}
}
}
}

A SCREENSHOTS

REFERENCES
 Evil Genius, McGraw-Hill/TAB Electronics. "Raspberry Pi Projects for the
Evil Genius", 1'1 Edition, 2014.
 2014, Autodesk, Inc, Web Control of Raspberry Pi GPIO, accessed on 22
Jan 2015. http://www.instructables.comlid/WebControl-of-Raspberry-Pi-
GPIOI
 Kimmo Karvinen & Tero Karvinen, Make: Getting Started with Sensors,
Measure the world with Electronics, Arduino and Raspberry Pi, 1 st Edition,
2014
 Michal Varchola, Milos Drutarovsky, “Zigbee based home automation
wireless sensor network” IEEE PERCOM Workshops, pp. 141-146, 2011.
 Leroy Zi Wei Tang, Kian Sin Ang, Mohamad Amirul Maricar Bin Mohamed
Yusoff, “Augmented Reality Control Home (ARCH) for Disabled and
Elderlies”2015 IEEE Tenth International Conference on Intelligent Sensors,
Sensor Networks and Information Processing (ISSNIP)
 K. Bromley, M. Perry, and G. Webb. "Trends in Smart Home
Systems,Connectivity and Services", www.nextwave.org.uk, 2003.
 2015 Wikitude GmbH, Wikitude AR project, accessed 22 Jan 2015.
http://www.wikitude.com/app
 J. Dizdarevi´c, F. Carpio, A. Jukan, X. Masip-Bruin, A survey of commu-
nication protocols for internet of things and related challenges of fog and
cloud computing integration, ACM Computing Surveys (CSUR) 51 (6)
(2019) 1–29.
 J. Gubbi, R. Buyya, S. Marusic, M. Palaniswami, Internet of things (iot): A
vision, architectural elements, and future directions, Future generation
computer systems 29 (7) (2013) 1645–1660.
 P. Ferrara, A. K. Mandal, A. Cortesi, F. Spoto, Cross-programming lan-
guage taint analysis for the iot ecosystem, Electronic Communications ofthe
EASST 77 (2019).

You might also like