ThesisPDF Available

VOICE CONTROLLED HOME AUTOMATION

Authors:

Abstract and Figures

Voice Controlled Wireless Home Automation Based on internet/ Bluetooth/ wi-fi is a project that is integrated system with mobile phone (application) to give the facility to the elderly and the disable people, so that they can easily control home utilities fully Based on their phone through voice command. The device is built in such a way that it will be easy to carry, install, configure, run and maintain for the non-technical person. Home automation involves introducing to connect the certain electrical devices that are used in a home.
Content may be subject to copyright.
VOICE CONTROLLED
HOME AUTOMATION
Voice Activated Arduino (Bluetooth + Android)
ABSTRACT
Voice Controlled Wireless Home
Automation Based on internet/ Bluetooth/
wi-fi is a project that is integrated system
with mobile phone (application) to give
the facility to the elderly and the disable
people, so that they can easily control
home utilities fully Based on their phone
through voice command. The device is
built in such a way that it will be easy to
carry, install, configure, run and maintain
for the non-technical person. Home
automation involves introducing to
connect the certain electrical devices that
are used in a home.
REJWAN BIN SULAIMAN
S13004831
BSc (Hons) in Applied Computing
Glyndwr University, London
January,2018
This project is submitted in Fulfilment of the requirements For the Award of BSc (Hons) in
applied Computing Undertaken Within the Department Of computing, Applied Science,
Computing and Engineering.
1 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Dedication
I would like to dedicate this project to my Late Grandfather M.Ibrahim Ali, to my
father MD SULAIMAN Bin Ibrahim Ali and My Mom Nasima Akhter. My father
who is a guiding star for me. Without his spiritual and mental support, this
wouldn’t have been done, and he really deserves this credit.
2 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Acknowledgement
The credit for the accomplishment of my Project goes to all the people
including my friends, family. lecturers and supervisor. Objectives that I have
achieved was only possible by the instruction and counselling from others.
Firstly, I want to respect and say thanks to my supervisor Md. Sadeque Imam
Shaikh who has shown a deep interest to help me all way long for the
completion of my project, otherwise this wouldn’t have happened. Same credit
goes to another teacher Geof Branch who was really keen on guiding me by
carefully considering the theoretical aspect of my project.
Special thanks to all my university friends and other seniors who always
encourage me to do the best of my ability. Thanks to all another member of
Glyndwr family who was involved with me through the course of this time.
I would be ungrateful if I don’t thank my parents, siblings and wife for their
emotional support and motivation through this hard time which I have
encountered during this project. I would not forget to remember my father Md.
SULAIMAN who sacrificed to take me to this level, his incredible instruction
and guidance have allowed me to accomplish my goal. I am blessed with
everyone’s support and encouragement and I will take this opportunity to
make it as enlightenment for the future work and my career.
3 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Disclaimer
I certify that this dissertation is my own original work, this concept has never
been published before and all I used other references as mentioned in the
literature review.
Signature
22/01/201
4 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Table of Contents
Dedication ............................................................................................................................. 1
Acknowledgement ................................................................................................................ 2
Disclaimer ............................................................................................................................. 3
Table of Contents ................................................................................................................. 4
Introduction ........................................................................................................................... 7
Project Background ..................................................................................................... 7
Context ........................................................................................................................ 8
Rationale of the Project ............................................................................................... 8
Challenges in the home automation ............................................................................ 9
Aims and Objectives ................................................................................................. 10
Literature Review ................................................................................................................ 11
Wi-fi based using Arduino Uno .................................................................................. 14
Email based by using raspberry pie .......................................................................... 14
Cloud-based by using Zig Bee Microcontroller .......................................................... 14
Smart Task Scheduling by using Arduino ................................................................. 15
Wireless Sensors by using mobile technology .......................................................... 15
Android-based by using Arduino Mega 2560 ............................................................ 15
Konnex-Bus based by using Raspberry Pi ................................................................ 16
User authentication by using DTMF .......................................................................... 16
GSM technology using PIC microcontrollers ............................................................. 16
Recent technologies with better feature.............................................................................. 17
Research Methodology ....................................................................................................... 17
Development Methodology ....................................................................................... 18
Data Collection Methodology .................................................................................... 19
Software Methodology .............................................................................................. 21
Hardware Methodology ............................................................................................. 21
System development .......................................................................................................... 22
Phase one: software development ............................................................................ 22
Phase two: Testing the hardware with Arduino UNO and Debugging. ...................... 23
Phase three: Implementing the Hardware with home Utilities. .................................. 23
5 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Phase four: Software testing with coordination of hardware. .................................... 24
Phase five: Data analysis. ......................................................................................... 24
System Development Lifecycle ................................................................................. 24
System Analysis ................................................................................................................. 25
Hardware requirements ............................................................................................. 26
Software Requirements ............................................................................................. 31
Functional Requirements .......................................................................................... 33
Non-Functional Requirements .................................................................................. 33
Limitations ................................................................................................................. 34
Range: ...................................................................................................................... 34
Power Supply ............................................................................................................ 34
Voice ......................................................................................................................... 34
Expertise ................................................................................................................... 34
Feasibility Study ........................................................................................................ 34
Economic feasibility................................................................................................... 34
Technical feasibility ................................................................................................... 35
Market feasibility ....................................................................................................... 35
Analysing Cost Benefits ...................................................................................................... 35
System Design ................................................................................................................... 36
Prototype ................................................................................................................... 36
Use case Diagram..................................................................................................... 37
Sequence Diagram ................................................................................................... 37
Activity Diagram ........................................................................................................ 38
Data Flow Diagram ................................................................................................... 39
Block Diagram ........................................................................................................... 41
Circuit Diagram ......................................................................................................... 41
Circuit Design ............................................................................................................ 42
Gantt Chart ............................................................................................................... 43
Algorithm Diagram .................................................................................................... 44
Front End Design ...................................................................................................... 45
Back End Design....................................................................................................... 46
Testing ................................................................................................................................ 46
6 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
White box testing....................................................................................................... 46
Black Box Testing: .................................................................................................... 51
Functionality testing .................................................................................................. 57
Implementation ................................................................................................................... 58
Stage one: Components Needed .............................................................................. 58
Stage Two: Functionality ........................................................................................... 59
Stage three: Wiring and Circuited ............................................................................. 59
Stage Four: Application ............................................................................................. 60
Stage Five: Assembling Arduino and home utilities .................................................. 61
Stage Six: External Power ........................................................................................ 61
Stage Seven: Code Description ................................................................................ 61
Stage Eight: Testing .................................................................................................. 65
Stage Nine: Limitations ............................................................................................. 66
Stage Ten: Finalizing ................................................................................................ 66
Maintenance: ...................................................................................................................... 66
Critical Evaluation ............................................................................................................... 66
Critical Evaluation of Product .................................................................................... 67
Critical Evaluation of the Process ............................................................................. 67
Conclusion .......................................................................................................................... 68
Appendix ............................................................................................................................. 68
Appendix (I) ............................................................................................................... 69
Appendix (II) .............................................................................................................. 69
Appendix (III) ............................................................................................................. 69
Appendix (IV) ............................................................................................................ 69
Appendix (V) ............................................................................................................. 69
Appendix (VI) ............................................................................................................ 69
Appendix (VII) ........................................................................................................... 69
References ......................................................................................................................... 70
7 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Introduction
The 21st century which is the era of fastest period of evolution in the information technology.
Every single day the concept behind the scene is getting more and more complex to provide
the humanity with the best level of comfort. And whenever the thinking goes to think of the
most prominent technology which has completely altered the people way of interaction with
the normal World, then in that stage the clear concept of IoT (Internet of Things) pops up in
mind.
Figure 1
IoT is one of the emerging technology which has an astonishing impact on the daily life
routine, whenever we come across dealing with the objects that are around us. The Internet
is one of the major media that is responsible for the World to be connected to a global village,
probably more than that. Well if Internet can be responsible for connecting the people
together, then what if we carefully use the same technology in a much logical format to
connect it to the objects that are around us? Is that logical and possible? [1]
The answer to this question is totally positive, it is possible. And even if we analyse this
concept, there are a certain number of examples and experiments and even the
implementations that lead to the very successful results. Indeed, it’s a great leap forward for
the human welfare in terms of their interaction to the objects that are around.
Project Background
After carefully analysing different ideas for the project proposal, I came across with one of
the interesting and indeed the most emerging idea that would really cause a huge impact on
8 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
the people interact with the objects. It took me a while to go through various literature reviews
and methodologies to bring up with something that could be much more efficient and of
course sustainable.
So, to accomplish my motivation I came up with the project proposal based on IoT, in which
I have used ‘Android Based Voice Controlled Home Automation’, in other words, this is
a practise-based project in which I am coming up with the physical object. This IoT technology
will result in controlling home utilities with the voice command produced by the user on its
Android phone which will contain that software application.
Here another point of interest to be noted is that is my firm interest in working for the people
with the special needs (disabilities). My project implementation could cause a big change in
the way of using facilities, which normally would have been difficult or maybe impossible at a
certain level. The ease of using facility is now just waiting for the voice order to perform the
action. [1]
Context
By performing hours of research work, we came up with the most valid and implementable
solution for using the voice technology to control the home utilities. In terms of the
implementation point of view, it is totally being justified by connecting the various objects to
the internet and after that, the functionality of the object could be controlled by the software
which in return is responsible to take the voice input and generating the response.
Past performance and the analysis of their result is the key feature to bring something
innovative to the society. Even current research work will lead to the better additions of ideas
in the future which will be based on the past experiments. But our idea for the Android-based
voice recognition software can get good remarks based on the past experiments of controlling
utilities thorough gestures. But indeed, our concept of using the voice adds the huge value to
it, which is a propagation of research in a more desirable way.
The process of designing that kind of software can be clearly justified by the academic
evidence and supportive literature. IoT is the technology which is predicting to be the most
evolving in the near future. The research and the implementation of IoT are growing up at a
faster pace and more justification with the facts are getting clear. [2]
Rationale of the Project
Any project or idea that is proposed is always intended to make the life more comfortable and
relax. The basic ideology behind my project is to make the people more comfortable while
they are at home and use basic facilities i.e. light and fan. Instead of going around and finding
the power source to use utilities, this project will make them calm staying at the same place
and use the smartphone to give the voice order, which will be ultimately processed, and the
action will be performed.
The same concept goes for the people with little mobility or maybe with no mobility, all they
need to have an android phone with the application installed, give a recognised voice
9 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
command and rest of the process will be taken care by the IoT technology. Even if this
concept is implemented on a larger scale, the hospitals can be truly modified for the patients
where they would be able to control the things around in the room just with the voice
commands, and that voice will be going to cause the action of their requirement.
One of the major reason for choosing the android phone instead of iPhone for our project is
the difference in the number of people which are mostly using these smartphones. According
to the report, there are a number of people in the World that are using Android than iPhone.
The evidence can be clearly being illustrated by several reports and journals. Not only that
even the number of Android users are predicting to increase in the future. So, while
considering all these facts and numbers we have decided to design this application on the
android phone at the moment.
Figure 2: Android Vs IOs
So, therefore this concept will be going to have a great evolution and will solve many
problems for the special people when they alone at any time. Humanity is trying to achieve a
target where everyone lives the life in the way they want and certainly, IoT is going
furthermore than expectations in the way its emerging and soon implementation of this
technology will lead us to the most comfort zone of life. [2]
Challenges in the home automation
If we look around the literature review of various IoT technologies, it will be clearly concluded
that there is no doubt the way IoT has changed the way of people behaviour towards the
10 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
things they normally encounter in their daily life. As long as we are going further, things
around us getting more easy and convenient to interact and use them. But as the World is
going into the much better time since history, there are also several difficulties and challenges
that are coming up on the way.
One of the major challenges that have been faced by the home automation is its cost.
Although home automation gives the best ultimate user experience, sometimes affordability
factor come up in the middle. The cost of home automation arises from the several levels
starting from the manufacturing cost, second major is the cost that is involved in the
development process of the system. Later installation cost and further support and service
could come up with the requirement of big budget to maintain the affordability.
Lack of required standards is also being one of the challenges that come on the way. As IoT
is one of the emerging technology, so while implementing it on the commercial basis user
unfamiliarity with the interface is also great difficulty. Lack of awareness and lack of motivation
needs to be updated to tackle these problems. [3]
Aims and Objectives
The success of any project depends on the ultimate reason for which it has been proposed.
There must have some number of aims that could result in the motivation process of
designing the project. Aims are certain number requirements which support the project. And
firm objectives always give backing to the aims and open the future doors for the better
innovation of the proposed idea.
Android-based application for controlling the home utilities has certainly an incredible effect
on the society, where it can also cause the elimination of discrimination towards the daily life
objects when all people will get the same ease of managing utilities.
The major aim of this project is to provide a platform which has never existed before. The
application software will work along with the google voice recognition services, where it will
get the voice command and it will be converted into text format so that it could be
understandable in a logical way and that command will be transferred to Arduino Uno device
via Bluetooth or Wi-Fi, and at that point the command will be executed to complete the task,
ultimately the action will be performed in the way device is pre-programmed.
If we put the things in more short and logical form, following are some of the major aims and
objectives of our project.
This project is designed to use the voice recognition technology to control home
utilities i.e. light and fan
Its implementation especially focuses on the needs of disabled people.
Google voice recognition facility will be utilised to input voice.
Android phone will be used for the application software which will be connected to the
google voice command input.
Application software will be responsible for converting the voice command into the text
format.
11 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Ultimately application software will transfer that command in the text format to the
Arduino Uno using Bluetooth or Wi-Fi module
This microcontroller (Arduino Uno) is intelligent enough to convert the text command
executable according to the programming that is involved as per requirement.
And after execution, the action will be performed
Commands which we have included are lights on/off, fan on/off, tv on/off and all on/off
Major home utilities for our project are light, fan and TV. Each of them follows the
certain command that is programmed.
The aim is to use this IoT technology for the people of all ages, gender and even with
some disability to enjoy the life in a more pleasant way.
Now we are getting up to turn our home appliance on or off. If we are making the home
controlling system, more easy and reliable to the user like disable people then they
will be benefited from our system. It will become the best system for the disabled
people and for the elderly people to use their mobile phone and control the home
utilities. The goal of this system is to help disable and elderly people.
Better aims and objectives come into consideration when the project is supported by the good
literature review, methodology and other things that can cause a satisfactory improvement.
And accordance with the previous experiments and research work, the better product could
be possibly expected. Objectives of this project can rather be put in the more fashionable
format in the future based on our current research work and designing an ultimate product.[3]
Literature Review
It is one of the major requirement of any project which brings out the logical context of the
work that is been done. In other words, it is the reflection of work and the methodology
that has been adopted previously and what are the different flaws and drawbacks which
requires improvement on a conceptual basis. It also focuses on all the related available
technologies that are been used for the home automation system. Depth analysis, a
logical conclusion with the judgemental solution all are an integral part of the literature
review.
12 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Figure 3: Popularity of the mobile from the history
‘Automation’ is basically a word that involves the use of machine rather than the human
physical effort to manually perform the task. In other words, this technique is being
proposed for the benefit of the mankind and its trend is growing up in exponential rate day
by day, as this system has brought a great change in the individual routine life and also
several benefits in businesses. Scientists and the researchers are still working hard to
make this more beneficial, efficient and secure for everyone, most important ecological
and economical at every level.[3]
There are certain projects in home automation that are using the Wi-fi technology for its
operation. While considering the Wi-fi system, the infrastructure is usually divided into
three major components.
Web-based server
Interface module
Wi-fi connection
This system is quite flexible in terms of user interface, as all it requires is to log in to the web
server using the interface module i-e Arduino Uno provided with the Wi-fi connection. And all
the result is the functionality of sensors and the actuators which acts suddenly in response
to the information processed by the web-based server. The user can remotely login without
any geographical restrictions.
This login system was developed on the Android-based system, in the form of an application.
And the home appliance that has been used for this project is the window shutter. Interfacing
13 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
is done by the user (remotely), web server, raspberry pie, and these are interfering with the
home appliance while in that case is the shutter of the windows. Interface card act as the
central point to ensure the connection between the command that is followed by a remote
user to the raspberry pie, and from there to the actuator sensor. The Android-based
application gives a direct response to the raspberry pie in accordance with the per-user input.
Another major work that is been done on home automation is the use of cloud as the medium
for controlling and monitoring appliances. This cloud-based system gives the remote user to
easily alter and monitor the appliances. The idea behind is to take all the data that has been
allocated to be monitored and controlled, and the collected data is referred to the data server
which is cloud-based. And after collection of data, it is stored into Hadoop distributed file
system (HDFS). To process this data MapReduce uses the special framework of the data
that is received from HDFS and later take it back to the HDFS for storage. And finally, it
provides a remote access to the user to carry out the monitoring and controlling of the data
received. [4]
For the implementation of this idea, Raspberry Pi has been used where it was subjected to
work whenever it receives the E-mail subject and also the algorithm. The reason behind to
use Raspberry Pi is its several advantages over the others. Firstly, it is quite power device
which gives the best platform while working with the home automation. Another major positive
impact of the raspberry pie is its economical basis, where it consumes less amount of energy
and provides an efficient user-friendly experience.
GSM (global system mobile communication) technology-based project has been done on the
home automation appliances. And for that purpose, Arduino board has been used to control
these appliances. This project is based on the mobile applications which have an ability to
generates messages alerts according to the user commands. After these commands are sent
to the GSM modem which is connected to the Arduino and these commands generate effects
on the appliance accordance with the user commands. There are several flaws in this project
which causes poor performance in the system efficiency. GSM technology is quite expensive
to use, where it causes charges per SMS, so here affordably comes into consideration.
Secondly, SMS reliability is also one of the issues on which the whole system is mostly
dependent. Customisation of an interface according to the devices is also not applicable. [5]
If we analyse the structure of this system, it has been developed in a quite straightforward
fashion. As usual, Bluetooth board has been placed on the Arduino board and used for
controlling home automation. Python was used to give a platform for the user interface as it
is a general high-level programming. Bluetooth module has been provided with the ports of
I/O which controls its operation. Several relays have been used for the appliances interfacing,
which was an integral part of the system to work simultaneously. To provide a secure system,
Bluetooth module has been introduced with the password authentication. So, if anyone desire
to access the system controlling and monitoring must go through the password checks.
Secondly, the range of the Bluetooth which has been allocated is from 10 to 100 meters. [5]
14 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Wi-fi based using Arduino Uno
This project was developed using the Wi-fi technology, and for that purpose microcontroller
which is used is Arduino Uno. This system has been implemented to control and monitor
various appliances, among them, most commonly used are monitoring temperature,
detecting fire, the door opened or closed, CCTV monitoring, the brightness of the light and
various others.
To give the user access to these monitoring and controlling strategies web-based application
was founded, which allows the user to utilise these features after following authentication
procedures. The ultimate benefit of using this system is its reduced cost, more authenticated,
good accessibility for the remote user and can be controlled from anywhere without any
geographical restrictions. [3]
Email based by using raspberry pie
This is also one of the unique way based on the Email technology. The hardware used for
this system is raspberry pie which in return is connected to the internet modem. This system
is used for switching LED, where the remote user follows up the command to the email server
which goes to the raspberry pie which is connected to the LED. This method of controlling
switching of LED is indeed a very smart method which is working based on emailing system.
It is rather more cheap, economical and very efficient. [6]
Cloud-based by using Zig Bee Microcontroller
The communication system that is used for this system is the zig bee based wireless network.
This wireless network is connected to the smart socket which is the central controlled point
of the whole system and brings the appliances together with the user interface so that all the
system could work accordingly. The user interface is provided by the application on the
android phone and on the PCs. This system is actively supports controlling and monitoring
of the entrance barrier, analysing the power consumption, along with these it also works
effectively for temperature measurement and the humidity. This system can be concluded as
the safe and convenient method. Other than that, it is quite energy efficient and economical
as well. [7]
There is one solution been concluded by Shih-Pang which is known as the smart house
monitor and manager (SHMM) which states the structure of connecting all the sensors and
actuators are linked with the wireless network of ZigBee. In other words, it involves ZigBee
as the central medium for connecting the rest of the system that is used in the IoT. Its working
involves the use of Smart socket which could be controlled and monitored remotely by the
user. All the data goes into the cloud (VM), and the data is collected by the PC host and it
also includes the motion sensing. As the application is to control and monitor the power-
saving of the house, so the user can easily tap around the android phone or PC to make any
kind of changes remotely creating a more user-friendly environment to control the IoT world
around.[7]
15 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Smart Task Scheduling by using Arduino
Smart task scheduling is one of the efficient methods for energy management and task
scheduling while keeping in consideration of the power and the cost. It is an android based
application which requires the wired X10 and the Wireless Zig bee. The central controller
which has been used for this system is the Arduino. Managing the energy and the smart task
scheduling while using this procedure brings out the energy-efficient and highly scalable
advantages.
Arduino is specialised to take the input command and perform the process of execution via
Ethernet shield it carries. Wired X10 and Zig bee both are compulsory requirements to carry
out the task. Resource-constrained-scheduling program (RCPSP) is the ultimate outcome of
the smart task scheduling just by implementing this great system. A mobile phone that is
been used by the user can communicate very easily with the central controller with the help
of USB or even it can be operated wirelessly, but the wireless technology works under the
certain degree of geographical restriction (normally just within the home). Arduino consists of
the application which is the web server application, which can communicate with the HTTP
protocol with the help of an android application that is web-based. This system gives the great
user experience in terms of its flexibility and most important that all is its expandable feature.
[8]
Wireless Sensors by using mobile technology
This type of mobile technology has been implemented to cause the monitoring of the home
conditions and consumption of power by the appliances. User interface involves the mobile
application, which gives the reading according to the type of appliances containing wireless
sensors. PCB circuits are used as the central controller of the system and bring together
cloud-based data server with the mobile application and the appliances. The ultimate positive
outcome of this system is the reduced power consumption, and cost-effectiveness also
causes a desirable way of monitoring home and power consumption of the appliances. [9]
Android-based by using Arduino Mega 2560
This is an another IoT technology which uses the android application to control and monitor
various home utilities which includes light, switch, temperature, intrusion detection system
and smoke sensor as well. Arduino Mega 2560 and the Arduino Ethernet shield has been
used for this system, which is connected to the micro web server and it takes the user
command from the android application and ultimately processed by the controller to give the
output to the appliance according to the input received. This system of controlling and
monitoring home appliance is quite feasible and effective in its way of working.
The central microcontroller is responsible for connecting the sensors and the actuators,
where it directly connects to the Android based application which is the source of the user
input for controlling and managing the appliances. This application provides the remote
access to the users to carry out any changes in the appliances from anywhere. This system
also provides siren and email notifications to the intrusion detection. [8]
16 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Konnex-Bus based by using Raspberry Pi
This system was established specifically for the light controlling and temperature recording
and monitoring. It utilises the session initiation protocol (SIP) provider to create an overall
connection to make the system work effectively. The user can interface with the system with
the help of mobile application which is available to any mobile. Microcontrollers that were
used for this system is Raspberry Pi and the Konnex bus. KNX is basically worked in a
manner such that it follows the OSI reference model for building automation. There are many
advantages of using these microcontrollers as it results in an increase in performance,
secondly, it is also more economical as it causes less energy consumption than the others.
The structure of this system follows the sequence in the way that raspberry pi act as the gate
for communication between the mobile and the KNX automation system. Another major
function of this system is that it uses the all the sensors and the actuators in the home
automation system rather than dealing with them independently. This is a more efficient
system in terms of energy consumption than the normal desktop computers. [10]
User authentication by using DTMF
User authentication is one of the great systems which is been proposed, which gives a user
authenticity and security. This system is based on the dual-tone-multi-frequency (DTMF)
which utilise the voice-frequency band among the telephones. The idea was to confirm the
authenticity of the user via a ringing line. Use interface provided for this project is computer
based. Controllers that are used for this system follows the I/O interface which are based on
the logical controllers. The main benefit of this technology is its effective security and another
important thing is that it allows international standards which follow the certain pattern by the
allocated rules that are recognized internationally.
DTMF is based on telephone lines, which comprise of three major parts, receiver, detector
and the interface, PC. The computer has an ability to detect the ring coming from the line and
verify the user. When the authentication is completed, it uses the tones of the keypad to
manage the appliances. The Tunes that are used by the DTMF is similar throughout the
globe. But here are some of the disadvantages which put the technology into the question
that due to the limitation of keys on the pad, it does not allow many appliances to work
simultaneously other than the certain restricted numbers. [11]
GSM technology using PIC microcontrollers
Communication over this system is done by the SMS procedure, where the global system of
mobile communication (GSM) has been adopted. This technology allows the user to use the
mobile phone to control the appliances. Peripheral interface controller (PIC) is been used to
give a centralised platform from user to the appliances. PIC16F887 was the specific
microcontroller that is specifically in use. It is indeed a good technology for controlling the
appliances as due to its high availability. Good coverage and the security also make this
technology highly reliable and convenient. But the major issue while using this technology is
its high cost, which is not very cost effective. [12]
17 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
AT commands are circulated through the GSM technology to manage and control the various
home appliances. This system of controlling the appliances has Broadcom BCM2835 system
strategy on the chip, and this chip consists of ARMI176JZF S, processor is of 700 MHz and
contains secure digital (SD) card along with the Video core 4 GPU. This terminology doesn’t
support any kind of 12 Mb RAM, and it does not consist of any 2 USB port and even Ethernet
port. The chip also gives the HDMI feature, without any support of VGA which is one of the
fantastic features of this technology. Raspberry Pi computers can easily and effectively work
with the Arduino. [12]
Recent technologies with better feature
Wireless technology is one of the great revolutions in the history of IoT. It has totally replaced
many old ways of user interfering. Remote controlling is now much more in use than ever
before and day by day this trend is making the wired technology outdated. Installation cost is
always being a challenge in the home automation. But since the wireless technology has
come into play, it has greatly reduced the cost of installation, as this technology doesn’t
involve any hardware network cabling.
Remote connection through the internet to control and manage the devices has resulted in
the great achievement for the user convenience. It makes the mind worth thinking how the
user is managing home automation by sitting down anywhere on the Planet provided with the
Internet connection and the mobile phone. Wireless technology is still at its beginning of its
revolution. As the time passing its awareness and the conscious is getting more popular all
over the World. New requirements and the changes one makes it more scalable and
expandable.
Another major achievement in the feature of the home automation is its security, which is still
in the progression of getting better. Security is one of the key factors which is the compulsory
requirement in the integrated system of interconnection with the IoT system of home
automation. Security also keeps the integrity of the whole system and as compared to the
past works on IoT technology we are in a much better time of promising the ultimate best
security in IoT and providing the platform where all can rely on without hesitation. [14]
Research Methodology
There are a certain number of ways which can be used to complete the project, that means
tools and techniques which are both hardware and software based. Now here comes the
important point of identifying those tools, and this is where we identify them considering
previous literature review. This not only helps to identify the correct methods, but also gives
a suitable contrast and comparison approach towards various methods that are adopted
before, and the outcome produced by them.
18 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Figure 4: Flowchart
Above flowchart shows the number of steps that are involved in our project. Basically, it is
simple methodology format that we are intended to follow, which involves not only software
development but also, it’s practical implementation with the hardware of the project. [14]
Development Methodology
For any project to be completed there are a number of methods which can be used based on
the objectives of the project. So, for software and hardware, there are certain types of
methodologies that can be taken into consideration. As we consider software development,
the following are some of the methods that are widely in use:
Waterfall Model
V-Shaped Model
Evolutionary Prototyping Model
Spiral Method (SDM)
Iterative and Incremental Method
Agile development
While considering these mentioned above, we have chosen waterfall method of system
development lifecycle, while in contrast to other methodologies, a major reason behind is as
follows:
Its awesome structural approach
All the phases are accordingly well defined and ordered
Keeps the time schedule for each phase from its starting point to the endpoint
Every step at SDLC has unique deliverables.
Another important aspect is its sequential model, where the progress is seen in the
slow and downwards flow (like the water is falling from spring.) all through to the end
of the software development. [14]
19 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Figure 5: Software Development Life Cycle
The above figure shows the waterfall method in system development lifecycle, starting from
the initial requirement analysis, designing, development, testing and maintenance. Each of
these steps is followed one after other, and new phase cannot be initiated until the last phase
is completed.
Data Collection Methodology
It is an important technique in terms of getting all the statistics which were applied before
while performing the same project or maybe a related project. As this is a product based
project, so very deep qualitative and quantitative analysis is not required, although a thorough
understanding of the different procedures are required to carry out the product based project.
As we have discussed various different controlling mechanism via android based home
automation which shows the number of procedures that are used for managing home utilities.
20 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
According to a study of go-assist.co.uk, they have taken a survey of the adult aged between
25-65 years old asking them about the smart home, whether they like it or not. More than
700 people among thousand said they would love to have a smart home.
People would like to have their home as automation considering Security, monitoring, cost
and energy, convenience, protection and felt of techie.
The above chart shows the percentage of the people
There are also a data for security of a home automation done by Greenthechmedia.com. [15]
We also have collected data from the literature review. The literature reviews has not only
given us the reason to pursue this idea in a better way, but it has also helped us to identify
the reason for utilising this Android-based technology. Previous trials and experiments are
the major sources of giving an idea for adopting the better solutions for the future trial, and
it has totally helped us to a certain level. Good understanding of the literature review has
helped us to gain our objectives quite efficiently, and certainly, it has helped to consider the
better procedure for our project
21 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Software Methodology
To accomplish the project, we had to go through various software methodologies, so that we
could the one which is best to fulfil the requirements in an efficient manner. In the market,
there are many software tools that are available, and even that could be different in its own
way according to the purpose of using. So, in our case, after careful analysis, we have chosen
MIT App INVENTOR, because of its some specific advantages. There is some other software
that we could possibly use, but we have decided to use MIT App INVENTOR as this is easy
to make an android application. There are android studio and eclipse that use java language
to make application, but our target was to achieve the project in much simpler and efficient
manner, so the other android studies are quite complicated and even some are less efficient.
Because of that, we have decided to go for the APP INVENTOR instead which is simpler and
easy to use. [16]
Hardware Methodology
If we look at the hardware methodologies, it’s been clear from our project that we have used
a microcontroller, as this is the basic thing for carrying out all the necessary compilation of
program and cause the effect on the utilities according to the input by the users. There are a
number of microcontrollers that are available in the market, like raspberry pie, Arduino Uno
etc. But according to our comfort and the efficiency that we were looking for, Arduino Uno is
the best one to be chosen for our project. Raspberry pie is quite complex, as it uses the Linux
based operating system and it uses the python language. To work on this language was
totally new to us, so we decided to rather go for the Arduino microcontroller because of its
simplicity and efficiency [17].
We are using computer hardware specification was:
Figure 6: Configuration of The Computer
22 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Operating System: Windows 10 Home 64-bit
Language: English (Regional Setting: English)
System Manufacturer: Sony Corporation
System Model: SVE1511P1EW
BIOS: InsydeH2O Version 03.71.51R0180E5
Processor: Intel(R) Core(TM) i5-2450M CPU @ 2.50GHz (4 CPUs), ~2.5GHz
Memory: 8192MB RAM
System development
In this project, we are combining two things together, hardware and software. So, according
to this, we need to be aware of each step that is required to follow. As we are coding in the
microcontroller, and for the software, we need to be aware of the developing process of the
application and of course the hardware which is linked to it. We are going to Use SDLC
(Systems development life cycle) method to demonstrate the developing steps of the
hardware and the software.
Following are some of the phases that we have followed for our project, which includes the
development of the application (software) along with the hardware development.
Phase one: software development
We are developing an application with a graphical user interface (GUI) for converting the
voice into text and sending the command over the internet / Bluetooth. This GUI will appear
for the user to perform the certain task by voice. Software development of our project is
specialised to take the input and convert to computer readable format (text), and once that is
accomplished, the voice is to be transferred over the Internet/Bluetooth, so that it could reach
to the Arduino board and the action is performed.
23 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
The software, that we are using is app inventor which is written by MIT. This is web-based
IDE that will make a code run online. It is only applicable to create Android software. We have
chosen this because we can build an application in a unique and better way secondly it is
more fun to make an application with graphical logics, methods and functions [18]. We have
described all detailed description of the coding in the Code Description section
Phase two: Testing the hardware with Arduino UNO and Debugging.
When the process of application of converting the voice into text is done, then this command
must travel to Arduino to perform an action. So, for this, we have intelligent Arduino Uno
which has the functionality of executing the command that will be received. For this, we have
done programming in the microcontroller so that it could understand the upcoming commands
and execute because the microcontroller is there to control the home utilities according to the
command received from, users mobile application. The code we have used in Arduino exactly
matches with the codes in the application, in terms of understanding each other, so that same
reference code is executed accordingly and action is performed on the home utilities.
Phase three: Implementing the Hardware with home Utilities.
This phase of development includes the use of connecting the ultimate product that is
required to be managed. Home utilities that we are intended to use for our project are lights,
fans TV etc. will be connected to the relay board. This is board is joined with the Arduino and
in return, Arduino is connected to the application that will take the input from the user. So
basically the process work from the application through input and after execution from the
24 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Arduino, action (output) will be performed by the home utilities. We have utilised all the
required relay boards for our project along with all of their corresponding connection tools.
Phase four: Software testing with coordination of hardware.
This phase of the development lifecycle of our project is crucial as it tells the working status
of the whole system. Its operation all depends on the hardware that has been used, secondly,
it also depends on the codes and software implementation that is done on the microcontroller
as well as on the mobile application. Synchronization and the operation of the whole system
justify the correctness of the system, and this can find out by doing testing and
troubleshooting. In case, if something comes across like bugs that can be detected very
easily. We are connecting our hardware with the home appliances and the just newly built
hardware and the software and testing that the whole system works well or not. We will make
sure that the system does not have any bug relating to the security issue and working
process. We have elaborately illustrated testing in other parts in this assignment.
Phase five: Data analysis.
This phase of development involves the formal completion of the product ultimately. This is
a point where the product is used on the commercial basis, means it is handed down to the
users to utilise the feature and tell us about their experience. Collecting data from the users
is important as it gives the overview of most of the people and helps us to understand if its
required to improve something in any way. In other words, all the updates, upgrade or change
is done will be based on the user requirements. This data analysis from the user makes the
system sustainable and more user-friendly by giving the end user every time better
experience as per their demand and even this data can help to improve future projects that
require the similar basis [19].
System Development Lifecycle
As we have explained earlier, to fulfil the requirement, aims and objectives of our project, we
have used SDLC topology. It goes around all the different development process which starts
with the feasibility study, analysis, design, testing and implementation and maintenance [20].
The following figure shows the simplest graphical representation of the SDLC which we have
followed:
25 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
The following figure illustrates the hardware that is involved to make the system
process from hand to hand, starting from the Android phone to the Arduino board and
ultimately to the Home Appliances. This topology is the basic backbone of our project,
while the rest of the other connections are done through the Bluetooth or the Internet
module.
Figure 7: Basic Topology
System Analysis
Analysis of the system includes a number of things, which needs to keep in consideration
while doing the project. Especially it refers to the tools and techniques that we are adopting,
26 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
and its focus on the selection which fulfils all the system requirements. These kinds of
requirements could be functional and non-functional. A software application that we are
developing has a lot to do with the type of language or program that is chosen and that must
meet with the objectives of the project so that it could work simultaneously with the hardware
tools.
Hardware requirements
If we consider the hardware requirement for our project, the following are the major hardware
tools that we are using to implement the voice-controlled home utilities via android phone.
Arduino Uno
Arduino Uno is a circuit board with ATmega328 built in it, the Arduino Uno which we are using
consists of 14 digital input/output pins (where the 6 pins can be used as PWM output pins),
6 of them are analogue, there is also USB connecting port, a power jack, and reset button.
This microcontroller is very basic and simple for the demonstration purpose. We can power
the Board by AC-to-DC adapter or battery and by USB cable through the computer. One of
the other best thing about this microcontroller is that it has CPU which comprise a significant
amount of RAM, ROM and some other components as well.
Figure 8: Arduino Board
Following chart shows the calculated hardware requirement if Arduino Uno which is required
for the operation of this project via software application:
27 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Figure 9: Arduino requirements
Other than that, we would be required to use the protoboard, which is basically a
combination of 41 pins that are used to connect the jumper with each other. And we
are considering the android phone for this project where an application will work via
Internet and Bluetooth.
Why we are using Arduino Uno?
In the market there are a lot of micro-controllers. To name some of them are:
Parallex basic stamp, Netmedia's BX-24 etc. There are some others as well but
based on their usage and functionality, specifically their features comparatively
Arduino Uno is the best microcontroller which can fulfil our purpose. Following are
some of the major functionalities of choosing this microcontroller:
Inexpensive
Cross-platform
Straightforward
Open source
28 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Bluetooth module
Another important thing to consider is the Bluetooth module (HC-06), which will be the
medium for connecting the android phone with the Arduino Uno, we refer it to the slave
module. The voltage that is required of Bluetooth module is 3.3, and the major reason
for choosing this module is its less voltage consumption, and it is also compatible for
the microcontroller to work in a very low voltage.
Figure 10: Bluetooth Module
Following table illustrates some of the major features of the Bluetooth module that we
are using for our project.
29 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Figure 11: Bluetooth module features
Resister
To create a firm and smooth operation of Arduino Uno, we have used few resisters,
it’s just for the safety of some vulnerable hardware which can be burnt because of the
high voltage, so these resisters provide a resistant to a high voltage to the sensitive
side of the hardware.
30 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Figure 12: Resister
Figure 13
14: Resister
Jumping wire
We are also required to use the jumping wires so that the internal connection between
the different components of the Arduino Uno could be established.
Figure 15: Jumpers
Relays Module
In order to control the voltage and power of the Arduino Uno, we have fitted it with the
Relays module which ultimately controls and prevents the high voltage through its
electromagnetic behaviour to detect the current.
Figure 16: Relay Board
As this project is all about controlling the home utilities via a mobile application, so the
utilities that we are considering are light bulbs and portable fans. So, for our project,
31 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
this is also one of the important requirement to justify these utilities for the practical
demonstration. Along with that, we have also included block-connectors which are
resistant to acid and flame.
Fan
We need a fan to prove that we can control fan and also other utilities through voice
Figure 17: Fan 12v
Software Requirements
If we analyse the overall system requirement of our project, it becomes clear that we
would require software development topology to make it work through
Internet/Bluetooth with the mobile application. So, for the mobile application, we are
using App Inventor.
App Inventor
We have built this application so that it can interact with the Arduino device to compile
the user input. Following image justify the front look of our app.
32 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Figure 18 : Prototype Interface Developed by App Inventor
According to the above figure, it shows clearly that we have included two buttons in
the app which are intended to work according to their functions.
1- ‘Connect’ button
As the name of button suggest that it can be used for creating a connection. So, in our
scenario connection is via Bluetooth, so when we will press ‘Connect’ button, it will
connect the mobile Bluetooth to the Bluetooth module which is connected to the
Arduino board. This is a very initial step for the user to establish a logical connection
between the two devices so that further activities could be possibly carried out
accordingly.
2- ‘Press to Speak’ button
This button basically allows our mobile app to be directly connected to the Google, so
that voice recognition through the application could be possible. As we have allocated
the Google for the recognition of voice, so for that reason, while pressing this button it
will activate the voice sensors through the mobile application and that message is
transmitted to the Google app, meanwhile the process of converting the voice into text
takes place, and after that finally it is transferred to Arduino via Bluetooth or Ethernet
module and the program compile to perform the action.
Arduino Sketch
It is basically code that is run on the Arduino board. The major purpose of this code is
to establish synchronisation between the Arduino device and the mobile application
through the Bluetooth/Ethernet/Wi-Fi port. So, to make the device intelligent, we must
33 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
follow this Arduino sketch. In our project, we have coded and compiled the C language
with IDE. So basically, in other words, IDE which we are using is the Arduino Sketch.
Functional Requirements
Different types of projects have their types of specific functional requirement, to make it works
for the required objectives. In case of our project, as we are using voice recognition for the
action to be performed via internet/ Bluetooth medium. So, for that purpose we are taking
android phone which will be composite of the application that will identify the inputs from the
users and this input will be in return sent to the google voice recognition service. To
accomplish these criteria, having the application that could be supported on the Android
phone.
To support our application on the mobile the version of Android Operating system must be
minimum of 2.6.35. So, any version of the phone below than this value will not be supported.
While opening application by the user, it will display screen showing buttons. For the first
step, the user must press ‘Connect’ button to start the connection, so this will cause a
connection between the mobile and the Arduino device. When it will have established the
connection, the user has to ‘press start’ button, this button will initiate the process of taking
the voice as an input from the user and send it to the Google voice recognition after converting
it to the text format.
Processed input will be referred to the Arduino device via Internet or Bluetooth. Once that’s
done, the next step of executing the code will be taken place. As the Arduino board is
interconnected with the other utilities, so once the execution will take place it will react
towards the connected utilities to perform actions accordingly. Thus, this is how the initial
input from the user while passing through the number of stages produces the output.
Non-Functional Requirements
As our project is the product based, so it’s important that we identify the requirements that
must be operational rather than just its working. To fulfil those requirements, we must
understand the overall background working on our product. So, in our case following are
some of the major non-functional requirements that must be taken into consideration:
As the operation of this product based on the Internet/ Bluetooth, so it's important the
application containing mobile must have internet connection/ Bluetooth function.
The system can only work once at a time, means once the input is given by the user
it will perform an action in the form of controlling home utilities. And no second input
will be identified unless the first given input is concluded.
Input validation is important, so if the user goes with such an input which is not
identifiable, it will not be processed, so it's important to give an input which is clear,
logical and smooth without disruption.
Receiving data from the mobile will cause the execution of the program at Arduino
device, if the data is not received by the device it will not respond for anything until
some connection is established and data is sent through Wi-fi or Bluetooth module.
34 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Limitations
Other requirements are to consider the limitations, which is vital for performing this all process
effectively and in a smooth manner. So, the system can be used as many as an appliance
needed until and unless it doesn’t break the rules of its restriction requirements. As this
project is based on the Internet and the Bluetooth, so for performing the task, so it is a
compulsory requirement that these facilities are openly available to be used.
Range:
The major point is worth to consider is its limitation of range. As we are relying on
these services through Wi-fi or Bluetooth module, we need to be careful about the
range of these facilities i.e. there is always a minimum range of Bluetooth module
to be connected to the mobile, so it’s important while performing task keep the
distance in mind. Because, if we are using Bluetooth, then the Bluetooth range is
only 10meter. But we can overcome that difficulty by using the internet.
Power Supply
There are also some limitations on the power supply. The system will be required
to have 24/7 power supply. In some of the third world countries it is a big challenge,
but if we implement it here in the UK, it is not a problem.
Voice
Voice will be one of the major problems for the non-American people. As I am
using Google Voice recognition software to take the voice as a command, so it
requires American accent voice. People from UK or Scotland will face some of the
difficulties in controlling it as it will not understand the voice of UK accent.
Expertise
We will need an expert to change if any change needs to be done. Like if anyone
buys our product and wants to extend the house, so he will need to expand the
system as well. This is the point they will need an expert programmer to change,
modify, edit or delete any command from the system.
Feasibility Study
It is the crucial part of the project which includes the various factors and reasons that causes
the system to be accepted by the public and other firms and corporations [21]. Following are
the main feasibility concern of our project:
Economic feasibility
35 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Affordability and long-term sustainability of our project make it more acceptable.
Looking around for cost-benefit analysis and risk assessment, we concluded that the
invested cost will bring up with a positive outcome. Shifting of the manual process of
controlling home utilities into voice-based system can totally transform the people way
of interaction. Investment and cost will definitely pay off.
Technical feasibility
The ease of using this Android-based application is a big advantage for special people.
All it uses the google voice recogniser and rest of the things take place through the
internet. So, basically all it required having the application installed and availability of
internet connection at every time. These things really make this system feasible to be
accepted and promoted.
Market feasibility
By carefully considering the advantages of this voice-based home automation system,
a deep public interest is expected over its implementation on the commercial level. Due
to its huge demand, it can capture media attention and ultimately this will lead to the
evolution of huge marketing strategy of this system. As the project really focuses on the
disable and special people, so we are considering this project quite feasible.
Analysing Cost Benefits
In this section, we will discuss the amount spent on the products and according to the cost
analysis, we believe this strategy would be affordable by the companies to implement this
technology on the commercial level. Companies could get benefit by investing this
reasonable amount. As far as our project is concerned we have invested a certain amount
on the hardware items, which are the major pillars for the operation of this Voice based
system. Following is the Breakdown of the costs that we have used for building this project:
Arduino Uno is 30 pounds
Jumper and cables are in total = 15 pounds
Wires are 6 pounds
Bluetooth module HC-06 = 25 pounds
Fan v12 = 10 pounds
Light 1.8 v = 12 (15 piece)
Battery 9v = 5 pounds
Resistor 10 piece is 5 pounds
USB cable = 5 pounds
Bread board 250 pins = 15 pounds
36 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
System Design
In this project, we are combining two things together, hardware and software. As we are
coding in the microcontroller and the software we need to be aware of the developing process
of the application and the hardware. As we have used SDLC (Systems development life
cycle) method to demonstrate the developing steps of the hardware and the software. We
have planned everything in this project in a sequence so that all the project goals are
achieved as required. So, for system design, we have used certain criteria that could combine
both software and hardware in an orderly manner. In this chapter, we will describe the tools
and skill required to develop a system with the combination of software and hardware.
To illustrate our system design we have used various diagrams, like activity diagram, use
case diagram, data flow diagram and Gant chart etc.
Prototype
The following figure shows the prototype of our project, as it clearly mentioned all the buttons
that are specified for its operation making the system friendlier for the end users. ‘Connect’
button is used to get the Android phone ready for the connection via Bluetooth or the Internet.
So, in case of Bluetooth it is connected to the Bluetooth module and on the other hand, if it
is the Wi-Fi it is connected to the Wi-fi module. Once the device is identified, ‘Press Start’
button makes the application applicable to taking the input from the users. In other words, it
starts recognising the voice, and that is the time when the user has to say according to the
requirement of the home utility status. i.e. light ON light OFF, fan on fan OFF.
Figure 19: Prototype
37 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Use case Diagram
This kind of diagram basically explains the collaboration of the user with the system. We will
discuss the system design and architecture phase with the help of Unified Modelling
Language (UML). As shown below in the figure of all the level of operation of the system from
the user interaction to the program execution. Voice in the form of ON/OFF is been identified
and converted into text and it is sent through Bluetooth/internet to Arduino Uno for the
execution of the input command on the utilities.
Figure 20: Use Case Diagram
Sequence Diagram
This kind of diagram explains, the interaction between the system and the user by sequencing
order how the relations take place between. It also turns up with the identification process of
the code [22]. In case if the code is not identified by Arduino or application, it follows the
sequence as shown below in the diagram. It also illustrates the completion of the process,
when the right command is identified by the user and it will perform an action on lights or fans
which are connected on the relay board.
38 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Figure 21: Sequence Diagram
Activity Diagram
In Unified Modelling language, activity diagram shows the workflow with the steps of activities
and actions from beginning to the end of the process in a system. According to our project,
each step across is followed by the other one, so for that, every condition is satisfied in each
step so that the next step is to peruse. Below activity diagram of our project illustrates all the
steps that are involved and the decision that is followed corresponding to the output from
each step.
39 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Figure 22: Activity Diagram
Data Flow Diagram
This kind of diagram explains the flow of the application that is to be developed. In other
words, all the information that is processed is through data flow diagram. It represents certain
kind of symbols that shows activity that is performed at each step and it justify all the steps
accordingly that are followed in a certain sequence one after the other [23]. Following is the
data flow diagram of our project and it illustrates all the information process from the
beginning to end.
40 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Figure 23: Data Flow Diagram
41 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Block Diagram
The microcontroller is the main part of the project. Here in the diagram it explains that the
voice command are taken from the microphone of the mobile or the pc and then pass to the
Arduino. After the Arduino is executing he command then it passes to the relay board to
turn the utilities on or off accordingly. Light, fan or ac are turned on/off as the relay board is
turned on or off. Arduino Uno uses C Language. The Arduino company named it to
sketch”.
Circuit Diagram
Circuit diagrams are the illustrative diagram to show the circuits that help engineers to
understand which element is connected to where and how. It is a graphical representation of
wires, cables and boards together [24]. As our project is based on the circuit, where all the
elements of the project are interconnected. Following circuit design shows the circuit diagram,
where Arduino device is connected to the circuit Board, which is further connected to the
utilities i.e. light and fan. There is also a Bluetooth module connected which is responsible
for receiving the signals from the mobile application.
42 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Figure 24: Circuit Diagram
Circuit Design
The following figure is the more detailed figure of the overall circuit of the process, that
includes all the power supply connection, its voltage and rest of the other devices information
that is attached through the wires.
43 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Figure 25: Circuit Diagram
Gantt Chart
Gant chart is used to display the tasks that are performed throughout the project according
to the target period of time. It displays all the scheduled dates for east subtask, stating the
start date and end date. In other words, it is the graphical representation of all the task with
respect to time [25]. In following Gant chart we have shown the division of the days we have
taken to do complete this project from September 2017 until January 2018. We have parted
the chart in 13 different parts from the starting to the finalizing date which actually illustrates
all the subtasks that are performed accordingly.
44 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Figure 26: Gantt Chart
Algorithm Diagram
It displays the respective stepwise algorithm of the application, which involves the complete
processing of input data from the user, and this data involves the logical sequence that must
be followed to make the program work. Following algorithm diagram of our project shows all
the steps that are involved in the complete processing of the application and it also shows
the Google voice recognition in the way it is connected to the application, and ultimately to
the end spot i.e. Arduino Uno.
45 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Figure 27: Algorithm Diagram
Front End Design
In the process whilst doing the project, we are making the software by MIT app innovator tool
to write the code. This is a great website that allows a programmer to learn and code any
software in an easy way. We are using MIT_Appinventor_Tools_2.3.0 as the compiling tool
for the coding [26].
Front-end design will be simple, the user will have the two buttons. “Connect” to connect to
the Bluetooth or the Internet and “Press start” for speaking. “Press Start” will help the user to
start speaking, and the application will then popup the googles speech recognition tool and
take voice and then convert that into text. After converting the voice into the text the Bluetooth
module from Arduino Uno will wait to receive the command as text and then execute the text
command that is sent.
We have also required using JDK, Java Development kit 8 as we are doing everything for the
Android-based developing application. As we are using java language that’s why we are
using java development kit, and we have used version 8. The major reason for choosing this
language is because Java is flexible to any operating system. We have used in computer, so
it becomes android environment. Java run environment (JRE) and the JDK comes in a bundle
and it converts the OS of computer environment into the java android developing
environment. The simulator that we have used is also dependent on the java development
kit.
46 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Back End Design
Backend there will be Arduino Uno, we are using C language to program Arduino Uno. So,
for the execution of the program, we have coded Arduino accordingly, so that it could
recognise the command received and execute it. The compiler that we have used is called
ARDUINO 2.3. We have coded the microcontroller in C language for the recognition of the
receiving command.
An Integrated Development Environment (IDE) is a software application that provides
comprehensive facilities to computer programmers for software development. An IDE
normally consists of a source code editor, build automation tools and a debugger. [27]
We have used Integrated development environment IDE version 1.8.2, it is kind of JDE, but
it is used for Arduino. We have coded in IDE 1.8.2, because it is the latest version secondly
as the Arduino is microcontroller and IDE belong from the same company, so it is much more
convenient to do coding, debugging and uploading the code.
Testing
In software development, the last and very important part is to test the software. As we
have software and the hardware, so we have to test the software and the hardware as well.
We will be conducting major testing’s in Software development.
o White box testing
o Black box testing
o Functionality testing
White box testing
White box testing for Arduino Code
As we have completed with the hardware implementation, we are ready to use the
microcontroller with the software. So, testing basically refers to the checking of the
overall system if everything is working fine. To perform testing there are a number of
software that is available to check if the application codes are running accordingly. We
have gone through the various software to check our coding, and in many cases, we
found errors, which we debug later.
47 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Figure 28: Arduino Code
While writing the code in the I got many errors but, I debug those.
48 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
When we are saying “Lights on/off” / “fan on/off” / “heater on/off” then if the voice is matching
than it goes to the next level of the code
if (voice.length() > 0) {
Serial.println(voice);
if (voice == "*lights on")
{lightson() ; }
else if (voice == "*lights off")
{lightsoff() ; }
else if (voice == "*fan on")
{fanon() ; }
else if (voice == "*fan off")
{fanoff() ; }
else if (voice == "*all on")
{allon() ; }
49 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Then the “Lights on/off” / “fan on/off” / “heater on/off” will match the pins now if the pin is
accurate then it will turn “high” or “low”
It means the pin is allowing the electric to flow the circuit, so the lights/fan/heater turn on or
off.
White box testing for Mobile application
For The purpose of the application, we are using MIT App Inventor. And here we are
using graphical interface algorithm. So, we are picking Bluetooth and calling it to
connect to the Bluetooth.
When the Bluetooth is connected it takes the text to green or if not then the text will
appear red.
50 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
We have used the app inventor GUI coding language. We have picked the Bluetooth and then
said that if the Bluetooth is connected then there will be green light popping up saying that the
Bluetooth is connected. Then the application is picking up google voice recognition and then it
takes voice and converting the voice at the same time. Then it passes the command to Arduino
Uno via Bluetooth.
Fixing the bugs For Mobile application
We encounter many bugs whilst we were doing the coding for the application. But we have
solved the problem. There were some of them just warning and some of them were serious
bugs, we fixed them in such a way that now until finishing the project our application is
working.
51 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Fixing the bugs For Arduino Code
Black Box Testing:
Black box testing for Arduino Uno
As my system is a combination of the software and the hardware so, my system cannot be
tested only by hardware. So, when we connect everything properly, we have tested then
52 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
the system is working, as my system is voice controlled we cannot show it in an image
format. but here I have tried to show that when we said, “Lights on” then the lights were
turned on. So, we can say that the application is working fine.
Black box testing for Mobile application
When we power on the system then the Arduino Uno is light on and it is ready to connect
with the Bluetooth on our mobile.
Then we launch the application that I gave the name “Voice Control” and it will ask to connect
to the Bluetooth module.
53 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Then we press "connect” and the Bluetooth comes in front
54 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Now, if the Bluetooth module is connected properly then it will stay connected
Now we press “Press to start” and it pops up the google voice recognition software and
asks to tab to speak.
55 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
56 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Now it will ask to speak so that the voice is to be converted into text
If there is no internet, then the google voice recognition does not work. It will say that there
is no internet connection. When we speak, like “lights on/off” then we can see that the
Arduino takes the command and execute it on Arduino UNO.
57 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Functionality testing
As my product is based on voice and hardware functionality, we are adding some images
that when we are saying lights on then the lights are actually turning on/off
We can also test about the fan as well. And it perfectly working. Here is the fan on turn off
mode
58 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
And now it is turned on.
Here the fan is turned on. As far as we have tested the system is working without any flaw.
Implementation
This is the phase of the lifecycle where all the components are implemented and connected
in real time scenario so that the ultimate targets and objectives are achieved accordingly.
This is the part where most of the practical approach comes in hand. All the previous
Designing, analysing and coding come to the scenario at this phase. Here we describe the
step by step different functionality we undertook to achieve the end goal in every module with
their outputs [28]. As this is the most crucial part of the project and we need to be more
conscious than any other parts, we have considered this is the main part of the project.
Understanding importance of this phase we have divided it into different steps whilst
preparing the implementation process for our voice-controlled home automation project
Stage one: Components Needed
We required different tools to assemble and different components to combine for the project.
We used the following tools and components
Connecting Wire
Jumper
Breadboard - Prototyping board
Arduino Uno
Bluetooth module -05 Bluetooth Module
Pliers
9v Battery
59 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Fan
Light
Heater (I used light as to demonstrate)
Other than these tools and components we also require some software to code and debug
the code after writing.
For coding the Arduino Uno microcontroller we used
Arduino 1.8.2 Genuine
JDK
JRE
For the purpose of coding the mobile application we used
MIT App Inventor
Stage Two: Functionality
As this is the project to make help the elderly and the less privileged people. Making the
change in their daily life. It does not require to go to the switchboard in a room to turn on/off
the lights or probably the fan. All that a person need is a mobile that is connected to the
internet and the voice.
The user turns on the mobile and brings up the application that is created and says, “Light
on” then the lights go on or maybe if he says, “lights off” then the lights goes off. This is the
way we can control the home utilities through our voice commands.
Stage three: Wiring and Circuited
We will first connect the Bluetooth module to the Arduino Uno (if we want we can use the
ethernet shield to the Arduino Uno, but for the demonstration purpose now we are using
Bluetooth module HC-06), as the Bluetooth uses the UART (universal asynchronous
receiver-transmitter) Protocol, we are using the RX and the TX pins of the microcontroller
board Arduino Uno. Usually, the Pin 2 and pin 3 are RX and TX pins respectively.
60 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
In the middle of the way it could possible that 3.3V does not work in the Arduino Uno, so
alternatively we must convert the 3.3V to the 5V, but this is exceptional chance that we are
required to do so, otherwise the system is enough to take the 3.3V.
Next thing we will do is connect the relay board to the Arduino UNO. As we are using the
relay board that is already made (relay board can be manual) with 4 channels, now it is time
to connect the inputs for every relay to the Arduino Uno. (refer to the circuit diagram).
Now, we are required connect the home utilities to the Arduino Uno. Pins that count from one
to nine are the pins where the component should be connected in each end of the utilities as
5v/12v and one end will be connected to the ground (GND) from the Arduino to the
components. The TX and RX Pins of the Bluetooth Module are connected to the RXD and
TXD pins (P3.0 and P3.1) of the microcontroller. VCC pin (Pin 40) is connected to the +5V
and GND pin (Pin 20) is connected to ground.
Note: User Should be extra careful whilst being using the AC adapter to the relay board.
Electrical elements like lamp fans are to connect to the P0.0 to P0.3 pins (if we are using 3
components) through 4 channel relay board. The relay board will use the AC loads using very
little amount of DC voltage, NPN transistors are to be used to run the relay boards (sometimes
the relay board are already built in the Arduino module itself, it varies from every Arduino
board)
Stage Four: Application
61 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
This project will help people to turn on/off the appliances remotely from far without
getting up from their seat, using a smartphone.
We can connect this functionality to internet so that anyone from far away can also
control, but this might be another challenge regarding the security issue
This project can also be used for the monitoring purpose of safety for the elderly and
disable people.
This project can be expanded further by using sensors like, safety sensors, sound
sensors etc. we also can use those sensors to control room temperatures maybe light
brightness for night and daytime.
Stage Five: Assembling Arduino and home utilities
Now we need to discuss the assembling of the Arduino Uno and the home appliances. we
used a relay board that is 12v or 5v to control the high voltage utilities. Relay board allow the
Arduino Uno to control the electric flow electrically, some says it as an electric switch, as it is
controlled electrically. We can install our Arduino Uno in the main electric switchboard in the
home and configure the Arduino accordingly.
Stage Six: External Power
We have used the 9v battery for the power supply. As this system will require having a
continuous flow of electricity we need electric supply and battery supply.
Stage Seven: Code Description
For the purpose of our system, we have to code two different things.
o Hardware- Arduino Uno
o Software Application to convert the voice to text and send through
Internet/Bluetooth
Hardware- Arduino Uno
In Arduino Uno, we have coded in C Language. C language is a very hardcore language
that is easily be coded in hardware. we have added loops that “if” our voice is not matched
to specific parameter then the hardware will ignore it and go to check for the next loop. For
the system to run efficiently we used eight loops to keep the flow of the code.
62 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Here is a part of the code that is showing the logical part of the algorithm. If the voice is “lights
on” / “Fan on”/ “heater on” then the pin 3/4/5 will be on or otherwise. I set the code in a loop
so that when the code runs through the process it looks at each and every line to match with
the string that has been passed from the mobile application through Bluetooth.
if (voice.length() > 0) {
Serial.println(voice);
if (voice == "*lights on")
{lightson() ; }
else if (voice == "*lights off")
{lightsoff() ; }
else if (voice == "*fan on")
{fanon() ; }
else if (voice == "*fan off")
{fanoff() ; }
else if (voice == "*all on")
{allon() ; }
63 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
The Arduino code basically gets the string command from the application and then if the
string is matched with the variables that are set then it executes or it turns on or turns off the
pin that is assigned in the Arduino command.
Software Application
We used MIT App Inventor For the application that we used to take usage of Google voice
recognition and then convert the voice to text and send to the Arduino Uno via Bluetooth or
internet.
Here is the logical diagram of the application in the below. This GUI web-based application
is easy to make application by puzzle type Algorithms.
First, we picked the Bluetooth software that is built in the mobile. Then we check
whether Bluetooth is on or off.
Then we set the text message to red colour if the Bluetooth is “not connected”. And if
the Bluetooth is connected then we change the text colour to Green.
After Bluetooth is set up, now we are choosing to select the googles voice recognition,
Speech Recognizer.
Then it converts the voice into text and sends the command to the Arduino to execute.
64 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
65 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Stage Eight: Testing
After designing and developing the application it is time to test whether or not the application
and the system are working well or not.
After assembling the hardware and connecting my mobile to the Arduino Uno we have tested
that the hardware is working.
After saying “fan on” the fan was operating,
thus
we can say that the system is running perfectly fine.
66 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
We will discuss the different types of testing later (Click this to go to Testing part).
Stage Nine: Limitations
As the system, we are using we need the system to be in the continuous flow of power supply
or else we will fail to gain what we are trying to achieve. This is also a problem in third world
countries like Bangladesh, Nepal or maybe some African countries. As they do not have the
continuous flow of electricity supply we probably will be lacking this advantages of using this
system.
This system can only have controlled via voice, but it would be better to add or combine the
manual system of turning lights on/off
Stage Ten: Finalizing
After finishing all the stages, we can see that the system is working properly, and everything
is fine, so we take have come to a decision that the system works perfectly fine. We also
added lights, heater and fan to see that the system is working. As we call out on the
application “Lights on/off” / “fan on/off” / “heater on/off” all these three, home appliance works.
Maintenance:
Our system is not the ultimate system that has ever built. We mentioned that our Voice
Controlled system have some limitation in certain extent. We need to keep that limitation in
mind and use the system.
If we think that we need help in regard to coding, we will need an expert to help us. The
system needs 24/7 to be powered on, so we can use some charged battery along with the
electricity supply. As this system is made for the elderly or less privileged person we can
use this system in Hospital, Old home, or anyone who want to make their life easier.
The system use microcontroller that is highly sensitive to touch of water or liquid. We need
to keep the system away from child's as well. I believe, if we use carbon box to wrap it, then
it will save the system from the fire.
The system can be improved by adding more features in the future like security features,
implementing improvement like using in autonomous car etc
Critical Evaluation
In the Critical evaluation we mention the evaluation of the product and the research work
following are:
67 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Critical Evaluation of Product
The technology of voice-controlled through a mobile application is already been implemented
in different areas but putting this on the home utilities is something which I experienced bit
interesting to work. According to my thoughts and objectives, I have worked as the efforts
required to complete the project and manage to achieve my target. Challenges and difficulties
have been on the way of my project many times, I followed all the plans strictly and remain
committed under all the hardships.
The most part of my project required analysis and deep understanding of IoT technologies,
so I been from the various literature review and a research paper to have the knowledge of
this technology. I read a good number of articles and other materials as well, but throughout
all my research process I stay committed to showing a clear reflection of all the reviews on
my project. And I believe this project will be the good literature review for the future research
work on Android-based via voice-controlled technology.
Critical Evaluation of the Process
Management of time was one of the big challenges for me, even it happened to me several
times I couldn’t complete my target task within the specified time. But this made me work
even harder on the next task so that I could compensate my time and complete all the tasks
on time. The good thing was I remain committed so that everything happens in the way as
required which specifically includes the consideration of time, cost and other requirements. I
kept myself busy throughout the whole process of completion, where at some time I had to
change the way of my work which specifically includes the theory and the practical work.
Another important key for my consideration throughout the process was the regular
discussion and the guidelines from my supervisor, I was lucky to have a clear map of all the
work which I suppose to do accordingly, and this was only possible because of clear
suggestion and recommendation from my supervisor. Decision making is also being the
essential part of my project, as sometimes I had to face the dilemma, and do personal
understanding with the deep literature review to solve the conflict. But under all
circumstances with the clear concept about the topic, I able to make it and ultimately my hard
work and focus have kept me committed to peruse my work as advised.
As this project is the product based, so by that regard the only problem which I had faced in
buying of the hardware is the time. The reason for that is, the hardware that is required is not
easily available in the local market. So, to that those I had to order online from China which
includes Bluetooth Module, Arduino device etc, this takes sometimes more time to continue
my project than allocated. But even them of these problems, I stayed focus and work harder,
so that I could able to follow all the time schedule.
This android-based voice-controlled home automation has taught me all the concept and
ideas which are certainly required for the IT practitioner to manage the projects. Taking all
the burdens, time management, management of tasks accordingly has helped me to develop
this project. As the stress was also one of the big challenges, as I was busy with the other
modules work as well, but this has given me a target and push to complete all the things with
68 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
little ups and downs in time. Ultimately, I could successfully complete everything in time by
investing my skills and efforts.
Learning and getting practical based skills was a major benefit which I have learnt. Working
with the hardware and software together with the writing was the challenging time, where
every step must be followed accordingly. From start to end, every part of the SDLC taught
me something new and certainly the ultimate experience of working product based helped
me to develop many important skills i.e. time management skills, adaptability skills,
leadership skills, decision-making skills, communication skills and most importantly the
writing of different computer language skills which I have used in making android application
and also for the Arduino Uno.
Conclusion
Controlling the home utilities via voice is just an amazing step forward towards the
development in IoT sector, as this involves totally a wireless medium to create the connection.
There are many Android-based applications which have been developed to initiate the
working on this technology which also includes voice-controlled wheelchair etc. All the
previous experiments and trials which are done before, we have utilised the same concept to
implement it in an efficient manner, so that more people can be benefited which involves just
a say of word to make the things work i.e. home utilities. Without a doubt, this technology will
bring revolution in the people’s life if that is implemented on the larger scale.
After performing deep research and study, we have introduced a platform, in which more
efforts can result in the better format in future. But according to all the existing technology,
this is something new in a number of aspects and it is worth to be accepted by a wide number
of people because of its advantages towards the elderly and special people. Controlling the
utilities like fan, light and heater in the wireless medium is absolutely an outstanding progress
in this century, vulnerabilities and security issues are still under concern to make this
technology even better than ever before.
We are looking on this technology with better focus to make the life even easier. It is the
century where everyone is focussing on bringing the comfort in the people life. This is just
one step leap towards the future goal, there are many other things which are coming ahead
with more challenges. We must make sure while introducing any project, that it keeps the
legal, ethical, social and environmental concerns to its best because these are the basic
pillars for the success of any work that is done for the people welfare.
Appendix
There are numbers of things that couldn’t be added into the project report during writing, but
for our case, we have some of the things which have played a big role for the success of
this project. Following are some of the important appendixes that are involved in our
project.
69 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
Appendix (I)
We have gathered the components for the project from different sources like, I have bought
Arduino Uno from Italy, breadboard and some stuff from Canada, and some stuff from China,
and whatever I got here in the UK we have collected those from here in stores. We had to
buy things from different countries because
Appendix (II)
We had met with our supervisor regarding our project improvement and upgrade. The
meeting held on 20 Aug 2017. My supervisor Mr Sadeque Shaikh suggested me how to
improve my product. He also helped me in project writing.
Appendix (III)
I had encountered a problem whilst I was doing my project that I couldn’t connect the
Bluetooth with the Arduino Uno, I had to meet my supervisor again to ask him how to connect
Bluetooth with the Arduino. We also had planned for the next meeting. This meeting was held
on 1st Sep 2017.
Appendix (IV)
It was the crucial point when we have done most of the work for my project, then we have
messed up with the code for the Arduino, then I tried to get help from our friends. we then
googled it and found the problem that has occurred. It happened at the very end of the project.
27th dec 2017.
Appendix (V)
1st of Jan 2018, I had done almost all the writing reports and the finalizing my project. But I
had to re-edit the report and the hardware. We also need to prepare for the final presentation
of the project and make the presentation slides.
Appendix (VI)
I had to research for the voice-controlled system that already has been done for other
projects. IEEE is the best source for this project in regards to the methodology, functionality,
and implementation.
Appendix (VII)
17th of January 2018, is the day we presented our project. Mr Jhon Warden and Mr Jhon
Devis were there to take our presentation, we have discussed and presented our project to
our guest lecturers from Wrexham Campus. Mr Jhon warden was satisfied with my project
70 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
outcome and the functionality. He also suggested me, how to improve in report writing as
well.
References
[1]
M. Field, DEC 2017. [Online]. Available:
http://www.telegraph.co.uk/technology/0/amazon-echo-google-home-best-smart-
home-devices-2018/. [Accessed 12 10 2017].
[2]
M. G. S. M. R. K. A. K. Kim Baraka, “Smart Power Management System For Home
Appliances And Wellness Based On Wireless Sensors Network And Mobile
Technology,” in XVIII AISEM Annual Conference, 2015.
[3]
K. A. H. Ahmed El Shafee, “Design and Implementation of a WiFi Based Home
Automation System,” International Journal of Computer, Electrical, Automation,
Control and Information Engineering, vol. Vol: 6, no. No: 8, 2012.
[4]
R. H. R. Bikash Agrawal, “SD-HDFS: Secure Deletion in Hadoop Distributed File
System,” in IEEE, San Francisco, CA, USA, 06 October 2016.
[5]
A. M. K. Rupam Kumar Sharma, “Android interface based GSM home security
system,” in IEEE, Ghaziabad, India, 7-8 Feb. 2014.
[6]
V. A. a. G. L. Jain Sarthak, “Raspberry Pi based Interactive Home Automation System
through E-mail.,” in Optimization and Information Technology ICROIT 2014, India,
2014.
[7]
B.-R. L. J.-L. P. a. C. J. L. Shih-Pang Tseng, “An Application of Internet of Things with
Motion Sensing on Smart House,” in IEEE, 2014.
[8]
M. G. S. M. R. K. A. K. Kim Baraka, “Low cost Arduino/Android-based Energy-Efficient
Home Automation System with Smart Task Scheduling,” in Fifth International
Conference on Computational Intelligence, Communication Systems and Networks.,
London, 2013.
[9]
M. G. S. M. R. K. A. K. Kim Baraka, “Smart Power Management System For Home
Appliances And Wellness Based On Wireless Sensors Network And Mobile
Technology,” in XVIII AISEM Annual Conference, 2015.
[10]
M. M. S. W. a. T. W. Jan Gebhardt, “Ubiquitous Smart Home Controlling Raspberry
Embedded System,” in UBICOMM: The Eighth International Conference on Mobile
Ubiquitous Computing, Systems, Services and Technologies, Excel, 2014.
[11]
A. H. a. C. I., “A remote controller for home and office appliances by telephone,” IEEE
Transactions on Consumer Electronics, vol. 44, no. 4, pp. 1291-1297, 2009.
71 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
[12]
Mahesh.N.Jivani, “GSM Based Home Automation System Using App-Inventor for
Android Mobile Phone,” International Journal of Advanced Research in Electrical,
Electronics and Instrumentation Engineering,, vol. 3, no. 9, pp. 12121-12128, 2014.
[13]
S. A. A. W. C. a. n. M. V. H. Rozita Teymourzadeh, “Smart GSM Based Home
Automation System,” in IEEE Conference on Systems, Process & Control, Kuala
Lumpur, Malaysia, 2013.
[14]
“SELECTING A DEVELOPMENT APPROACH,” March 2008. [Online]. Available:
https://www.cms.gov/Research-Statistics-Data-and-Systems/CMS-Information-
Technology/XLC/Downloads/SelectingDevelopmentApproach.pdf. [Accessed 10 12
2017].
[15]
K. TWEED, “Efficiency Along for the Ride at the 2014 Consumer Electronics Show,”
GTM, 01 2014. [Online]. Available:
https://www.greentechmedia.com/articles/read/Energy-Efficiency-Just-Along-For-the-
Ride-at-CES-2014#gs.x6eFaVo. [Accessed 15 12 2017].
[16]
“Learn to build Android apps in hours.,” MIT, 2003. [Online]. Available:
http://www.appinventor.org/. [Accessed 20 10 2017].
[17]
Jayant, “Arduino vs Raspberry Pi: Differences between the two,” circuit digest, 2018 .
[Online]. Available: https://circuitdigest.com/article/arduino-vs-raspberryp-pi-difference-
between-the-two. [Accessed 17 11 2017].
[18]
“CloudDB: Components for exploring shared data with MIT app inventor,” in 2017
IEEE Blocks and Beyond Workshop (B&B), Raleigh, 2017.
[19]
“Data Analysis,” [Online]. Available: https://research-methodology.net/research-
methods/data-analysis/. [Accessed 10 12 2017].
[20]
“The Seven Phases of the System-Development Life Cycle,” 2017. [Online]. Available:
https://www.innovativearchitects.com/KnowledgeCenter/basic-IT-systems/system-
development-life-cycle.aspx. [Accessed 16 11 2017].
[21]
Mukund, “Why a Feasibility Study is Important in Project Management,” 13 12 2017.
[Online]. Available: https://www.simplilearn.com/feasibility-study-article. [Accessed 18
10 2017].
[22]
D. Bell, “The sequence diagram,” IBM, 16 02 2004. [Online]. Available:
https://www.ibm.com/developerworks/rational/library/3101.html. [Accessed 20 11
2017].
[23]
“Data flow diagrams,” Linked in, 29 05 2010. [Online]. Available:
https://www.slideshare.net/Cazoomi/data-flow-diagrams-for-dummies. [Accessed 16
11 2017].
72 | P a g e
REJWAN BIN SULAIMAN
BSc(Hons) Applied Computing
Glyndŵr University
[24]
“Circuit Diagram,” smart draw, 2018. [Online]. Available:
https://www.smartdraw.com/circuit-diagram/. [Accessed 10 12 2017].
[25]
“What is a Gantt Chart?,” project manager, 2018. [Online]. Available:
https://www.projectmanager.com/gantt-chart. [Accessed 20 12 2017].
[26]
“Installing App Inventor 2 Setup on Windows,” MIT app inventor, 2017. [Online].
Available: http://appinventor.mit.edu/explore/ai2/windows.html. [Accessed 02 12
2017].
[27]
“WHAT IS AN INTEGRATED DEVELOPMENT ENVIRONMENT (IDE)?,”
VERACODE, 2017. [Online]. Available: https://www.veracode.com/security/integrated-
development-environments. [Accessed 20 10 2017].
[28]
K. Sheahan, “the importance of strategic implementation,” 26 09 2017. [Online].
Available: https://bizfluent.com/about-6453292-importance-strategic-
implementation.html. [Accessed 11 11 2017].
Article
Full-text available
System automation has been widely researched in the twenty-first century due to its essential role in daily life. The fundamental advantage of an automated system is its ability to reduce human stress and minimize errors. Over the past few years, there has been a swift shift from traditional switches to switches equipped with remote controls. Currently, the presence of conventional wall switches distributed around the house poses challenges in terms of use, especially for individuals who are elderly or have physical disabilities. Due to technological advancements, mobile smartphones are now affordable for all individuals. Android devices are becoming equipped with applications that aid in multiple ways. Another new technology is the Google speech recognition APIs, which enable voice-based system command and control. This study demonstrates the implementation of voice-controlled home automation using the Arduino Uno microcontroller. Users of this system will be able to exercise full authority over every domestic device through spoken commands. The control circuit consists of an Arduino Uno microcontroller that receives and interprets voice commands from an Android smartphone equipped with the corresponding application. While the Bluetooth module shares signal data after establishing a wireless link between the microcontroller and the smartphone, the relay regulates device switching.
Chapter
The implementation of a smart door for residences is discussed in this paper, which allows them to operate household devices as they leave the house. In the present days, electricity tariff is quite high. The majority of people forget to turn off their appliances, which results in higher electricity bills. In order to save electricity, it is necessary to automatically control the devices. One such technique is adopted here using smart door locking system. As residents leave the house, the devices turn off automatically while nobody is inside. As they arrive, to unlock the door, a password-entering system is introduced at the entrance. Once the door is unlocked, based on person’s status appliances are either put to off or on. Arduino Uno is incorporated to control the door operation. The operation is performed in two ways: one is manually by using a keypad, and the other is digitally using a Bluetooth module. The system depends upon the pre-decided password concept with proper security. This developed system has strict access control with security features for controlling the door. Thus, the implementation is effective in terms of security, cost and safety.KeywordsArduino UnoElectricity tariffSmart doorBluetooth moduleSecurity
Conference Paper
Full-text available
Sensitive information that is stored in Hadoop clusters can potentially be retrieved without permission or access granted. In addition, the ability to recover deleted data from Hadoop clusters represents a major security threat. Hadoop clusters are used to manage large amounts of data both within and outside of organizations. As a result, it has become important to be able to locate and remove data effectively and efficiently. In this paper, we propose Secure Delete, a holistic framework that propagates file information to the block management layer via an auxiliary communication path. The framework tracks down undeleted data blocks and modifies the normal deletion operation in the Hadoop Distributed File System (HDFS). We introduce CheckerNode, which generates a summary report from all DataNodes and compares the block information with the metadata from the NameNode. If the metadata do not contain the entries for the data blocks, unsynchronized blocks are automatically deleted. However, deleted data could still be recovered using digital forensics tools. We also describe a novel secure deletion technique in HDFS that generates a random pattern and writes multiple times to the disk location of the data block.
Conference Paper
Full-text available
Home automation is becoming more and more popular day by day due to its numerous advantages. This can be achieved by local networking or by remote control. This paper aims at designing a basic home automation application on Raspberry Pi through reading the subject of E-mail and the algorithm for the same has been developed in python environment which is the default programming environment provided by Raspberry Pi. Results show the efficient implementation of proposed algorithm for home automation. LEDs were used to indicate the switching action.
Conference Paper
Full-text available
In this paper, we make use of Home Automation techniques to design and implement a remotely controlled, energy-efficient and highly scalable Smart Home with basic features that safeguard the residents' comfort and security. Our system consists of a house network (sensors and appliance actuators to respectively get information from and control the house environment). As a central controller, we used an Arduino microcontroller that communicates with an Android application, our user interface. Our house network brings together both wireless Zigbee and wired X10 technologies, thus making it a cost-efficient hybrid system. Events can be programmed to be triggered under specific conditions, and this can have a great role in reducing the total energy consumed by some appliances. On the other hand, the system can suggest smart task scheduling. The scheduling algorithm we present is a heuristic for the Resource-constrained-scheduling problem (RCPSP) with hybrid objective function merging both resource-leveling and weighted completion time considerations.
Conference Paper
Full-text available
This research work investigates the potential of ‘Full Home Control’, which is the aim of the Home Automation Systems in near future. The analysis and implementation of the home automation technology using Global System for Mobile Communication (GSM) modem to control home appliances such as light, conditional system, and security system via Short Message Service (SMS) text messages is presented in this paper. The proposed research work is focused on functionality of the GSM protocol, which allows the user to control the target system away from residential using the frequency bandwidths. The concept of serial communication and AT-commands has been applied towards development of the smart GSM-based home automation system. Home owners will be able to receive feedback status of any home appliances under control whether switched on or off remotely from their mobile phones. PIC16F887 microcontroller with the integration of GSM provides the smart automated house system with the desired baud rate of 9600 bps. The proposed prototype of GSM based home automation system was implemented and tested with maximum of four loads and shows the accuracy of ≥98%.
Article
This paper describes an approach to use the embedded system Raspberry Pi to serve as a communication gateway between mobile devices and Konnex-Bus (KNX) home automation systems. The Session Initiation Protocol (SIP) and the Presence Service are used to build a system concept on open source and standardized software services. The concept focuses on the communication, access control and security of that gateway. This paper manifests the possible components and potential purposes of the concept. It is shown that small embedded systems like the Pi can provide a simple and cheap solution to enable ubiquitous Smart Home Control using existing infrastructures.
Article
Nowadays, the remote Home Automation turns out to be more and more significant and appealing. It improves the value of our lives by automating various electrical appliances or instruments. This paper describes GSM(Global System Messaging) based secured device control system using App Inventor for Android mobile phones. App Inventor is a latest visual programming platform for developing mobile applications for Android-based smart phones. The Android Mobile Phone Platform becomes more and more popular among software developers, because of its powerful capabilities and open architecture. It is a fantastic platform for the real world interface control, as it offers an ample of resources and already incorporates a lot of sensors. No need to write programming codes to develop apps in the App Inventor, instead it provides visual design interface as the way the apps looks and use blocks of interlocking components to control the app’s behaviour. The App Inventor aims to make programming enjoyable and accessible to novices.
Android interface based GSM home security system
  • A M K Rupam Kumar
  • Sharma
A. M. K. Rupam Kumar Sharma, "Android interface based GSM home security system," in IEEE, Ghaziabad, India, 7-8 Feb. 2014.