Sie sind auf Seite 1von 43

HOME AUTOMATION

A
PROJECT REPORT
SUBMITTED IN THE PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE
AWARD OF THE DEGREE OF

BACHELOR OF ENGINEERING
IN
COMPUTER SCIENCE & ENGINEERING
SUBMITTED BY:

NISHANT KUMAR

PRAVEEN KUMAR

UE133066

UE133070

RITESH SURAJ

SAHIL TOMAR

UE133080

UE133087
SEVENTH SEMESTER
UNDER THE SUPERVISION OF:

DR. MUKESH KUMAR

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

UNIVERSITY INSTITUTE OF ENGINEERING AND TECHNOLOGY,


PANJAB UNIVERSITY, CHANDIGARH, INDIA
Dec 2016
1 | Page

UNIVERSITY INSTITUTE OF ENGINEERING AND TECHNOLOGY,


PANJAB UNIVERSITY, CHANDIGARH

CANDIDATES DECLARATION
I hereby certify that the work presented in the Project entitled HOME AUTOMATION in
partial fulfillment of the requirement for the award of the degree of Bachelor of Engineering in
Computer Science & Engineering from University Institute of Engineering and Technology,
Punjab University, Chandigarh, is an authentic record of my own work carried out under the
supervision and guidance of Dr. Mukesh Kumar.

NISHANT KUMAR
UE133066

PRAVEEN KUMAR
UE133070

RITESH SURAJ
UE133080

SAHIL TOMAR
UE133087

CERTIFICATE
This is to certify that the above statement made by the candidate is correct to the best of my
knowledge and belief.

Date: 06/12/2016
Place: Chandigarh

2 | Page

Dr. MUKESH KUMAR


CSE, UIET, Panjab University,
Chandigarh

ACKNOWLEDMENT
First and foremost offer my sincere gratitude to my Supervisor Dr. Mukesh Kumar who has
supported me throughout my report, with the patience and knowledge. I attribute the level of my
bachelor to his encouragement and effort and without him this report too, would not have been
completed or written. One simply could not wish for better or friendlier.
I am also indebted to the many countless contribution to the internet, outline optical fiber
community, PDF file editors, Microsoft office for providing the numerous documents and tools. I
have used to produce both my report, data and figure.
Department of computer science has provided the support; I have needed to produce and
complete my seminar report.
I also thanks for my batch mates for providing constant encouragement, support and valuable
suggestions during the development of the report.
Finally, I thank my parents, and friends for supporting me through my report through various
methods.

3 | Page

Table of Contents
Chapter 1: Introduction.............................................................................................. 7
Chapter 2 Feasibility
Study
....9
Chapter 3 Software Requirement Specifications.
..11
Chapter 4 Design.

..24
Chapter 5 Implementation Details (With Screenshots)
.................................................................................................................................. .3
1

Chapter 6
Testing
..39
Chapter 7 Future Scope..
.................................................................................................................................. .4
1

References............................................................................................................ 42

4 | Page

Abstract
The HomeAutomation is a wireless home automation system that is supposed to be implemented
in existing home environments, without any changes in the infrastructure. HomeAutomation let
the user to control the home from his or her computer and assign actions that should happen
depending on time or other sensor readings such as light, temperature or sound from any device
in the HomeAutomation network.

1.
2.
3.
4.

The aim of this project is to design and implement a home automation system that controls and
organizes various home appliances. The user (i.e. home owner) controls his home appliances
using his smart phone or using laptop/pc. The home automation system processes user direct
commands, user preferences and data received from various sensors to control home appliances.
This Project presents the overall design of Android Home Automation System with low cost and
a Android mobile application / website. This system is designed to assist and provide support in
order to fulfill the needs of elderly and disabled in home. Also, the smart home concept in the
system improves the standard living at home. The main control system implements wireless
Bluetooth technology and WiFi technology to provide remote access from smart phone or
Laptop/PC.
The project is implemented in hardware and software components that interact through network
connections. The main challenge is to implement the project in an economical way such that it
can be easily deployed and used by homeowners.
An Arduino microcontroller and a mobile phone with an Android platform running on top of it
are the hardware and software used. For the network part, an apache local server is used to make
a connection between the microcontroller and the mobile phone and allow data transfer to take
place in an efficient matter.
Different functions are implemented using this system which includes the following:
Manually controlled by smart phone application:
Open and close garage door.
Switch fan on/off.
Switch water tank motor on/off.
Switch led on/off

Automatically controlled using smart phone application:


1.
Switch fan on/off according to the temperature.
2.
Switch water tank motor on/off according to the water level.
5 | Page

3.
4.

Switch outdoor led on/off according to the outdoor light intensity.


Display temperature, water level and light intensity on the smart phone.
This report is describing our group project in the Ubiquitous Computing course. It is containing
the design process of the project, starting with brainstorming we had to get the final product idea
and finishing with the prototyping within home alike environment. The original problem was to
design and implement a larger ubiquitous computing project into a home environment. The
report is describing what kind of design process, hardware and software have been used to build
up the prototype for that product design that we had chosen as our final goal.

BACKGROUND
Most advanced home automation systems in existence today require a big
and expensive change of infrastructure. This means that it often is not
feasible to install a home automation system in an existing building. The
Home Automation is a wireless home automation system that is supposed to
be implemented in existing home environments, without any changes in the
existing infrastructure. Home Automation lets the user to control his home
from his or her computer. In the computer program the user can create
actions what should happen with electrical devices in the network depending
on the sensors sensing surrounding environment.

CONCEPT
Every Home Automation box is a stand-alone device. It is connected to the
mains and controls the power outlet of the electrical device that is plugged
into it. There will be a receiver and transmitter in each of the box, so they
can exchange information with the master (a computer). People can control
power supply of electrical devices in order to create an interactive home
environment to facilitate the control without changing any home appliance.
People can enjoy the high technology and simplicity modern life style. Each
device will be with standard setup and while adding it into network; it can be
given an address and tasks to do. All the setting will be easily resettable to
default value, so people can move the devices between different electrical
devices and networks. Home Automation boxes will be put into different
rooms at home, depending on the needed functionality. Various different
6 | Page

sensors could be attached to the boxes. The sensors are used as triggers for
actions, that user can set up in the computer program.

CHAPTER 1

INTRODUCTION

Home automation systems, or smart home technologies, are systems and devices that can control
elements of your home environment lighting, appliances, telephones, home security and
mechanical, entry and safety systems.
Home automation systems can be operated by electricity or a computer chip using a range of
different types of switches. A simple device, such as a light can be activated by a signal from a
motion detector, or can be part of a computerized home automation system. As a very basic
definition, we tend to refer to home automation as anything that gives you remote or automatic
control of things around the home.
DESCRIPTION
Home automation (also called domotics) may designate an emerging practice of increased
automation of household appliances and features in residential dwellings, particularly through
electronic means that allow for things impracticable, overly expensive or simply not possible in
recent past decades. The term may be used in contrast to the more mainstream "building
automation," which refers to industrial settings and the automatic or semi-automatic control of
lighting, climate doors and windows, and security and surveillance systems. The techniques
7 | Page

employed in home automation include those in building automation as well as the control of
home entertainment systems, houseplant watering, pet feeding, "scenes" for different events
(such as dinners or parties), and the use of domestic robots.
Typically, it is easier to more fully outfit a house during construction due to the accessibility of
the walls, outlets, and storage rooms, and the ability to make design changes specifically to
accommodate certain technologies. Wireless systems are commonly installed when outfitting a
pre-existing house, as they obviate the need to make major structural changes. These
communicate via radio or infrared signals with a central controller.
WHAT CAN HOME AUTOMATION DO?

Home automation can:


Increase your independence and give you greater control of your home environment.
Make it easier to communicate with your family.
Save you time and effort.
Improve your personal safety.
Reduce your heating and cooling costs.
Increase your homes energy efficiency.
Alert you audibly and visually to emergency situations.
Allow you to monitor your home while you are away.

THE PRIMARY ELEMENTS OF A HOME AUTOMATION SYSTEM


The operating system (for example, a computer, security system, a telephone or electricity).
The device being operated (for example, a light or furnace)
The interface, or link, between the user and the device. An interface can be a button, a keypad, a
motion sensor and so on. For example, a thermostat equipped with a computer chip can be
controlled by an interface such as a push button, which sends a signal to the furnace to adjust the
temperature for different times of the day and night.
HOW CAN WE CONTROL THEM?

Remote control
Remote control gives you the convenience of controlling lighting, appliances, security systems
and consumer electronics from wherever you happen to be at the time, like your couch, car or
even in your bed. There are several different "methods" of controlling devices remotely.

Automatic control
Automatic control adds even more convenience by making things happen automatically, without
any effort being necessary. Examples include having your lights turn on at dusk and off at your
desired time, having your whole home theater turn on and tune to the desired station after one
press of a button on your remote.
Features

Simple, small and handy remote control made up of Microcontroller (Arduino).

Microcontrollers (ESP8266 (Wi-Fi) and HC05 (Bluetooth)) based receiving unit.

8 | Page

Multi-functional, programmable receiving unit.


Application specific programming of micro-controller for industrial purpose.
It's multi-functional unit so can be attached to any application
It can be used in industries to control/operate any application/device remotely
It can be used in homes/offices to operate any appliance remotely like Fan, Bulb,
Refrigerator, AC etc.

1.1Objective of the project


1. To control the any Home Appliance using a Smartphone Application or PC/Laptop.
2. To operate mechanical switches using the graphical user interface on a Smart phone or a
PC/laptop.
3. To produce a cost effective circuit.
4. Easy to use the application for physically disabled and handicapped persons.

CHAPTER 2

FEASIBILITY STUDY

Feasibility study is the process of determination of whether or not a process is worth doing.
In this project Home Automation study has been done on the mail mechanism by considering if the
proposed system is a cost-viable solution and can be further developed within the budget allocated.
Feasibility of the project is studied by considering operational and technical parameters.
Feasibility study can be divided into three parts:
1. Technical Feasibility
2. Economic Feasibility
3. Operational Feasibility

9 | Page

Technical Feasibility is concerned with specifying equipment and software and hardware that
will successfully satisfy the user requirement. It includes the facility to produce output in a
given time, ability to process a certain volume of transaction at a particular speed and so on.

In our project the compatibility between client and server is very good as it is important. The speed of
output i.e. response time is very fast. It would never found difficulty when used complex query and
heavy transaction. The speed of transaction would be very smooth and constant. This application
provides facility to communicate data to distant location.
Reasons of technical feasibility of project are:
1.
2.
3.
4.

Easy implementation of code.


Well defined interface.
Easy debugging.
Robust

Economic Analysis is most frequently used for evaluation of the effectiveness of the system.
More commonly known as cost/benefit analysis, the procedure is to determine the benefit and
saving that are expected from a system and compare them with costs, decisions is made to
design and implement the system.

In this project, the organization is most satisfied by economic feasibility. Because, if the organization
implements this system, it need not require any additional hardware resources as well as it will be
saving lot of time. Software that is required to implement this is also available as open source so cost
is minimal in all aspects.

COMPONENT USED
Arduino UNO

COST(in rupees)
500

Bluetooth Module - HC-05

400

ESP8266
Relay
Miscellaneous
Total Cost

400
25
100
1425

Operational Feasibility:
The system offers greater level of user friendliness combined with greater processing speed.
+Therefore, the cost of maintenance can be reduced. All the computational work will be done
automatically in our system. At any time we can check whether the concerned appliance is
on/off, which is on-line. As all employees of company know about computers operation so

10 | P a g e

users will not face difficulty in hardware and the training of software is not difficult task.
Since, processing speed is very high and the work is reduced in the maintenance point of view
management convince that the project is operationally feasible.

CHAPTER 3

SOFTWARE REQUIREMENT SPECIFICATION

3.1: Hardware Requirement


3.1.1 MICROCONTROLLER
3.1.1.1 ARDUINO
Arduino is an open-source platform used for building electronics projects. Arduino consists of
both a physical programmable circuit board (often referred to as a microcontroller) and a piece
of software, or IDE (Integrated Development Environment) that runs on your computer, used to
write and upload computer code to the physical board.

11 | P a g e

The Arduino platform has become quite popular


with

people

just

starting

out

with

electronics, and for good reason. Unlike


most

previous

programmable

circuit

boards, the Arduino does not need a separate


piece of hardware (called a programmer) in
order to load new code onto the board you
can simply use a USB cable. Additionally, the
Arduino IDE uses a simplified version of C++, making it easier to learn to program. Finally,
Arduino provides a standard form factor that breaks out the functions of the micro-controller into
a more accessible package.
3.1.1.1.1 ARDUINO UNO ON BOARD SPECIFICATIONS
There are many varieties of Arduino boards that can be used for different purposes. Some boards
look a bit different from the one below, but most Arduinos have the majority of these
components in common:

Fig.2 Arduino UNO components

Power (USB / Barrel Jack)


Every Arduino board needs a way to be connected to a power source. The Arduino UNO can be
powered from a USB cable coming from your computer or a wall power supply that is

12 | P a g e

terminated in a barrel jack. In the picture above the USB connection is labeled (1) and the barrel
jack is labeled (2).
The USB connection is also how you will load code onto your Arduino board.
Pins (5V, 3.3V, GND, Analog, Digital, PWM, AREF)
The pins on Arduino are the places where you connect wires to construct a circuit probably in
conjuction with a breadboard and some wire. They usually have black plastic headers that allow
you to just plug a wire right into the board. The Arduino has several different kinds of pins, each
of which is labeled on the board and used for different functions.

GND (3): Short for Ground. There are several GND pins on the Arduino, any of which
can be used to ground your circuit.

5V (4) & 3.3V (5): As you might guess, the 5V pin supplies 5 volts of power, and the
3.3V pin supplies 3.3 volts of power. Most of the simple components used with the Arduino run
happily off of 5 or 3.3 volts.

Analog (6): The area of pins under the Analog In label (A0 through A5 on the UNO)
are Analog In pins. These pins can read the signal from an analog sensor (like a temperature
sensor) and convert it into a digital value that we can read.

Digital (7): Across from the analog pins are the digital pins (0 through 13 on the UNO).
These pins can be used for both digital input (like telling if a button is pushed) and digital output
(like powering an LED).

PWM (8): You may have noticed the tilde (~) next to some of the digital pins (3, 5, 6, 9,
10, and 11 on the UNO). These pins act as normal digital pins, but can also be used for
something called Pulse-Width Modulation (PWM).

AREF (9): Stands for Analog Reference. Most of the time you can leave this pin alone. It
is sometimes used to set an external reference voltage (between 0 and 5 Volts) as the upper limit
for the analog input pins.

Reset Button(10):Just like the original Nintendo, the Arduino has a reset button (10).
Pushing it will temporarily connect the reset pin to ground and restart any code that is loaded on
the Arduino. This can be very useful if your code doesnt repeat, but you want to test it multiple
times. Unlike the original Nintendo however, blowing on the Arduino doesnt usually fix any
problems.

13 | P a g e

Power LED Indicator(11):Just beneath and to the right of the word UNO on your
circuit board, theres a tiny LED next to the word ON (11). This LED should light up whenever
you plug your Arduino into a power source. If this light doesnt turn on, theres a good chance
something is wrong. Time to re-check your circuit!

TX RX LEDs(12):TX is short for transmit, RX is short for receive. These markings


appear quite a bit in electronics to indicate the pins responsible for serial communication. In our
case, there are two places on the Arduino UNO where TX and RX appear once by digital pins 0
and 1, and a second time next to the TX and RX indicator LEDs (12). These LEDs will give us
some nice visual indications whenever our Arduino is receiving or transmitting data (like when

were loading a new program onto the board).


Main IC(13):The black thing with all the metal legs is an IC, or Integrated Circuit (13).
Think of it as the brains of our Arduino. The main IC on the Arduino is slightly different from
board type to board type, but is usually from the ATmega line of ICs from the ATMEL company.
This can be important, as you may need to know the IC type (along with your board type) before
loading up a new program from the Arduino software. This information can usually be found in
writing on the top side of the IC. If you want to know more about the difference between various

ICs, reading the datasheets is often a good idea.


Voltage Regulator:The voltage regulator (14) is not actually something you can (or
should) interact with on the Arduino. But it is potentially useful to know that it is there and what
its for. The voltage regulator does exactly what it says it controls the amount of voltage that is
let into the Arduino board. Think of it as a kind of gatekeeper; it will turn away an extra voltage
that might harm the circuit. Of course, it has its limits, so dont hook up your Arduino to
anything greater than 20 volts.
Others Microcontrollers that we could have used are MSP430 Launchpad, Raspberry PI,etc.
3.1.1.1.2 MSP430 Launchpad verses Arduino:

A TI Launchpad (MSP430) costs $10 with free shipping from TI directly. That's pretty
amazingly cheap. This gets you the Launchpad, a USB cable (Mini-USB, just like cameras and
such)
and,
three
MSP430G
chips
of
varying
complexity
and
speed.
You get 16 IO pins, of which 8 can do analog input and 7 can do PWM. You also get a green
LED connected to a PWM pin and a red LED connected to a digital IO pin. Both LEDs can be
detached from their pins by removing a pair of jumpers. You get a RESET button just like the
Arduino, as well as an extra pushbutton that you can use in your projects.
14 | P a g e

TI puts out an IDE (actually a couple) for programming the MSP430. I have attempted to use it
and failed miserably. If you're fluent in C you may have better luck. Thankfully the folks at
Energia.ru have ported the Arduino IDE to work with LaunchPads! They've ported many
libraries as well, so many Arduino programs can be moved between the two platforms very
easily. It's not quite a simple copy/paste as the pin names are different, but it's close. The
LaunchPad also has expansion boards, TI calls them BoosterPacks. They add all sorts of features,
just like the Arduino shields do. The BoosterPacks do not, however, stack.
Arduino Uno R3
ATMEGA328 Micro controller , 16 MHz clock speed
Number of Digital IO - 20
Flash Memory - 32 KB
SRAM - 2 KB , EEPROM 1-KB
1 SPI,1 I2C, 1 UART
6 PWM
6 ADCs etc.

TI's TM4C123G Launchpad Board


Based on ARM Cortex M4 Microcontroller, 80MHz clock
speed

Flash Memory - 256 KB , SRAM - 32KB , EEPROM - 2KB


46 GPIOs , 8 UARTs , 4 SPIs, 4 I2C
2 CAN controllers, USB Host/Device/OTG
16 PWM outputs , 2 Quadrature Encoder Module for
advanced motion control
ADCs , Analog Comparators and DMA controller etc.
Why we chose Arduino?..
Because Arduino is easier to program, supports simple functions like digital read and write and
Libraries.There is a very good community support.
In case of Launcpad, Programming requires knowledge about registers and interal
working of microcontroller and also community support is not there but the product has good
documentation.
3.1.1.1.3 Raspberry Pi verses Arduino:
Raspberry Pi is a fully functional computer. It has all the trappings of a computer, with a
dedicated processor, memory, and a graphics driver for output through HDMI. It even runs a
specially designed version of the Linux operating system.
It might sound like Raspberry Pi is superior to Arduino, but that's only when it comes to
software applications. The Arduino simplicity makes it much better for pure hardware projects,
in which you simply want things to respond to various sensor readings and manual input.
From the network side, Pi has a built-in Ethernet port, which allows easy access to any
network with little setup. Wireless Internet on the Pi isnt hard to achieve either, For Arduino we
will need an extra chip known as shield outfitted with an Ethernet port.
15 | P a g e

While both the Pi and Arduino have a number of interface ports, its much easier to
connect analog sensors to the Arduino. The microcontroller can easily interpret and respond to a
wide range of sensor data using the code you put on it, which makes it great if you intend to
repeat a series of commands or respond to sensor data as a means of making adjustments to
servos and devices. The Pi on the other hand, requires a software to effectively interface with the
same devices. Arduino have a 'real-time' and 'analog' capability that the Pi do not provide. This
flexibility allows it to work with just about any kind of sensor or chips. Raspberry Pi does not
offer such flexibility; i.e. reading from analog sensors requires extra hardware assistance.
Table 1summarizes the comparison. We used Arduino for its cost and flexibility
Chip

Arduino

Raspberry Pi

Cost per unit

$10

$50

Performance

16MHz

1.2GHz

Flexibility

High

High

Capability to connect
Sensors

Can be connected
Directly

Needs specific software

Connectivity to LAN
Operating System

Needs an external shield


No Operating System

Built-in port
Linux

Table 1 comparison between Arduino and Raspberry pi


Why Arduino?
Thanks to its simple and accessible user experience, Arduino has been used in thousands of
different projects and applications. The Arduino software is easy-to-use for beginners, yet
flexible enough for advanced users. It runs on Mac, Windows, and Linux. Teachers and students
use it to build low cost scientific instruments, to prove chemistry and physics principles, or to get
started with programming and robotics. Designers and architects build interactive prototypes,
musicians and artists use it for installations and to experiment with new musical instruments.
Makers, of course, use it to build many of the projects exhibited at the Maker Faire, for example.
Arduino is a key tool to learn new things. Anyone - children, hobbyists, artists, programmers can start tinkering just following the step by step instructions of a kit, or sharing ideas online
with other members of the Arduino community.
There are many other microcontrollers and microcontroller platforms available for physical
computing. Parallax Basic Stamp, Netmedia's BX-24, Phidgets, MIT's Handyboard, and many
others offer similar functionality. All of these tools take the messy details of microcontroller
programming and wrap it up in an easy-to-use package. Arduino also simplifies the process of
working with microcontrollers, but it offers some advantage for teachers, students, and interested
amateurs over other systems:
Inexpensive - Arduino boards are relatively inexpensive compared to other
microcontroller platforms. The least expensive version of the Arduino module can be assembled
by hand, and even the pre-assembled Arduino modules cost less than $50
16 | P a g e

Cross-platform - The Arduino Software (IDE) runs on Windows, Macintosh OSX, and
Linux operating systems. Most microcontroller systems are limited to Windows.
Simple, clear programming environment - The Arduino Software (IDE) is easy-to-use
for beginners, yet flexible enough for advanced users to take advantage of as well. For teachers,
it's conveniently based on the Processing programming environment, so students learning to
program in that environment will be familiar with how the Arduino IDE works.
Open source and extensible software - The Arduino software is published as open
source tools, available for extension by experienced programmers. The language can be
expanded through C++ libraries, and people wanting to understand the technical details can
make the leap from Arduino to the AVR C programming language on which it's based. Similarly,
you can add AVR-C code directly into your Arduino programs if you want to.
Open source and extensible hardware - The plans of the Arduino boards are published
under a Creative Commons license, so experienced circuit designers can make their own version
of the module, extending it and improving it. Even relatively inexperienced users can build the
breadboard version of the module in order to understand how it works and save money.
3.1.1.2 HC-05 Module (BLUETOOTH)
HC-05 module is an easy to use Bluetooth
SPP (Serial Port Protocol) module,
designed for transparent wireless serial
connection setup.
Serial port Bluetooth module is fully
qualified Bluetooth V2.0+EDR (Enhanced
Data Rate) 3Mbps Modulation with
complete 2.4GHz radio transceiver and
baseband. It uses CSR Bluecore 04External single chip Bluetooth system with
CMOS technology and with AFH(Adaptive
Frequency Hopping Feature). It has the footprint as small as 12.7mmx27mm. Hope it will
simplify your overall design/development cycle.
Specifications
Hardware features
Typical -80dBm sensitivity
Up to +4dBm RF transmit power
Low Power 1.8V Operation ,1.8 to 3.6V I/O
PIO control
UART interface with programmable baud rate
With integrated antenna
With edge connector
Software features
Default Baud rate: 38400, Data bits:8, Stop bit:1,Parity:No parity, Data control: has.
Supported baud rate: 9600,19200,38400,57600,115200,230400,460800.
Given a rising pulse in PIO0, device will be disconnected.
17 | P a g e

Status instruction port PIO1: low-disconnected, high-connected;


PIO10 and PIO11 can be connected to red and blue led separately. When master and slave are
paired, red and blue led blinks 1time/2s in interval, while disconnected only blue led blinks
2times/s.
Auto-connect to the last device on power as default.
Permit pairing device to connect as default.
Auto-pairing PINCODE:0000 as default
Auto-reconnect in 30 min when disconnected as a result of beyond the range of connection.
Hardware

18 | P a g e

3.1.1.3 ESP8266 Module (Wi-Fi)

The ESP8266 WiFi Module is a self contained SOC with


integrated TCP/IP protocol stack that can give any
microcontroller access to your WiFi network. The ESP8266 is
capable of either hosting an application or offloading all WiFi networking functions from another application processor.
Each ESP8266 module comes pre-programmed with an AT
command set firmware, meaning, you can simply hook this up
to your Arduino device and get about as much WiFi-ability as
a WiFi Shield offers (and thats just out of the box)! The
ESP8266 module is an extremely cost effective board with a huge, and ever growing,
community.
This module has a powerful enough on-board processing and storage capability that allows it to
be integrated with the sensors and other application specific devices through its GPIOs with
minimal development up-front and minimal loading during runtime. Its high degree of on-chip
integration allows for minimal external circuitry, including the front-end module, is designed to
occupy minimal PCB area. The ESP8266 supports APSD for VoIP applications and Bluetooth
co-existance interfaces, it contains a self-calibrated RF allowing it to work under all operating
conditions, and requires no external RF parts.
There is an almost limitless fountain of information available for the ESP8266, all of which has
been provided by amazing community support. In the Documents section below you will find
many resources to aid you in using the ESP8266, even instructions on how to transforming this
module into an IoT (Internet of Things) solution!

19 | P a g e

Note: The ESP8266 Module is not capable of 5-3V logic shifting and will require an
external Logic Level Converter. Please do not power it directly from your 5V dev board.
Note: This new version of the ESP8266 WiFi Module has increased the flash disk size from
512k to 1MB.
Features:

802.11 b/g/n
Wi-Fi Direct (P2P), soft-AP
Integrated TCP/IP protocol stack
Integrated TR switch, balun, LNA, power amplifier and matching network
Integrated PLLs, regulators, DCXO and power management units
+19.5dBm output power in 802.11b mode
Power down leakage current of <10uA
1MB Flash Memory
Integrated low power 32-bit CPU could be used as application processor
SDIO 1.1 / 2.0, SPI, UART
STBC, 11 MIMO, 21 MIMO
A-MPDU & A-MSDU aggregation & 0.4ms guard interval
Wake up and transmit packets in < 2ms
Standby power consumption of < 1.0mW (DTIM3)

3.2 Software Requirement


This chapter discusses the project from the software perspective. The programs and platforms
used.
3.2.1 Arduino IDE:
20 | P a g e

An open source software for Arduino boards used to write and upload codes on the Arduino
boards without any complicates. It runs on different platforms including Windows. It provides
extra options to monitor and communicate with Arduino boards. Programs written using Arduino
Software (IDE) are known as sketches and saved in .ino extension .
3.2.2 Android:
Android is open source system and based on the Linux kernel, it is designed for devices with
touch screens, it is providing a testing and debugging tools for application.
The programming language used in Android is Java, Android has SQL data base to store data,
also it use the Android Software Development Kit which It is a process that is to use the creation
of new applications running on Android. Android platform supports different connection
technologies including Wi-Fi.
3.2.2.1 Android studio:
Android Studio is used for programming Android applications. It gives programmers graphical
tools for creating Android Apps,it is provide a test for application projects that run on a device.
Advantages of using Android.
1.
Using Android we can access core mobile device functionality.
2.

Easy development since it contains SDK, which provides build, run and debugging
Android applications.
Disadvantages of using Android.
1. It does not assure security for application as the source code is available.
2. Android requires internet connection to be active.
3.2.3 Java:
Java is a general-purpose computer programming language that is concurrent, class-based,
object-oriented, and specifically designed to have as few implementation dependencies as
possible. It is intended to let application developers "write once, run anywhere" (WORA),
meaning that compiled Java code can run on all platforms that support Java without the need for
recompilation.
Different Editions of Java Platform:
J2SE (Java Platform, Standard Edition)
Also known as Core Java, this is the most basic and standard version of Java. Its the purest form
of Java, a basic foundation for all other editions. It consists of a wide variety of general purpose
APIs (like java.lang, java.util) as well as many special purpose APIs. J2SE is mainly used to
create applications for Desktop environment. It consist all the basics of Java the language,
variables, primitive data types, Arrays, Streams, Strings Java Database Connectivity(JDBC) and
much more. This is the standard, from which all other editions came out, according to the needs
of the time.
J2EE (Java Platform, Enterprise Edition)
The Enterprise version of Java, also called Advanced Java, has a much larger usage of Java, like
development of web services, networking, server side scripting and other various web based
applications. J2EE is a community driven edition, i.e. there is a lot of continuous contributions
21 | P a g e

from industry experts, Java developers and other open source organisations. J2EE uses many
components of J2SE, as well as, has many new features of its own like Servlets, JavaBeans, Java
Message Services, adding a whole new functionalities to the language. J2EE uses HTML, CSS,
JavaScript etc., so as to create web pages and web services. Its also one of the most widely
accepted web development standard.

1.
2.

1.
2.

3.2.3.1 Eclipse:
Tools for Java developers creating Java EE and Web applications, including a Java IDE, tools for
Java EE, JPA, JSF, Mylyn and others.
Advantages of using JAVA.
Java is a very stable platform.
There is wonderful tool support for Java. Great IDE, great refactoring tools, great static analysis
tools
Disadvantages of using Android.
There are a lot of slow Java applications.
Slow Development of Applications.
3.3CONNECTIVITY
3.3.1 Wi-Fi:
Wi-Fi is a wireless technology based on IEEE 802.11. It uses microwaves to create
communication through devices known as routers. It has great potential, but, as with any other
technology, along with the advantages, there are disadvantages.
Advantages of Wi-Fi:
The main advantages of Wi-Fi are the lack of wires. And it is used to connect a variety of
devices, not only between themselves but also to the Internet. Another advantage is to create a
mesh Wi-Fi. To connect a new device to your network, simply turn on the Wi-Fi and do the
simple setting in the software.
Standardization of Wi-Fi technology allows you to connect to the network in any country. Wi-Fi
allows us to achieve high compatibility.
Disadvantages of Wi-Fi:
Wi-Fi is sensitive to electromagnetic radiation generated by household appliances. This primarily
affects the speed of data transmission.
Despite the global standardization, many devices from different manufacturers are not fully
compatible, which in turn affects the speed of communication.
Wi-Fi has a limited radius of action and it is suitable for home networking, which is more
dependent on the environment. So for home router with Wi-Fi in the room has a range of up to
45 meters and up to 450 meters outside.
At high density Wi-Fi points channels can interfere with each other. This affects the quality of
the connection.
3.3.2 Bluetooth:
Bluetooth is a wireless technology standard for exchanging data over short distances (using
short-wavelength) from fixed and mobile devices, and building personal area networks (PANs).
Advantages of Bluetooth:
22 | P a g e

2.
3.
4.
5.

1. Cheap.
Easy to install.
It makes connecting to different devices convenient.
It is wireless.
It is free to use if the device is installed with it.

1.
2.
3.
4.
5.

Disadvantages of Bluetooth Technology:


It can be hacked into
If installed on a cell phone it is prone to receiving cell phone viruses.
It only allows short range communication between devices.
It can only connect two devices at once.
It can lose connection in certain conditions.
3.4 FUNCTIONAL REQUIREMENTS
o The data will be valid until the server is valid.
o Transmitting Signal to Turn ON/OFF the Appliance between Client, Server and
Appliance.
o Transmitting signal among appliance and server.
o Usage of SQL Server will be needed for sending Signal to Turn On/Off.
o We are running it as Server Client in PC itself.
o Everything is defined as Object Oriented.
3.5 NON FUNCTIONAL REQUIREMENTS
All IT systems at some point in their lifecycle need to consider non-functional requirements and their
testing. For some projects these requirements warrant extensive work and for other project domains a
quick check through may be sufficient. As a minimum, the following list can be a helpful reminder to
ensure we have covered the basics.
Security
Login requirements- access levels
Password requirements
Inactivity timeouts-durations, actions
Audit
Audited elements- what business elements will be audited?
Audited fields- which data fields will be audited?
Audit file characteristics
Performance
Response times application loading, screen open and refresh times, etc.
Processing times functions, calculations, imports, exports
Query and Reporting times initial loads and subsequent loads

23 | P a g e

Capacity
Throughput how many transactions per hour does the system need to be able to handle?
Storage- how much data does the system need to be able to store?
Year-on-year growth requirements
Availability
Hours of operation- When is it available? Maintenance times, etc are considered
Locations of operation- Where should it be available form, what are the connection requirements?
Reliability
Mean Time between Failures- What is the acceptable threshold for down-time? E.g. one a year
Mean time To Recovery- if broken, how much time is available to get the system back up again?
Integrity
Fault Trapping (I/O)- how to handle electronic interface failures, etc
Bad data trapping- data imports, flag-and-continue or stop the import policies, etc
Data integrity- referential integrity in database tables and interfaces

CHAPTER 4
Planning of the Project:
24 | P a g e

DESIGN

Planning phase covers about 50% of the whole process, it determines the scope of the project as well
as the objective of the project. The output of the planning phase serves as the input for the execution
phase.First of all a preliminary area of application has been identified, it is then subjected to more
rigorous examination in a feasibility study. By the initial investigation, need is recognized, user
requirements are determined and the problem has been defined. Email communication &
collaboration, integrated in a smart & secure solution based on powerful mail server has many
benefits for business. As per business requirement, the high performance mail-server technology is
specifically built to provide fast and secure email communication, while ensuring effective space
management. An initial investigation has been launched to study the present system and verify the
problem in systematic way. The next step is to determine exactly what the proposed system is to do
by defining its expected performance. This kind of work has been carried out in feasibility study.
The contents and recommendations of such a study is used as a sound basis for deciding whether to
proceed, postpone or cancel the project. With the help of above support we ensure that the system
would not halt in case of undesired situation or events. Problem affected of any module does not
affect any other module of the system.
For any successful project work breakdown structure is very important. So then we conducted a
brainstorm to list all the tasks which is further breakdown into a hierarchical set of activities, for
instance, categories, sub-categories, etc. for example hardware, software, etc.
Then procedure, policies, and documentation for planning, managing, executing and controlling the
project schedule are established. As a whole, project schedule management plan is developed.
As an output of this phase, activity list is made along with milestone list .Then we sequenced them
i.e. we organized them in the order they need to be performed. We estimated resource requirements
followed by estimating the duration of all the tasks. Constraints are developed along with task
dependencies. Project document is updated in synchronized manner.

Project Design
1.

Class Diagram :

25 | P a g e

The class diagram is a static diagram. Class diagram is not only used for visualizing, describing and
documenting different aspects of a system but also for constructing executable code of the software
application.
The class diagrams are widely used in the modeling of object oriented systems because they are the
only UML diagrams which can be mapped directly with object oriented languages.

2. Activity Diagram
Activity diagram is basically a flow chart to represent the flow form one activity to another activity.
The activity can be described as an operation of the system.
It captures the dynamic behavior of the system. Other four diagrams are used to show the message
flow from one object to another but activity diagram is used to show message flow from one activity
to another.

26 | P a g e

3. Use Case Diagram

The use case diagram is dynamic in nature there should be some internal or external factors for
making the interaction.
These internal and external agents are known as actors. So use case diagrams are consists of actors,
use cases and their relationships. The diagram is used to model the system/subsystem of an
application.

27 | P a g e

4. Sequence Diagram
A Sequence diagram is an interaction diagram that shows how objects operate with one another and
in what order. It is a construct of a message sequence chart. A sequence diagram shows object
interactions arranged in time sequence.
28 | P a g e

An important characteristic of a sequence diagram is that time passes from top to bottom: the
interaction starts near the top of the diagram and ends at the bottom (i.e. Lower equalsLater).

29 | P a g e

5. Component Diagram

6. Deployment Diagram

30 | P a g e

7. Collaboration Diagram

31 | P a g e

CHAPTER 5

Implementation Details

It is basically an automation system in which our android app can be used in switching and
managing electronic appliances or devices using Arduino.
e.g. Switching fan or bulb etc.
Both physical switch and android app can be used in switching and managing like a two way
switch.
The app works by establishing a Wi-Fi and Bluetooth connection.

Circuit Diagram for Bluetooth Based Home Automation Device

32 | P a g e

Circuit Diagram for Wi-Fi Based Home Automation Device

Current progress:
Mobile Controlled Switch using Bluetooth and Wi-Fi.
It can also be controlled using physical switch.
Both can work together just like a Two Way Switch.
We can control all the things that a physical switch can, using our SmartSwitch.
It can be adjusted with current Home Electric Board with some Modifications without changing
electrical wiring.
Can be operated within Specified Bluetooth Range as well as specified Wi-Fi range.
Cost Efficient for more Social Use.
Implementing operation over Thousands of km of distance (Using Server).

Screenshots
33 | P a g e

Website:
LogIn Page

After LogIn

Customizing Button as per number of appliances

After adding buttons for appliances.


34 | P a g e

Android App:
Logo Of App

For Bluetooth Based Home Automation


35 | P a g e

36 | P a g e

For WiFi Based Home Automation

37 | P a g e

Device Operation::
Bluetooth
BEFORE TURNING ON

AFTER TURNING ON USING APP

38 | P a g e

Wi-Fi
BEFORE TURNING ON

AFTER TURNING ON USING EITHER WEBSITE OR ANDROID APP.

39 | P a g e

CHAPTER 6 TESTING
INTRODUCTION
Testing is a set of activities that can be planned in advance and conducted systematically testing
requires that the developer discard preconceived notations of the correctness of the software just
developed and overcome a conflict of interest that occurs when errors are encountered. Testing also
provides the main objective of our project and understand the risk of implementation. Testing is a
process of technical investigation, performed on behalf of stakeholder that is intended to reveal
quantity related information about the product with respect to the context in which it is intended to
operate. Testing is the process of executing a program or an application with an intent of finding an
error or bugs. Testing can be stated as the process of validating and verifying that a software
program/application/product:

How we choose what we test


We look for readily available products including the most popular smart bulbs and devices as
well as some of the more innovative products we feel you want to know about. We also selected
several all-in-one starter kits to help make your home smarter without breaking the bank.
Scoring

Ease of use: 60%


Performance: 40%

How we test
We assessed home automation/security kits, starter home automation kits, and stand-alone smart
LED light-bulbs.

Smart LED bulbs


The majority of testing was undertaken on the LED smart bulbs, to assess their ease of use,
power usage, luminance, and heat output. Power usage figures have been calculated but not
included in the overall score. Luminance has been used in the performance score and is based on
variance between measured results and stated claim from the manufacturer.

40 | P a g e

Ease of use is based on: how easy it is to get the bulbs up and running; remote access; general
layout and usage of the app; and in-box documentation.

Performance also takes in to account the responsiveness of the app that controls the LED bulb,
and scoring for this is based on the tester findings and comments based on those findings.
Performance is based on the luminosity of the bulb, as well as the responsiveness of the bulb's
app. Average light output is the measured average light output (in lumens) after 100 hours burnin at the CHOICE lab using its default on state, compared to the manufacturer's stated light
output.

Smart switches

Ease of use is based on: how easy it is to get the switches up and running; remote access; general
layout and usage of the app; the physical characteristics of the switch; and in-box documentation

Performance is based on the responsiveness of the switch as used through its supported app
Power consumption for each switch was recorded in both its on state and its standby (off) state,
but not included in the overall score.

All-in-one starter kits

Ease of use is based on: how easy it is to get the kits up and running; remote access; general
layout and usage of the app; and in-box documentation

Performance is based on the responsiveness of the kit's components as used through its
supported application

41 | P a g e

After measuring the light performance of the bulbs, he assessed the kits and switch devices to
and highlighted the available product feature and what each device required in order to work in
an automated home environment.

CHAPTER 7

FUTURE SCOPE

Operated over Thousands of km of distance(Using Server).


Voice Activated Commands to Switch ON/OFF.
Monitoring of Electricity for Saving Energy.
Still Space for reducing Cost.
Secure Communication
Username/Password
Encryption
Multiple Module Support on Android App and Web Panel.
Monitoring various Energy Consumption factors, like Power usage, Number of
devices operating at a time, etc.
Battery-powered version for easier setup.

42 | P a g e

43 | P a g e

Das könnte Ihnen auch gefallen