WEBCASA : Home Automation System
A Project Report
Submitted to the
Department of Electronics & Communication Engineering
College Of Technology
G.B. Pant University of Agriculture & Technology
Pantnagar
Submitted By:
ATUL TYAGI 42401
SUSHIL KUMAR 42244
NISHANT PANDEY 42243
ABHIJEET SINGH RAWAT 42429
PUNEET KUMAR MANDAL 42168
Guided by
Dr. Sanjay Mathur
FOR THE DEGREE OF BACHELOR OF TECHNOLOGY
(ELECTRONICS AND COMMUNICATION ENGINEERING)
MAY, 2015
i
ACKNOWLEDGEMENT
We are highly obliged to Dr. Sanjay Mathur and other professors of our department of Electronics
and Communication Engineering and the staff members for their kindly and helpful nature during
our education and our project, which is “WEBCASA: HOME AUTOMATION SYSTEM”.
We are very thankful to our Head of Department for his support and the encouragement during our
project and also the professors and the lab staff for providing the all the data, equipment and help
required.
We are thankful to Dr. Sanjay Mathur for his help and guidance and information provided which
was helpful during the project. The information provided by him was not only informative but
even helped us in troubleshooting the troubles during the project.
(ATUL TYAGI) (SUSHIL KUMAR) (NISHANT PANDEY)
42401 42244 42243
(ABHIJEET SINGH RAWAT) (PUNEET KUMAR MANDAL)
42429 42168
ii
CERTIFICATE
This is to certify that the project entitled “Webcasa: Home Automation System”,
Submitted by
1. Atul Tyagi 42401
2. Sushil Kumar 42244
3. Nishant Pandey 42243
4. Abhijeet Singh Rawat 42429
5. Puneet Kumar Mandal 42168
is the record of the work done by them in the requirements for the degree of
Bachelor of Technology in Electronics and Communication Engineering,
College of Technology, G. B. Pant University of Agriculture and Technology, Pantnagar.
Pantnagar (Dr. Sanjay Mathur)
June, 2015 Project Guide
iii
ABSTRACT
Home automation is the automatic or semi-automatic control and monitoring of household
appliances and residential house features like doors, gate and even the windows. A system has
been designed and implemented to collect temperatue data and control home device using Ethernet
module with Arduino. This project is a demonstration of how to design and build a multipurpose
web based controlled system that can switch OFF and ON any electrical household appliance and
monitor the room temperature, interfaced via Ethernet module with Arduino that controls a relay
for the automatic switching on and off of the appliance and temperature sensor to monitor.
The results of this project show that a microcontroller is a very powerful device for building smart
electronic devices that can automatically control electrical appliances, with little circuitry
complexities and components.
iv
TABLE OF CONTENTS
Acknowledgement……………………………………………………………………………i
Certificate by the Guide……………………………………………………………………...ii
Abstract……………………………………………………………………………………...iii
Chapter 1
Introduction……………………………………………………………………………1
1.1 Aim of the Project………………………………..……..…………………...2
1.2 Home Automation…………………………………………………………...2
1.3 Challenges in Pervasive Computing for the Home………………………….3
1.4 Home Automation Advantages……………………………………………...3
1.5 Home Automation Disadvantages…………………………………………..4
1.6 Applications of Home Automation………………………………….............4
Chapter 2
System Analysis
2.1 Proposed System Feature…..…………………………………………………5
2.2 System Requirements……….………………………………………………...6
2.3 Software Requirements………………..……………………………………...7
2.3.1 Arduino 1.0.6 IDE Software………………….………………….....7
2.3.2 Fritzing…..…………………………………………………….……7
2.4 Hardware Requirements.…………………………………………………......8
2.4.1 Arduino-UNO (ATmega328)………………………………………8
2.4.2 Arduino Ethernet Shield…………………………………………..10
2.4.3 LM35 Temperature Sensor………………………………………..13
2.4.4 SPDT Relays…...……...…………………………………………..14
2.4.5 LAN……………………………………………………………….15
2.4.6 Router……………………………………………………………...16
2.5 Platform Requirements…………………………………...............................17
2.5.1 Embedded C ………………………………………………….…..17
v
2.5.2 HTML, CSS………….………………………………….………..18
Chapter 3
System Design
3.1 Project Working …………………………………………….…………….19
3.2 Block Diagram …………………………………………….……………...20
3.3 DFD……………………….……………………………….……………....21
3.4 Hardware Design…………………………………………………………..22
Chapter 4
Software Development………..…………………….……………..............................23
Chapter 5
Conclusion………………………………………...………………………………….29
1
CHAPTER 1 INTRODUCTION
Imagine how helpful it will be to be able to switch on your air conditioning system ten minutes
before you get home on a hot afternoon in January. How about having a security system that will
detect smoke, excessive electrical power usage, burglar attempts and unauthorized movements in
your house and alert you? This is what home automation is about and there is no end to its
application. In fact, sophisticated home automation systems are now being developed that can
maintain an inventory of household items, record their usage through an RFID (Radio Frequency
Identification) tag, and prepare a shopping list or automatically order replacements.
Home automation has made it possible to have what is often referred to as a 'smart home', a home
that can detect and identify you, automatically adjust the lighting to your predefined taste, open
doors automatically, play your favourite music, water your flowers in the morning, switch on the
security lights at night and switch them off in the morning, heat water for bathe and tea, stream to
you anywhere in the world via the internet a live video of what is happening in and around your
house.
It makes it possible to link lighting, entertainment, security, telecommunications, heating, and air
conditioning into one centrally controlled system. This allows you to make your house an active
partner in managing your busy life.
Nowadays, you can hardly find a house without a home automation system which can range from
the remote for the television, burglar alarm and hi-tech security gates, to an automated air
conditioning system that maintains the temperature at a predefined value.
2
1.1 Aim of the project
The aim of this project is to design and construct a home automation system that the user will
connect to the server via a web interface, the server will collect data and send commands to the
home via an Internet interface using an Ethernet module with Arduino.
This project is to control home appliances like Television, Refrigerator, and Lights and other
home electrical appliances using a personal computer and monitor the temperature of home.
In this project a PC is interfaced with a micro-controller and it is connected to relays to which the
appliances which are to be controlled are connected.
The micro-controller controls the relays for switching the appliances, ON or OFF. Pre-defined
symbols are sent to the Microcontroller through RS232 cable
1.2 Home automation
Due to the widespread use of personal computing, mobile phones, media players and the like,
consumers have become increasingly knowledgeable about technology, more comfortable with its
use, and more acceptive of technology in their everyday lives. The time is therefore ripe to more
sophisticated ways of managing the home. This can deal with aspects such as comfort, energy
efficiency, health, home media and home management
In this project, we present a low cost secure web based, flexible, wireless solution where the home
appliances of most types can be connected to a central node through a server. This project suggests
a framework of the communication protocol between the devices to be used in home automation.
To be used in this framework we proposed a novel communication protocol to control devices
with more than just the switching functionality. The designed system will be open to expansion
and will enable control of different types of devices. The system is designed to be low cost
however at the same time more flexible alternative with respect to similar systems.
3
1.3 Challenges in pervasive computing for the home
Home computing must be appropriate for ordinary householders. Despite increased understanding
of computer-based capabilities, consumers will have little understanding of or interest in the
technical details of home equipment. The concepts and interfaces therefore need to be readily
understood. Home equipment also needs to be acceptable: devices that look out of place in the
home are unlikely to be welcome, and devices that need disruptive installations are unlikely to be
accepted.
Interoperability remains a challenge. Although a number of standards are available for home
automation, these are often proprietary, low-level, and do not guarantee interworking across
different commercial solutions. Since telecare is in its infancy, there is little standardization of
telecare equipment interfaces. User-visible interfaces to home equipment are also proprietary and
unlikely to be standardized.
1.4 Home Automation Advantages
 Home automation makes your home safer: Its visible around us that crime is on the
increase, families are beginning to aim at purchasing security alarm systems for their homes.
Home Automation adds an extra sense of security to your home, using the automation
system you can monitor your homes security cameras using a remote device. You can
receive notifications through email or message, when your alarm has been armed/disarmed
or tripped.
 Home automation saves you money and energy: Home automation systems are designed
not to use a lot of electricity, an added bonus to having a home automation system is that
you can schedule your lighting in your home to go on and off at selected times of the day.
Using a remote device, you’ll have remote access to operate any lighting or electrical
appliances.
 Home Automation is great for the parents: If you have a newborn or toddler in your
home, having a home automation system is perfect for any parent. You can be anywhere in
your home, and still be able to monitor your child in a different part of the house.
 A home automation system is an all in one user friendly system: For any technological
fanatic this is the ultimate device. From the press of a button on a remote device, the user is
able to control Lighting, Air Conditioning, Audio & Video systems and Security Video
cameras.
4
1.5 Home Automation Disadvantages
 Costs: It is no secret that installing a home automation system can be quite costly. But, it all
depends on the equipment you wish to have installed. Remember, the more advanced system
you wish to have in your home the more expensive it will be.
 Human Error: If the equipment is not handled & installed safely, this can lead to the
equipment being damaged, and the risk of the system crashing is high.
 Reliability: This occurs on a very rare occasions, depending on the age of the equipment it
can have a affect on the system, but otherwise the technology in the home automation
systems are all up to date.
1.6 Applications of Home Automation
 Heating
 Ventilation
 Cooling
 Security
 Lights and blinds
 Consumption data acquisition
 Operation features
5
CHAPTER: 2 SYSTEM ANALYSIS
Home automation systems face four main challenges, these are high cost of ownership,
inflexibility, poor manageability, and difficulty achieving security. The main objectives of that
research is to design and to implement a cheap and open source home automation system that is
capable of controlling and automating most of the house appliance through an easy manageable
web interface to run and maintain the home automation system. The proposed system has a great
flexibility by using Ethernet technology to interconnect its distributed modules to home
automation server. That will decrease deployment cost and will increase the ability of upgrading,
and system reconfiguration.
System will make use of secure wireless LAN connections between distributed hardware modules
and server, and secure communication protocols between users and server.
2.1 Proposed system feature
The proposed system is a distributed home automation system, consists of server, hardware
interface modules. Server controls hardware one interface module, and can be easily configured to
handle more hardware interface module. The hardware interface module in turn controls its alarms
and actuators. Server is a normal PC, with built in Ethernet card, acts as web server. The
webserver software is developed using asp.net technology, so web server should support asp
application and.net frame work 4.0, like IIS7.0 for windows OS.
System can be accessed from the web browser of any local PC in the same LAN using server IP,
or remotely from any PC or mobile handheld device connected to the internet with appropriate
web browser supports asp.net technology through server real IP (internet IP).
Ethernet technology is selected to be the network infrastructure that connects server and hardware
interface modules. Ethernet is chosen to improve system security (by using secure Ethernet
connection), and to increase system mobility and scalability. Even if, user intends to add new
hardware interface modules out of the coverage of central access point, repeaters or managed
wireless LAN will perfectly solve that problem.
6
The main functions of the server is to manage, control, and monitor distrusted system components,
that enables hardware interface modules to execute their assigned tasks (through actuators), and to
report server with triggered events (from sensors).
In setup mode, user can add and remove hardware interface modules, and can create basic macros
involving simple triggers and to customize the macros to perform complex series of events.
Macros can be activated manually or as a reaction for certain trigger like motion sensors and
surveillance cameras. User can also program macros to activate at random; this feature allows
your system to turn the lights on and off at random or semi-random intervals.
In running mode, if hardware interface modules report server with received events and execute
their pre-programmed macros.
Hardware interface modules are directly connected to sensors and actuator through direct wires
connections. Hardware interface modules has the capabilities to control energy management
systems like lighting, thermostats and HVAC (heating, ventilation, and cooling) systems, and
security systems (door locks, cameras, motion detectors, fire alarms…).
2.2 System requirements
The following list gives an overview of the most important requirements of the proposed system
1. User friendly interface: User can easily manage system locally or remotely home automation
system, through easy web based interface.
2. Security and authentication: Only authorized user can login to the system (locally, or
remotely) in order to manage, control, & monitor. If system detects intruders it should
immediately alert the system owner and lock login capability for a while.
3. Low cost per node / High node count: Thinking of building automation, hundreds of nodes
may be needed to provide automation. However, the market requires competitive performance
(compared to wired networks) to be delivered at this low system cost. Additionally, also protocols
need to scale to high node count e.g., ensuring message delivery
7
4. Large area coverage: Another challenge lies in the fact that devices of a building automation
system are dispersed over large areas. Since transceivers must not consume so much power, they
cannot be built with a transmission range sufficient for sensors to reach associated controllers or
actuators directly. Also, they may rely on an infrastructure of access points and a wired backbone
network (or particularly sensitive receivers).
5. System Scalability: Scalability is the ability of a system, network, or process, to handle
growing amount of work in a capable manner or its ability to be enlarged to accommodate that
growth. For example, system upgrade/downgrade by adding/removing hardware interface module
should be easy and systematic task.
2.3 Software Requirements:
2.3.1 Arduino 1.0.6 IDE Software.
2.3.2 Fritzing
2.3.1 Arduino 1.0.6 IDE Software:
The open-source Arduino environment makes it easy to write code and upload it to the board. It
runs on Windows, Mac OS X, and Linux. The environment is written in Java and based on
Processing, avr-gcc, and other open source software. It uses embedded C to write programs.
2.3.2 Fritzing:
Fritzing is an open source software initiative to support designers and artists ready to move from
physical prototyping to actual product. The software is created in the spirit of the Processing
programming language and the Arduino microcontroller and allows a designer, artist, researcher,
or hobbyist to document their Arduino-based prototype and create a PCB layout for
manufacturing. The Fritzing Source Code is written in C in the Nokia QT-Framework. The
Source-Code can be downloaded and edited via the GitHub-Repositories. The Source is split in 2
main Repositories. Fritzing-App and Fritzing-Parts.
8
2.4 Hardware Requirements:
2.4.1 Arduino-UNO (ATmega328)
2.4.2 Arduino Ethernet Shield
2.4.3 Temperature sensor
2.4.4 RELAY
2.4.5 LAN wire & USB cable
2.4.6 Router
2.4.1 Arduino-UNO (ATmega328):
The Arduino Uno is a microcontroller board based on the ATmega328 (datasheet). It has 14
digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a
16 MHz ceramic resonator, a USB connection, a power jack, an ICSP header, and a reset button. It
contains everything needed to support the microcontroller; simply connect it to a computer with a
USB cable or power it with a AC-to-DC adapter or battery to get started.
The Uno differs from all preceding boards in that it does not use the FTDI USB-to-serial driver
chip. Instead, it features the Atmega16U2 (Atmega8U2 up to version R2) programmed as a USB-
to-serial converter.
Uno board has a resistor pulling the 8U2 HWB line to ground, making it easier to put into DFU
mode of the board has the following new features:
 Pin out: Added SDA and SCL pins that are near to the AREF pin and two other new pins
placed near to the RESET pin, the IOREF that allow the shields to adapt to the voltage provided
from the board. In future, shields will be compatible with both the board that uses the AVR, which
operates with 5V and with the Arduino Due that operates with 3.3V. The second one is a not
connected pin that is reserved for future purposes.
 Stronger RESET circuit: Uno" means one in Italian and is named to mark the upcoming
release of Arduino 1.0. The Uno and version 1.0 will be the reference versions of Arduino,
moving forward. The Uno is the latest in a series of USB Arduino boards, and the reference model
for the Arduino platform.
9
Summary
Microcontroller ATmega328
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins 14 (of which 6 provide PWM output)
Analog Input Pins 6
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory
32 KB (ATmega328) of which 0.5 KB used by
bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock Speed 16 MHz
Figure 2.1:-Arduino UNO Top view
10
Figure 2.2: Arduino UNO Bottom view
2.4.2 Arduino Ethernet Shield:
Overview
The Arduino Ethernet Shield connects your Arduino to the internet in mere minutes. Just plug this
module onto your Arduino board, connect it to your network with an RJ45 cable (not included)
and follow a few simple instructions to start controlling your world through the internet. As
always with Arduino, every element of the platform – hardware, software and documentation – is
freely available and open-source. This means you can learn exactly how it's made and use its
design as the starting point for your own circuits. Hundreds of thousands of Arduino boards are
already fueling people’s creativity all over the world, everyday. Join us now, Arduino is you!
 Requires an Arduino board (not included)
 Operating voltage 5V (supplied from the Arduino Board)
 Ethernet Controller: W5100 with internal 16K buffer
 Connection speed: 10/100Mb
 Connection with Arduino on SPI port
Description
The Arduino Ethernet Shield allows an Arduino board to connect to the internet. It is based on
the Wiznet W5100ethernet chip (datasheet). The Wiznet W5100 provides a network (IP) stack
11
capable of both TCP and UDP. It supports up to four simultaneous socket connections. Use
the Ethernet library to write sketches which connect to the internet using the shield. The Ethernet
shield connects to an Arduino board using long wire-wrap headers which extend through the
shield. This keeps the pin layout intact and allows another shield to be stacked on top.
The most recent revision of the board exposes the 1.0 pinout on rev 3 of the Arduino UNO board.
The Ethernet Shield has a standard RJ-45 connection, with an integrated line transformer and
Power over Ethernet enabled.
There is an onboard micro-SD card slot, which can be used to store files for serving over the
network. It is compatible with the Arduino Uno and Mega (using the Ethernet library). The
onboard microSD card reader is accessible through the SD Library. When working with this
library, SS is on Pin 4. The original revision of the shield contained a full-size SD card slot; this is
not supported.
The shield also includes a reset controller, to ensure that the W5100 Ethernet module is properly
reset on power-up. Previous revisions of the shield were not compatible with the Mega and need
to be manually reset after power-up.
The current shield has a Power over Ethernet (PoE) module designed to extract power from a
conventional twisted pair Category 5 Ethernet cable:
 IEEE802.3af compliant
 Low output ripple and noise (100mVpp)
 Input voltage range 36V to 57V
 Overload and short-circuit protection
 9V Output
 High efficiency DC/DC converter: type 75% @ 50% load
 1500V isolation (input to output)
The shield does not come with the POE module built in, it is a separate component that must be
added on.
Arduino communicates with both the W5100 and SD card using the SPI bus (through the ICSP
header). This is on digital pins 10, 11, 12, and 13 on the Uno and pins 50, 51, and 52 on the Mega.
On both boards, pin 10 is used to select the W5100 and pin 4 for the SD card. These pins cannot
12
be used for general I/O. On the Mega, the hardware SS pin, 53, is not used to select either the
W5100 or the SD card, but it must be kept as an output or the SPI interface won't work.
Note that because the W5100 and SD card share the SPI bus, only one can be active at a time. If
you are using both peripherals in your program, this should be taken care of by the corresponding
libraries. If you're not using one of the peripherals in your program, however, you'll need to
explicitly deselect it. To do this with the SD card, set pin 4 as an output and write a high to it. For
the W5100, set digital pin 10 as a high output.
The shield provides a standard RJ45 Ethernet jack.
The reset button on the shield resets both the W5100 and the Arduino board.
The shield contains a number of informational LEDs:
 PWR: indicates that the board and shield are powered
 LINK: indicates the presence of a network link and flashes when the shield transmits or
receives data
 FULLD: indicates that the network connection is full duplex
 100M: indicates the presence of a 100 Mb/s network connection (as opposed to 10 Mb/s)
 RX: flashes when the shield receives data
 TX: flashes when the shield sends data
 COLL: flashes when network collisions are detected
The solder jumper marked "INT" can be connected to allow the Arduino board to receive
interrupt-driven notification of events from the W5100, but this is not supported by the Ethernet
library. The jumper connects the INT pin of the W5100 to digital pin 2 of the Arduino.
13
Figure 2.3: Arduino Ethernet Shield Top view
Figure 2.4: Arduino Ethernet Shield Bottom view
2.4.3 LM35 Temperature Sensor
The LM35 series are precision integrated-circuit temperature devices with an output voltage
linearly proportional to the Centigrade temperature. The LM35 device has an advantage over
linear temperature sensors calibrated in Kelvin, as the user is not required to subtract a large
constant voltage from the output to obtain convenient Centigrade scaling. The LM35 device does
not require any external calibration or trimming to provide typical accuracies of ±¼°C at room
temperature and ±¾°C over a full −55°C to 150°C temperature range. Lower cost is assured by
trimming and calibration at the wafer level. The low-output impedance, linear output, and precise
14
inherent calibration of the LM35 device makes interfacing to readout or control circuitry
especially easy. The device is used with single power supplies, or with plus and minus supplies.
As the LM35 device draws only 60 μA from the supply, it has very low self-heating of less than
0.1°C in still air. The LM35 device is rated to operate over a −55°C to 150°C temperature range,
while the LM35C device is rated for a −40°C to 110°C range (−10° with improved accuracy).
Features
 Calibrated Directly in Celsius (Centigrade)
 Linear + 10-mV/°C Scale Factor
 0.5°C Ensured Accuracy (at 25°C)
 Rated for Full −55°C to 150°C Range
 Suitable for Remote Applications
 Low-Cost Due to Wafer-Level Trimming
 Operates from 4 V to 30 V
 Less than 60-μA Current Drain
 Low Self-Heating, 0.08°C in Still Air
 Non-Linearity Only ±¼°C Typical
2.4.4 SPDT Relays
A relay is an electrically operated switch used to isolate one electrical circuit from another. In its
simplest form, a relay consists of a coil used as an electromagnet to open and close switch
contacts. Since the two circuits are isolated from one another, a lower voltage circuit can be used
to trip a relay, which will control a separate circuit that requires a higher voltage or amperage.
Relays can be found in early telephone exchange equipment, in industrial control circuits, in car
audio systems, in automobiles, on water pumps, in high-power audio amplifiers and as protection
devices.
The switch contacts on a relay can be "normally open" (NO) or "normally closed" (NC)--that is,
when the coil is at rest and not energized (no current flowing through it), the switch contacts are
given the designation of being NO or NC. In an open circuit, no current flows, such as a wall light
switch in your home in a position that the light is off. In a closed circuit, metal switch contacts
touch each other to complete a circuit, and current flows, similar to turning a light switch to the
15
"on" position. In the accompanying schematic diagram, points A and B connect to the coil. Points
C and D connect to the switch. When you apply a voltage across the coil at points A and B, you
create an electromagnetic field, which attracts a lever in the switch, causing it to make or break
contact in the circuit at points C and D (depending if the design is NO or NC). The switch contacts
remain in this state until you remove the voltage to the coil. Relays come in different switch
configurations. The switches may have more than one "pole," or switch contact. The diagram
shows a "single pole single throw" configuration, referred to as SPST. This is similar to a wall
light switch in your home. With a single "throw" of the switch, you close the circuit.
Figure 2.5: The Single Pole Double Throw Relay
A single pole double throw (SPDT) relay configuration switches one common pole to two other
poles, flipping between them. As shown in the schematic diagram, the common point E completes
a circuit with C when the relay coil is at rest, that is, no voltage is applied to it. This circuit is
"closed." A gap between the contacts of point E and D creates an "open" circuit. When you apply
power to the coil, a metal level is pulled down, closing the circuit between points E and D and
opening the circuit between E and C. A single pole double throw relay can be used to alternate
which circuit a voltage or signal will be sent to.
2.4.5 LAN (Local Area Network)
A local area network (LAN) is a computer network that interconnects computers within a limited
area such as a home, school, computer laboratory, or office building, using network media.[1] The
16
defining characteristics of LANs, in contrast to wide area networks (WANs), include their smaller
geographic area, and non-inclusion of leased telecommunication lines.
Figure 2.6: LAN Wire
Cabling
Early LAN cabling had generally been based on various grades of coaxial cable. Shielded twisted
pair was used in IBM's Token Ring LAN implementation, but in 1984, StarLAN showed the
potential of simple unshielded twisted pair by using Cat3 cable—the same simple cable used for
telephone systems. This led to the development of 10Base-T (and its successors) and structured
cabling which is still the basis of most commercial LANs today.
Fiber-optic cabling is common for links between switches, but fiber to the desktop is uncommon.
Wireless
As well as traditional cabling, many LANs are now based partly or wholly on wireless
technologies. Almost all of today's smartphones, tablets and laptops have wireless support built-in
so a wireless local area network, or WLAN, gives users the ability to move around within a local
coverage area and still be connected to the network. Wireless networks have become popular in
domestic homes due to ease of installation, and in commercial complexes to offer easy network
access to their staff. Visiting guest are often offered internet access via a hotspot service.
2.4.6 Router:
A router is a device that forwards data packets along networks. A router is connected to at least
two networks, commonly two LANs or WANs or a LAN and its ISP's network. Routers are
located at gateways, the places where two or more networks connect. Routers use headers and
forwarding tables to determine the best path for forwarding the packets, and they
use protocols such as ICMP to communicate with each other and configure the best route between
any two hosts.
17
Very little filtering of data is done through routers.
Figure 2.7: Router
2.5 Platform Requirements:
2.5.1 Embedded C
2.5.2 HTML, CSS, and JavaScript
2.5.1 Embedded C
Embedded C is a set of language extensions for the C Programming language by the C Standards
committee to address commonality issues that exist between C extensions for different embedded
systems. Historically, embedded C programming requires nonstandard extensions to the C
language in order to support exotic features such as fixed-point arithmetic, multiple
distinct memory banks, and basic I/O operations.
In 2008, the C Standards Committee extended the C language to address these issues by providing
a common standard for all implementations to adhere to. It includes a number of features not
available in normal C, such as, fixed-point arithmetic, named address spaces, and basic I/O
hardware addressing.
Embedded C uses most of the syntax and semantics of standard C, e.g., main() function, variable
definition, datatype declaration, conditional statements (if, switch, case), loops (while, for),
functions, arrays and strings, structures and union, bit operations, macros, etc.
18
Advantages
 It is small and reasonably simpler to learn, understand, program and debug.
 Compared to assembly language, C code written is more reliable and scalable, more portable
between different platforms.
 C compilers are available for almost all embedded devices in use today, and there is a large
pool of experienced C programmers.
 Unlike assembly, C has advantage of processor-independence and is not specific to any
particular microprocessor/microcontroller or any system. This makes it convenient for a user to
develop programs that can run on most of the systems.
 As C combines functionality of assembly language and features of high level languages, C is
treated as a ‘middle-level computer language’ or ‘high level assembly language’.
 It is fairly efficient.
 It supports access to I/O and provides ease of management of large embedded projects.
 Java is also used in many embedded systems but Java programs require the Java Virtual
Machine (JVM), which consume lot of resources. Hence it is not used for smaller embedded
devices.
2.5.2 HTML, CSS and JavaScript:
HTML (the Hypertext Markup Language) and CSS (Cascading Style Sheets) are two of the core
technologies for building Web pages. HTML provides the structure of the page, CSS the (visual
and aural) layout, for a variety of devices. Along with graphics and scripting, HTML and CSS are
the basis of building Web pages and Web Applications.
JavaScript, also known as ECMAScript (the untrademarked name used for the standard), is a
dynamic programming language. It is most commonly used as part of web browsers, whose
implementations allow client-side scripts to interact with the user, control the browser,
communicate asynchronously, and alter the document content that is displayed. JavaScript is also
considered an "assembly language of the web – a compile target of source-to-source compilers –
for making client side web applications, using other programming languages, supported by all the
major browsers without plug-ins.
19
CHAPTER 3 SYSTEM DESIGN
3.1 Project Working:
Figure 3.1: Webpage Screenshot
In this project, user can access the webpage on his computer or mobile from anywhere in the
world using internet. It will allow the user to control the light and monitor the temperature. The
webpage refreshes itself in 2 seconds, thus updating its status. The webpage uses AJAX to reload
its frame if the status of switch is changes from any other device.
20
3.2 Block Diagram:
Figure 3.2: Block Diagram
21
3.3 Data Flow Diagram (DFD)
Figure 3.3: Data Flow Diagram
22
3.4 Hardware design
Arduino Uno R3 is used as microcontroller with Ethernet Shield W5100 mounted over it. It uses
SPI interface to connect with Arduino. LM35 temperature sensor is connected to the a1 pin of board
to get analog temperature values. Digital pin 6 is used to connect to relay through ULN2003 driver
IC. Input and Output are taken from pin 2 and pin 15 respectively. Pin 9 is grounded. NC pin of
relay is connected to IC and power source is connected to the other two pins.
23
CHAPTER 4 Software Development
#include <SPI.h>
#include <Ethernet.h>
#include <SD.h>
#include <YalerEthernetServer.h>
// size of buffer used to capture HTTP requests
#define REQ_BUF_SZ 60
// MAC address from Ethernet shield sticker under board
byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x42, 0x3E };
byte ip[] = { 192, 168, 0,111};
EthernetServer server(80);
// IP address, may need to change depending on network
//YalerEthernetServer server("try.yaler.net", 80, "gsiot-ymkn-21xr"); // create a server at port 80
File webFile; // the web page file on the SD card
char HTTP_req[REQ_BUF_SZ] = {0}; // buffered HTTP request stored as null terminated string
char req_index = 0; // index into HTTP_req buffer
boolean LED_state = 0; // stores the states of the LEDs
void setup()
{
// disable Ethernet chip
pinMode(10, OUTPUT);
digitalWrite(10, HIGH);
Serial.begin(9600); // for debugging
// initialize SD card
Serial.println("Initializing SD card...");
if (!SD.begin(4)) {
Serial.println("ERROR - SD card initialization failed!");
24
return; // init failed
}
Serial.println("SUCCESS - SD card initialized.");
// check for index.htm file
if (!SD.exists("index.htm")) {
Serial.println("ERROR - Can't find index.htm file!");
return; // can't find index file
}
Serial.println("SUCCESS - Found index.htm file.");
// switch on pin 2
// LEDs
pinMode(6, OUTPUT);
Ethernet.begin(mac,ip); // initialize Ethernet device
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP()); // start to listen for clients
}
void loop()
{
EthernetClient client = server.available(); // try to get client
if (client) { // got client?
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) { // client data available to read
char c = client.read(); // read 1 byte (character) from client
// limit the size of the stored received HTTP request
// buffer first part of HTTP request in HTTP_req array (string)
25
// leave last element in array as 0 to null terminate string (REQ_BUF_SZ - 1)
if (req_index < (REQ_BUF_SZ - 1)) {
HTTP_req[req_index] = c; // save HTTP request character
req_index++;
}
// last line of client request is blank and ends with n
// respond to client only after last line received
if (c == 'n' && currentLineIsBlank) {
// send a standard http response header
client.println("HTTP/1.1 200 OK");
// remainder of header follows below, depending on if
// web page or XML page is requested
// Ajax request - send XML file
if (StrContains(HTTP_req, "ajax_inputs")) {
// send rest of HTTP header
client.println("Content-Type: text/xml");
client.println("Connection: keep-alive");
client.println();
SetLEDs();
// send XML file containing input states
XML_response(client);
} else
{ // web page request
// send rest of HTTP header
client.println("Content-Type: text/html");
client.println("Connection: keep-alive");
client.println();
// send web page
webFile = SD.open("index.htm"); // open web page file
if (webFile) {
while(webFile.available()) {
client.write(webFile.read()); // send web page to client
}
26
webFile.close();
}
}
// display received HTTP request on serial port
Serial.print(HTTP_req);
// reset buffer index and all buffer elements to 0
req_index = 0;
StrClear(HTTP_req, REQ_BUF_SZ);
break;
}
// every line of text received from the client ends with rn
if (c == 'n') {
// last character on line of received text
// starting new line with next character read
currentLineIsBlank = true;
}
else if (c != 'r') {
// a text character was received from client
currentLineIsBlank = false;
}
} // end if (client.available())
} // end while (client.connected())
delay(1); // give the web browser time to receive the data
client.stop(); // close the connection
} // end if (client)
}
// checks if received HTTP request is switching on/off LEDs
// also saves the state of the LEDs
void SetLEDs(void)
{
// LED 1 (pin 6)
if (StrContains(HTTP_req, "LED1=1")) {
LED_state = 1; // save LED state
27
digitalWrite(6, HIGH);
}
else if (StrContains(HTTP_req, "LED1=0")) {
LED_state = 0; // save LED state
digitalWrite(6, LOW);
}
}
// send the XML file with analog values, switch status
// and LED status
void XML_response(EthernetClient cl)
{
cl.println("<?xml version = "1.0" ?>");
cl.println("<inputs>");
// read analog inputs
cl.print("<analog>");
cl.print(int(0.48828125*analogRead(2)));
cl.println("</analog>");
// checkbox LED states
// LED1
cl.print("<LED>");
if (LED_state) {cl.print("checked");} else {cl.print("unchecked");}
cl.println("</LED>");
cl.print("</inputs>");
}
// sets every element of str to 0 (clears array)
void StrClear(char *str, char length)
{
for (int i = 0; i < length; i++) {
28
str[i] = 0;
}
}
// searches for the string sfind in the string str
// returns 1 if string found
// returns 0 if string not found
char StrContains(char *str, char *sfind)
{
char found = 0;
char index = 0;
char len;
len = strlen(str);
if (strlen(sfind) > len) {
return 0;
}
while (index < len) {
if (str[index] == sfind[found]) {
found++;
if (strlen(sfind) == found) {
return 1;
}
}
else {
found = 0;
}
index++;
}
return 0;
}
29
CHAPTER 5 CONCLUSION
By using this project we control all the Electrical appliances of Home using Personal Computer
or Smartphone via Arduino UNO and Ethernet Shield as the communication medium between
PC and controller.
We are controlling the devices like light bulb by sending signals from the PC to controller from a
webpage created for specific controls of different appliances. It helps in control of these
appliances from any remote location. It also helps in monitoring the temperature of room, which
can be very helpful to the users. This project gives exact concept of interfacing a high voltage
electrical device to a microcontroller using relay.
We demonstrated the control of a light bulb and sensing of thee temperature with the help of
Arduino Board. For real time implementation at home, we can increase the number of relays
connected to the board to control more appliances. To further increase the number of appliances
control we have to use more Arduino Boards that are connected to the Internet.
We are currently controlling the project with the web browser. We can also develop a stand-
alone application to control the device. We can also keep a record of the different sensors in a
datasheet and use them as a reference for future uses and control.
Our project is a step towards the full automation of the entire home through the control of
different IPs for different appliances. This project is a small application of our concept in
automating and monitoring a system. The practical applications of this project are immense and
can have vast level of implementation.
30
REFERENCES
1. https://startingelectronics.org/tutorials/arduino/ethernet-shield-web-server-tutorial/ (visited
on 14/11/2014)
2. Electronics for you Magazine – July 2014 edition
3. http://www.arduino.cc/en/Guide/HomePage
31
BIODATA
1. Name : ABHIJEET SINGH RAWAT
2. ID No. : 42429
3. Father’s Name : Mr. Balwant Singh Rawat
4. Mother’s Name :Mrs. Kamala Rawat
5. Educational Qualifications:
Examination Board/University Year of
passing
Marks (%) Division
X CBSE 2009 89.4 First
XII CBSE 2011 87.4 First
B.Tech GBPUA&T 2015 76.33(up to 7th
semester)
First
6. Placed in: Tata Consultancy Services Ltd.
7. Address for correspondence :Dewalchaur Bandobasti PO:Dewalchaur Rampur Road
Haldwani 263139
8. Email ID : as.rawat86@gmail.com
9. Mobile No. : 9568129377
32
1. Name : SUSHIL KUMAR
2. ID No. : 42244
3. Father’s Name : Mr. Shyam Singh
4. Mother’s Name :Mrs. Krishna Devi
5. Educational Qualifications:
Examination Board/University Year of
passing
Marks (%) Division
X CBSE 2009 87.6 First
XII CBSE 2011 76.8 First
B.Tech GBPUA&T 2015 6.74(up to 7th
semester)
Second
6. Placed in: Century Pulp And Papers Ltd.
7. Address for correspondence :Vill-Dabhora Tanda ,P.O.-Kashipur ,244713
8. Email ID : kumarsushil259@gmail.com
9. Mobile No. : 9012935717
33
1. Name : ATUL TYAGI
2. ID No. : 42401
3. Father’s Name : Mr. Praveen Tyagi
4. Mother’s Name :Mrs. Mamta Tyagi
5. Educational Qualifications:
Examination Board/University Year of
passing
Marks (%) Division
X CBSE 2009 84.0 First
XII CBSE 2011 90.6 First
B.Tech GBPUA&T 2015 76.2(up to 7th
semester)
First
6. Placed in: Tata Consultancy Services Ltd.
7. Address for correspondence : S/O Praveen Tyagi, Arya Nagar, Maheshpura Road,
Kashipur 244713
8. Email ID : a3ltyagi@gmail.com
9. Mobile No. : 8791959584
34
1. Name : PUNEET KUMAR MANDAL
2. ID No. : 42168
3. Father’s Name : Mr.Vishwanath Mandal
4. Mother’s Name :Mrs. Aruni Rani Mandal
5. Educational Qualifications:
Examination Board/University Year of
passing
Marks (%) Division
X CBSE 2009 90.4 First
XII CBSE 2011 90.8 First
B.Tech GBPUA&T 2015 76.36(up to 7th
semester)
First
6. Placed in: Tata Consultancy Services Ltd.
7. Address for correspondence : 372, Old Awas Vikas Kashipur 244713
8. Email ID : mandal.puneet30@gmail.com
9. Mobile No. : 9012966536
35
1. Name : NISHANT PANDEY
2. ID No. : 42243
3. Father’s Name: Mr. Anil Kumar Pandey
4. Mother’s Name: Mrs. Manju Pandey
5. Educational Qualifications:
Examination Board/University Year of
passing
Marks (%) Division
X CBSE 2009 88.4 First
XII CBSE 2011 83.4 First
B.Tech GBPUA&T 2015 6.9 (up to 7th
semester)
First
6. Placed in: Nucleus Software Ltd.
7. Address for correspondence : Govt. Inter College Lalkuan
8. Email ID : nishant25698@gmail.com
9. Mobile No. : 7351732901

Project Report Webcasa Final(1)

  • 1.
    WEBCASA : HomeAutomation System A Project Report Submitted to the Department of Electronics & Communication Engineering College Of Technology G.B. Pant University of Agriculture & Technology Pantnagar Submitted By: ATUL TYAGI 42401 SUSHIL KUMAR 42244 NISHANT PANDEY 42243 ABHIJEET SINGH RAWAT 42429 PUNEET KUMAR MANDAL 42168 Guided by Dr. Sanjay Mathur FOR THE DEGREE OF BACHELOR OF TECHNOLOGY (ELECTRONICS AND COMMUNICATION ENGINEERING) MAY, 2015
  • 2.
    i ACKNOWLEDGEMENT We are highlyobliged to Dr. Sanjay Mathur and other professors of our department of Electronics and Communication Engineering and the staff members for their kindly and helpful nature during our education and our project, which is “WEBCASA: HOME AUTOMATION SYSTEM”. We are very thankful to our Head of Department for his support and the encouragement during our project and also the professors and the lab staff for providing the all the data, equipment and help required. We are thankful to Dr. Sanjay Mathur for his help and guidance and information provided which was helpful during the project. The information provided by him was not only informative but even helped us in troubleshooting the troubles during the project. (ATUL TYAGI) (SUSHIL KUMAR) (NISHANT PANDEY) 42401 42244 42243 (ABHIJEET SINGH RAWAT) (PUNEET KUMAR MANDAL) 42429 42168
  • 3.
    ii CERTIFICATE This is tocertify that the project entitled “Webcasa: Home Automation System”, Submitted by 1. Atul Tyagi 42401 2. Sushil Kumar 42244 3. Nishant Pandey 42243 4. Abhijeet Singh Rawat 42429 5. Puneet Kumar Mandal 42168 is the record of the work done by them in the requirements for the degree of Bachelor of Technology in Electronics and Communication Engineering, College of Technology, G. B. Pant University of Agriculture and Technology, Pantnagar. Pantnagar (Dr. Sanjay Mathur) June, 2015 Project Guide
  • 4.
    iii ABSTRACT Home automation isthe automatic or semi-automatic control and monitoring of household appliances and residential house features like doors, gate and even the windows. A system has been designed and implemented to collect temperatue data and control home device using Ethernet module with Arduino. This project is a demonstration of how to design and build a multipurpose web based controlled system that can switch OFF and ON any electrical household appliance and monitor the room temperature, interfaced via Ethernet module with Arduino that controls a relay for the automatic switching on and off of the appliance and temperature sensor to monitor. The results of this project show that a microcontroller is a very powerful device for building smart electronic devices that can automatically control electrical appliances, with little circuitry complexities and components.
  • 5.
    iv TABLE OF CONTENTS Acknowledgement……………………………………………………………………………i Certificateby the Guide……………………………………………………………………...ii Abstract……………………………………………………………………………………...iii Chapter 1 Introduction……………………………………………………………………………1 1.1 Aim of the Project………………………………..……..…………………...2 1.2 Home Automation…………………………………………………………...2 1.3 Challenges in Pervasive Computing for the Home………………………….3 1.4 Home Automation Advantages……………………………………………...3 1.5 Home Automation Disadvantages…………………………………………..4 1.6 Applications of Home Automation………………………………….............4 Chapter 2 System Analysis 2.1 Proposed System Feature…..…………………………………………………5 2.2 System Requirements……….………………………………………………...6 2.3 Software Requirements………………..……………………………………...7 2.3.1 Arduino 1.0.6 IDE Software………………….………………….....7 2.3.2 Fritzing…..…………………………………………………….……7 2.4 Hardware Requirements.…………………………………………………......8 2.4.1 Arduino-UNO (ATmega328)………………………………………8 2.4.2 Arduino Ethernet Shield…………………………………………..10 2.4.3 LM35 Temperature Sensor………………………………………..13 2.4.4 SPDT Relays…...……...…………………………………………..14 2.4.5 LAN……………………………………………………………….15 2.4.6 Router……………………………………………………………...16 2.5 Platform Requirements…………………………………...............................17 2.5.1 Embedded C ………………………………………………….…..17
  • 6.
    v 2.5.2 HTML, CSS………….………………………………….………..18 Chapter3 System Design 3.1 Project Working …………………………………………….…………….19 3.2 Block Diagram …………………………………………….……………...20 3.3 DFD……………………….……………………………….……………....21 3.4 Hardware Design…………………………………………………………..22 Chapter 4 Software Development………..…………………….……………..............................23 Chapter 5 Conclusion………………………………………...………………………………….29
  • 7.
    1 CHAPTER 1 INTRODUCTION Imaginehow helpful it will be to be able to switch on your air conditioning system ten minutes before you get home on a hot afternoon in January. How about having a security system that will detect smoke, excessive electrical power usage, burglar attempts and unauthorized movements in your house and alert you? This is what home automation is about and there is no end to its application. In fact, sophisticated home automation systems are now being developed that can maintain an inventory of household items, record their usage through an RFID (Radio Frequency Identification) tag, and prepare a shopping list or automatically order replacements. Home automation has made it possible to have what is often referred to as a 'smart home', a home that can detect and identify you, automatically adjust the lighting to your predefined taste, open doors automatically, play your favourite music, water your flowers in the morning, switch on the security lights at night and switch them off in the morning, heat water for bathe and tea, stream to you anywhere in the world via the internet a live video of what is happening in and around your house. It makes it possible to link lighting, entertainment, security, telecommunications, heating, and air conditioning into one centrally controlled system. This allows you to make your house an active partner in managing your busy life. Nowadays, you can hardly find a house without a home automation system which can range from the remote for the television, burglar alarm and hi-tech security gates, to an automated air conditioning system that maintains the temperature at a predefined value.
  • 8.
    2 1.1 Aim ofthe project The aim of this project is to design and construct a home automation system that the user will connect to the server via a web interface, the server will collect data and send commands to the home via an Internet interface using an Ethernet module with Arduino. This project is to control home appliances like Television, Refrigerator, and Lights and other home electrical appliances using a personal computer and monitor the temperature of home. In this project a PC is interfaced with a micro-controller and it is connected to relays to which the appliances which are to be controlled are connected. The micro-controller controls the relays for switching the appliances, ON or OFF. Pre-defined symbols are sent to the Microcontroller through RS232 cable 1.2 Home automation Due to the widespread use of personal computing, mobile phones, media players and the like, consumers have become increasingly knowledgeable about technology, more comfortable with its use, and more acceptive of technology in their everyday lives. The time is therefore ripe to more sophisticated ways of managing the home. This can deal with aspects such as comfort, energy efficiency, health, home media and home management In this project, we present a low cost secure web based, flexible, wireless solution where the home appliances of most types can be connected to a central node through a server. This project suggests a framework of the communication protocol between the devices to be used in home automation. To be used in this framework we proposed a novel communication protocol to control devices with more than just the switching functionality. The designed system will be open to expansion and will enable control of different types of devices. The system is designed to be low cost however at the same time more flexible alternative with respect to similar systems.
  • 9.
    3 1.3 Challenges inpervasive computing for the home Home computing must be appropriate for ordinary householders. Despite increased understanding of computer-based capabilities, consumers will have little understanding of or interest in the technical details of home equipment. The concepts and interfaces therefore need to be readily understood. Home equipment also needs to be acceptable: devices that look out of place in the home are unlikely to be welcome, and devices that need disruptive installations are unlikely to be accepted. Interoperability remains a challenge. Although a number of standards are available for home automation, these are often proprietary, low-level, and do not guarantee interworking across different commercial solutions. Since telecare is in its infancy, there is little standardization of telecare equipment interfaces. User-visible interfaces to home equipment are also proprietary and unlikely to be standardized. 1.4 Home Automation Advantages  Home automation makes your home safer: Its visible around us that crime is on the increase, families are beginning to aim at purchasing security alarm systems for their homes. Home Automation adds an extra sense of security to your home, using the automation system you can monitor your homes security cameras using a remote device. You can receive notifications through email or message, when your alarm has been armed/disarmed or tripped.  Home automation saves you money and energy: Home automation systems are designed not to use a lot of electricity, an added bonus to having a home automation system is that you can schedule your lighting in your home to go on and off at selected times of the day. Using a remote device, you’ll have remote access to operate any lighting or electrical appliances.  Home Automation is great for the parents: If you have a newborn or toddler in your home, having a home automation system is perfect for any parent. You can be anywhere in your home, and still be able to monitor your child in a different part of the house.  A home automation system is an all in one user friendly system: For any technological fanatic this is the ultimate device. From the press of a button on a remote device, the user is able to control Lighting, Air Conditioning, Audio & Video systems and Security Video cameras.
  • 10.
    4 1.5 Home AutomationDisadvantages  Costs: It is no secret that installing a home automation system can be quite costly. But, it all depends on the equipment you wish to have installed. Remember, the more advanced system you wish to have in your home the more expensive it will be.  Human Error: If the equipment is not handled & installed safely, this can lead to the equipment being damaged, and the risk of the system crashing is high.  Reliability: This occurs on a very rare occasions, depending on the age of the equipment it can have a affect on the system, but otherwise the technology in the home automation systems are all up to date. 1.6 Applications of Home Automation  Heating  Ventilation  Cooling  Security  Lights and blinds  Consumption data acquisition  Operation features
  • 11.
    5 CHAPTER: 2 SYSTEMANALYSIS Home automation systems face four main challenges, these are high cost of ownership, inflexibility, poor manageability, and difficulty achieving security. The main objectives of that research is to design and to implement a cheap and open source home automation system that is capable of controlling and automating most of the house appliance through an easy manageable web interface to run and maintain the home automation system. The proposed system has a great flexibility by using Ethernet technology to interconnect its distributed modules to home automation server. That will decrease deployment cost and will increase the ability of upgrading, and system reconfiguration. System will make use of secure wireless LAN connections between distributed hardware modules and server, and secure communication protocols between users and server. 2.1 Proposed system feature The proposed system is a distributed home automation system, consists of server, hardware interface modules. Server controls hardware one interface module, and can be easily configured to handle more hardware interface module. The hardware interface module in turn controls its alarms and actuators. Server is a normal PC, with built in Ethernet card, acts as web server. The webserver software is developed using asp.net technology, so web server should support asp application and.net frame work 4.0, like IIS7.0 for windows OS. System can be accessed from the web browser of any local PC in the same LAN using server IP, or remotely from any PC or mobile handheld device connected to the internet with appropriate web browser supports asp.net technology through server real IP (internet IP). Ethernet technology is selected to be the network infrastructure that connects server and hardware interface modules. Ethernet is chosen to improve system security (by using secure Ethernet connection), and to increase system mobility and scalability. Even if, user intends to add new hardware interface modules out of the coverage of central access point, repeaters or managed wireless LAN will perfectly solve that problem.
  • 12.
    6 The main functionsof the server is to manage, control, and monitor distrusted system components, that enables hardware interface modules to execute their assigned tasks (through actuators), and to report server with triggered events (from sensors). In setup mode, user can add and remove hardware interface modules, and can create basic macros involving simple triggers and to customize the macros to perform complex series of events. Macros can be activated manually or as a reaction for certain trigger like motion sensors and surveillance cameras. User can also program macros to activate at random; this feature allows your system to turn the lights on and off at random or semi-random intervals. In running mode, if hardware interface modules report server with received events and execute their pre-programmed macros. Hardware interface modules are directly connected to sensors and actuator through direct wires connections. Hardware interface modules has the capabilities to control energy management systems like lighting, thermostats and HVAC (heating, ventilation, and cooling) systems, and security systems (door locks, cameras, motion detectors, fire alarms…). 2.2 System requirements The following list gives an overview of the most important requirements of the proposed system 1. User friendly interface: User can easily manage system locally or remotely home automation system, through easy web based interface. 2. Security and authentication: Only authorized user can login to the system (locally, or remotely) in order to manage, control, & monitor. If system detects intruders it should immediately alert the system owner and lock login capability for a while. 3. Low cost per node / High node count: Thinking of building automation, hundreds of nodes may be needed to provide automation. However, the market requires competitive performance (compared to wired networks) to be delivered at this low system cost. Additionally, also protocols need to scale to high node count e.g., ensuring message delivery
  • 13.
    7 4. Large areacoverage: Another challenge lies in the fact that devices of a building automation system are dispersed over large areas. Since transceivers must not consume so much power, they cannot be built with a transmission range sufficient for sensors to reach associated controllers or actuators directly. Also, they may rely on an infrastructure of access points and a wired backbone network (or particularly sensitive receivers). 5. System Scalability: Scalability is the ability of a system, network, or process, to handle growing amount of work in a capable manner or its ability to be enlarged to accommodate that growth. For example, system upgrade/downgrade by adding/removing hardware interface module should be easy and systematic task. 2.3 Software Requirements: 2.3.1 Arduino 1.0.6 IDE Software. 2.3.2 Fritzing 2.3.1 Arduino 1.0.6 IDE Software: The open-source Arduino environment makes it easy to write code and upload it to the board. It runs on Windows, Mac OS X, and Linux. The environment is written in Java and based on Processing, avr-gcc, and other open source software. It uses embedded C to write programs. 2.3.2 Fritzing: Fritzing is an open source software initiative to support designers and artists ready to move from physical prototyping to actual product. The software is created in the spirit of the Processing programming language and the Arduino microcontroller and allows a designer, artist, researcher, or hobbyist to document their Arduino-based prototype and create a PCB layout for manufacturing. The Fritzing Source Code is written in C in the Nokia QT-Framework. The Source-Code can be downloaded and edited via the GitHub-Repositories. The Source is split in 2 main Repositories. Fritzing-App and Fritzing-Parts.
  • 14.
    8 2.4 Hardware Requirements: 2.4.1Arduino-UNO (ATmega328) 2.4.2 Arduino Ethernet Shield 2.4.3 Temperature sensor 2.4.4 RELAY 2.4.5 LAN wire & USB cable 2.4.6 Router 2.4.1 Arduino-UNO (ATmega328): The Arduino Uno is a microcontroller board based on the ATmega328 (datasheet). It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz ceramic resonator, a USB connection, a power jack, an ICSP header, and a reset button. It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to get started. The Uno differs from all preceding boards in that it does not use the FTDI USB-to-serial driver chip. Instead, it features the Atmega16U2 (Atmega8U2 up to version R2) programmed as a USB- to-serial converter. Uno board has a resistor pulling the 8U2 HWB line to ground, making it easier to put into DFU mode of the board has the following new features:  Pin out: Added SDA and SCL pins that are near to the AREF pin and two other new pins placed near to the RESET pin, the IOREF that allow the shields to adapt to the voltage provided from the board. In future, shields will be compatible with both the board that uses the AVR, which operates with 5V and with the Arduino Due that operates with 3.3V. The second one is a not connected pin that is reserved for future purposes.  Stronger RESET circuit: Uno" means one in Italian and is named to mark the upcoming release of Arduino 1.0. The Uno and version 1.0 will be the reference versions of Arduino, moving forward. The Uno is the latest in a series of USB Arduino boards, and the reference model for the Arduino platform.
  • 15.
    9 Summary Microcontroller ATmega328 Operating Voltage5V Input Voltage (recommended) 7-12V Input Voltage (limits) 6-20V Digital I/O Pins 14 (of which 6 provide PWM output) Analog Input Pins 6 DC Current per I/O Pin 40 mA DC Current for 3.3V Pin 50 mA Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Clock Speed 16 MHz Figure 2.1:-Arduino UNO Top view
  • 16.
    10 Figure 2.2: ArduinoUNO Bottom view 2.4.2 Arduino Ethernet Shield: Overview The Arduino Ethernet Shield connects your Arduino to the internet in mere minutes. Just plug this module onto your Arduino board, connect it to your network with an RJ45 cable (not included) and follow a few simple instructions to start controlling your world through the internet. As always with Arduino, every element of the platform – hardware, software and documentation – is freely available and open-source. This means you can learn exactly how it's made and use its design as the starting point for your own circuits. Hundreds of thousands of Arduino boards are already fueling people’s creativity all over the world, everyday. Join us now, Arduino is you!  Requires an Arduino board (not included)  Operating voltage 5V (supplied from the Arduino Board)  Ethernet Controller: W5100 with internal 16K buffer  Connection speed: 10/100Mb  Connection with Arduino on SPI port Description The Arduino Ethernet Shield allows an Arduino board to connect to the internet. It is based on the Wiznet W5100ethernet chip (datasheet). The Wiznet W5100 provides a network (IP) stack
  • 17.
    11 capable of bothTCP and UDP. It supports up to four simultaneous socket connections. Use the Ethernet library to write sketches which connect to the internet using the shield. The Ethernet shield connects to an Arduino board using long wire-wrap headers which extend through the shield. This keeps the pin layout intact and allows another shield to be stacked on top. The most recent revision of the board exposes the 1.0 pinout on rev 3 of the Arduino UNO board. The Ethernet Shield has a standard RJ-45 connection, with an integrated line transformer and Power over Ethernet enabled. There is an onboard micro-SD card slot, which can be used to store files for serving over the network. It is compatible with the Arduino Uno and Mega (using the Ethernet library). The onboard microSD card reader is accessible through the SD Library. When working with this library, SS is on Pin 4. The original revision of the shield contained a full-size SD card slot; this is not supported. The shield also includes a reset controller, to ensure that the W5100 Ethernet module is properly reset on power-up. Previous revisions of the shield were not compatible with the Mega and need to be manually reset after power-up. The current shield has a Power over Ethernet (PoE) module designed to extract power from a conventional twisted pair Category 5 Ethernet cable:  IEEE802.3af compliant  Low output ripple and noise (100mVpp)  Input voltage range 36V to 57V  Overload and short-circuit protection  9V Output  High efficiency DC/DC converter: type 75% @ 50% load  1500V isolation (input to output) The shield does not come with the POE module built in, it is a separate component that must be added on. Arduino communicates with both the W5100 and SD card using the SPI bus (through the ICSP header). This is on digital pins 10, 11, 12, and 13 on the Uno and pins 50, 51, and 52 on the Mega. On both boards, pin 10 is used to select the W5100 and pin 4 for the SD card. These pins cannot
  • 18.
    12 be used forgeneral I/O. On the Mega, the hardware SS pin, 53, is not used to select either the W5100 or the SD card, but it must be kept as an output or the SPI interface won't work. Note that because the W5100 and SD card share the SPI bus, only one can be active at a time. If you are using both peripherals in your program, this should be taken care of by the corresponding libraries. If you're not using one of the peripherals in your program, however, you'll need to explicitly deselect it. To do this with the SD card, set pin 4 as an output and write a high to it. For the W5100, set digital pin 10 as a high output. The shield provides a standard RJ45 Ethernet jack. The reset button on the shield resets both the W5100 and the Arduino board. The shield contains a number of informational LEDs:  PWR: indicates that the board and shield are powered  LINK: indicates the presence of a network link and flashes when the shield transmits or receives data  FULLD: indicates that the network connection is full duplex  100M: indicates the presence of a 100 Mb/s network connection (as opposed to 10 Mb/s)  RX: flashes when the shield receives data  TX: flashes when the shield sends data  COLL: flashes when network collisions are detected The solder jumper marked "INT" can be connected to allow the Arduino board to receive interrupt-driven notification of events from the W5100, but this is not supported by the Ethernet library. The jumper connects the INT pin of the W5100 to digital pin 2 of the Arduino.
  • 19.
    13 Figure 2.3: ArduinoEthernet Shield Top view Figure 2.4: Arduino Ethernet Shield Bottom view 2.4.3 LM35 Temperature Sensor The LM35 series are precision integrated-circuit temperature devices with an output voltage linearly proportional to the Centigrade temperature. The LM35 device has an advantage over linear temperature sensors calibrated in Kelvin, as the user is not required to subtract a large constant voltage from the output to obtain convenient Centigrade scaling. The LM35 device does not require any external calibration or trimming to provide typical accuracies of ±¼°C at room temperature and ±¾°C over a full −55°C to 150°C temperature range. Lower cost is assured by trimming and calibration at the wafer level. The low-output impedance, linear output, and precise
  • 20.
    14 inherent calibration ofthe LM35 device makes interfacing to readout or control circuitry especially easy. The device is used with single power supplies, or with plus and minus supplies. As the LM35 device draws only 60 μA from the supply, it has very low self-heating of less than 0.1°C in still air. The LM35 device is rated to operate over a −55°C to 150°C temperature range, while the LM35C device is rated for a −40°C to 110°C range (−10° with improved accuracy). Features  Calibrated Directly in Celsius (Centigrade)  Linear + 10-mV/°C Scale Factor  0.5°C Ensured Accuracy (at 25°C)  Rated for Full −55°C to 150°C Range  Suitable for Remote Applications  Low-Cost Due to Wafer-Level Trimming  Operates from 4 V to 30 V  Less than 60-μA Current Drain  Low Self-Heating, 0.08°C in Still Air  Non-Linearity Only ±¼°C Typical 2.4.4 SPDT Relays A relay is an electrically operated switch used to isolate one electrical circuit from another. In its simplest form, a relay consists of a coil used as an electromagnet to open and close switch contacts. Since the two circuits are isolated from one another, a lower voltage circuit can be used to trip a relay, which will control a separate circuit that requires a higher voltage or amperage. Relays can be found in early telephone exchange equipment, in industrial control circuits, in car audio systems, in automobiles, on water pumps, in high-power audio amplifiers and as protection devices. The switch contacts on a relay can be "normally open" (NO) or "normally closed" (NC)--that is, when the coil is at rest and not energized (no current flowing through it), the switch contacts are given the designation of being NO or NC. In an open circuit, no current flows, such as a wall light switch in your home in a position that the light is off. In a closed circuit, metal switch contacts touch each other to complete a circuit, and current flows, similar to turning a light switch to the
  • 21.
    15 "on" position. Inthe accompanying schematic diagram, points A and B connect to the coil. Points C and D connect to the switch. When you apply a voltage across the coil at points A and B, you create an electromagnetic field, which attracts a lever in the switch, causing it to make or break contact in the circuit at points C and D (depending if the design is NO or NC). The switch contacts remain in this state until you remove the voltage to the coil. Relays come in different switch configurations. The switches may have more than one "pole," or switch contact. The diagram shows a "single pole single throw" configuration, referred to as SPST. This is similar to a wall light switch in your home. With a single "throw" of the switch, you close the circuit. Figure 2.5: The Single Pole Double Throw Relay A single pole double throw (SPDT) relay configuration switches one common pole to two other poles, flipping between them. As shown in the schematic diagram, the common point E completes a circuit with C when the relay coil is at rest, that is, no voltage is applied to it. This circuit is "closed." A gap between the contacts of point E and D creates an "open" circuit. When you apply power to the coil, a metal level is pulled down, closing the circuit between points E and D and opening the circuit between E and C. A single pole double throw relay can be used to alternate which circuit a voltage or signal will be sent to. 2.4.5 LAN (Local Area Network) A local area network (LAN) is a computer network that interconnects computers within a limited area such as a home, school, computer laboratory, or office building, using network media.[1] The
  • 22.
    16 defining characteristics ofLANs, in contrast to wide area networks (WANs), include their smaller geographic area, and non-inclusion of leased telecommunication lines. Figure 2.6: LAN Wire Cabling Early LAN cabling had generally been based on various grades of coaxial cable. Shielded twisted pair was used in IBM's Token Ring LAN implementation, but in 1984, StarLAN showed the potential of simple unshielded twisted pair by using Cat3 cable—the same simple cable used for telephone systems. This led to the development of 10Base-T (and its successors) and structured cabling which is still the basis of most commercial LANs today. Fiber-optic cabling is common for links between switches, but fiber to the desktop is uncommon. Wireless As well as traditional cabling, many LANs are now based partly or wholly on wireless technologies. Almost all of today's smartphones, tablets and laptops have wireless support built-in so a wireless local area network, or WLAN, gives users the ability to move around within a local coverage area and still be connected to the network. Wireless networks have become popular in domestic homes due to ease of installation, and in commercial complexes to offer easy network access to their staff. Visiting guest are often offered internet access via a hotspot service. 2.4.6 Router: A router is a device that forwards data packets along networks. A router is connected to at least two networks, commonly two LANs or WANs or a LAN and its ISP's network. Routers are located at gateways, the places where two or more networks connect. Routers use headers and forwarding tables to determine the best path for forwarding the packets, and they use protocols such as ICMP to communicate with each other and configure the best route between any two hosts.
  • 23.
    17 Very little filteringof data is done through routers. Figure 2.7: Router 2.5 Platform Requirements: 2.5.1 Embedded C 2.5.2 HTML, CSS, and JavaScript 2.5.1 Embedded C Embedded C is a set of language extensions for the C Programming language by the C Standards committee to address commonality issues that exist between C extensions for different embedded systems. Historically, embedded C programming requires nonstandard extensions to the C language in order to support exotic features such as fixed-point arithmetic, multiple distinct memory banks, and basic I/O operations. In 2008, the C Standards Committee extended the C language to address these issues by providing a common standard for all implementations to adhere to. It includes a number of features not available in normal C, such as, fixed-point arithmetic, named address spaces, and basic I/O hardware addressing. Embedded C uses most of the syntax and semantics of standard C, e.g., main() function, variable definition, datatype declaration, conditional statements (if, switch, case), loops (while, for), functions, arrays and strings, structures and union, bit operations, macros, etc.
  • 24.
    18 Advantages  It issmall and reasonably simpler to learn, understand, program and debug.  Compared to assembly language, C code written is more reliable and scalable, more portable between different platforms.  C compilers are available for almost all embedded devices in use today, and there is a large pool of experienced C programmers.  Unlike assembly, C has advantage of processor-independence and is not specific to any particular microprocessor/microcontroller or any system. This makes it convenient for a user to develop programs that can run on most of the systems.  As C combines functionality of assembly language and features of high level languages, C is treated as a ‘middle-level computer language’ or ‘high level assembly language’.  It is fairly efficient.  It supports access to I/O and provides ease of management of large embedded projects.  Java is also used in many embedded systems but Java programs require the Java Virtual Machine (JVM), which consume lot of resources. Hence it is not used for smaller embedded devices. 2.5.2 HTML, CSS and JavaScript: HTML (the Hypertext Markup Language) and CSS (Cascading Style Sheets) are two of the core technologies for building Web pages. HTML provides the structure of the page, CSS the (visual and aural) layout, for a variety of devices. Along with graphics and scripting, HTML and CSS are the basis of building Web pages and Web Applications. JavaScript, also known as ECMAScript (the untrademarked name used for the standard), is a dynamic programming language. It is most commonly used as part of web browsers, whose implementations allow client-side scripts to interact with the user, control the browser, communicate asynchronously, and alter the document content that is displayed. JavaScript is also considered an "assembly language of the web – a compile target of source-to-source compilers – for making client side web applications, using other programming languages, supported by all the major browsers without plug-ins.
  • 25.
    19 CHAPTER 3 SYSTEMDESIGN 3.1 Project Working: Figure 3.1: Webpage Screenshot In this project, user can access the webpage on his computer or mobile from anywhere in the world using internet. It will allow the user to control the light and monitor the temperature. The webpage refreshes itself in 2 seconds, thus updating its status. The webpage uses AJAX to reload its frame if the status of switch is changes from any other device.
  • 26.
    20 3.2 Block Diagram: Figure3.2: Block Diagram
  • 27.
    21 3.3 Data FlowDiagram (DFD) Figure 3.3: Data Flow Diagram
  • 28.
    22 3.4 Hardware design ArduinoUno R3 is used as microcontroller with Ethernet Shield W5100 mounted over it. It uses SPI interface to connect with Arduino. LM35 temperature sensor is connected to the a1 pin of board to get analog temperature values. Digital pin 6 is used to connect to relay through ULN2003 driver IC. Input and Output are taken from pin 2 and pin 15 respectively. Pin 9 is grounded. NC pin of relay is connected to IC and power source is connected to the other two pins.
  • 29.
    23 CHAPTER 4 SoftwareDevelopment #include <SPI.h> #include <Ethernet.h> #include <SD.h> #include <YalerEthernetServer.h> // size of buffer used to capture HTTP requests #define REQ_BUF_SZ 60 // MAC address from Ethernet shield sticker under board byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x42, 0x3E }; byte ip[] = { 192, 168, 0,111}; EthernetServer server(80); // IP address, may need to change depending on network //YalerEthernetServer server("try.yaler.net", 80, "gsiot-ymkn-21xr"); // create a server at port 80 File webFile; // the web page file on the SD card char HTTP_req[REQ_BUF_SZ] = {0}; // buffered HTTP request stored as null terminated string char req_index = 0; // index into HTTP_req buffer boolean LED_state = 0; // stores the states of the LEDs void setup() { // disable Ethernet chip pinMode(10, OUTPUT); digitalWrite(10, HIGH); Serial.begin(9600); // for debugging // initialize SD card Serial.println("Initializing SD card..."); if (!SD.begin(4)) { Serial.println("ERROR - SD card initialization failed!");
  • 30.
    24 return; // initfailed } Serial.println("SUCCESS - SD card initialized."); // check for index.htm file if (!SD.exists("index.htm")) { Serial.println("ERROR - Can't find index.htm file!"); return; // can't find index file } Serial.println("SUCCESS - Found index.htm file."); // switch on pin 2 // LEDs pinMode(6, OUTPUT); Ethernet.begin(mac,ip); // initialize Ethernet device server.begin(); Serial.print("server is at "); Serial.println(Ethernet.localIP()); // start to listen for clients } void loop() { EthernetClient client = server.available(); // try to get client if (client) { // got client? boolean currentLineIsBlank = true; while (client.connected()) { if (client.available()) { // client data available to read char c = client.read(); // read 1 byte (character) from client // limit the size of the stored received HTTP request // buffer first part of HTTP request in HTTP_req array (string)
  • 31.
    25 // leave lastelement in array as 0 to null terminate string (REQ_BUF_SZ - 1) if (req_index < (REQ_BUF_SZ - 1)) { HTTP_req[req_index] = c; // save HTTP request character req_index++; } // last line of client request is blank and ends with n // respond to client only after last line received if (c == 'n' && currentLineIsBlank) { // send a standard http response header client.println("HTTP/1.1 200 OK"); // remainder of header follows below, depending on if // web page or XML page is requested // Ajax request - send XML file if (StrContains(HTTP_req, "ajax_inputs")) { // send rest of HTTP header client.println("Content-Type: text/xml"); client.println("Connection: keep-alive"); client.println(); SetLEDs(); // send XML file containing input states XML_response(client); } else { // web page request // send rest of HTTP header client.println("Content-Type: text/html"); client.println("Connection: keep-alive"); client.println(); // send web page webFile = SD.open("index.htm"); // open web page file if (webFile) { while(webFile.available()) { client.write(webFile.read()); // send web page to client }
  • 32.
    26 webFile.close(); } } // display receivedHTTP request on serial port Serial.print(HTTP_req); // reset buffer index and all buffer elements to 0 req_index = 0; StrClear(HTTP_req, REQ_BUF_SZ); break; } // every line of text received from the client ends with rn if (c == 'n') { // last character on line of received text // starting new line with next character read currentLineIsBlank = true; } else if (c != 'r') { // a text character was received from client currentLineIsBlank = false; } } // end if (client.available()) } // end while (client.connected()) delay(1); // give the web browser time to receive the data client.stop(); // close the connection } // end if (client) } // checks if received HTTP request is switching on/off LEDs // also saves the state of the LEDs void SetLEDs(void) { // LED 1 (pin 6) if (StrContains(HTTP_req, "LED1=1")) { LED_state = 1; // save LED state
  • 33.
    27 digitalWrite(6, HIGH); } else if(StrContains(HTTP_req, "LED1=0")) { LED_state = 0; // save LED state digitalWrite(6, LOW); } } // send the XML file with analog values, switch status // and LED status void XML_response(EthernetClient cl) { cl.println("<?xml version = "1.0" ?>"); cl.println("<inputs>"); // read analog inputs cl.print("<analog>"); cl.print(int(0.48828125*analogRead(2))); cl.println("</analog>"); // checkbox LED states // LED1 cl.print("<LED>"); if (LED_state) {cl.print("checked");} else {cl.print("unchecked");} cl.println("</LED>"); cl.print("</inputs>"); } // sets every element of str to 0 (clears array) void StrClear(char *str, char length) { for (int i = 0; i < length; i++) {
  • 34.
    28 str[i] = 0; } } //searches for the string sfind in the string str // returns 1 if string found // returns 0 if string not found char StrContains(char *str, char *sfind) { char found = 0; char index = 0; char len; len = strlen(str); if (strlen(sfind) > len) { return 0; } while (index < len) { if (str[index] == sfind[found]) { found++; if (strlen(sfind) == found) { return 1; } } else { found = 0; } index++; } return 0; }
  • 35.
    29 CHAPTER 5 CONCLUSION Byusing this project we control all the Electrical appliances of Home using Personal Computer or Smartphone via Arduino UNO and Ethernet Shield as the communication medium between PC and controller. We are controlling the devices like light bulb by sending signals from the PC to controller from a webpage created for specific controls of different appliances. It helps in control of these appliances from any remote location. It also helps in monitoring the temperature of room, which can be very helpful to the users. This project gives exact concept of interfacing a high voltage electrical device to a microcontroller using relay. We demonstrated the control of a light bulb and sensing of thee temperature with the help of Arduino Board. For real time implementation at home, we can increase the number of relays connected to the board to control more appliances. To further increase the number of appliances control we have to use more Arduino Boards that are connected to the Internet. We are currently controlling the project with the web browser. We can also develop a stand- alone application to control the device. We can also keep a record of the different sensors in a datasheet and use them as a reference for future uses and control. Our project is a step towards the full automation of the entire home through the control of different IPs for different appliances. This project is a small application of our concept in automating and monitoring a system. The practical applications of this project are immense and can have vast level of implementation.
  • 36.
    30 REFERENCES 1. https://startingelectronics.org/tutorials/arduino/ethernet-shield-web-server-tutorial/ (visited on14/11/2014) 2. Electronics for you Magazine – July 2014 edition 3. http://www.arduino.cc/en/Guide/HomePage
  • 37.
    31 BIODATA 1. Name :ABHIJEET SINGH RAWAT 2. ID No. : 42429 3. Father’s Name : Mr. Balwant Singh Rawat 4. Mother’s Name :Mrs. Kamala Rawat 5. Educational Qualifications: Examination Board/University Year of passing Marks (%) Division X CBSE 2009 89.4 First XII CBSE 2011 87.4 First B.Tech GBPUA&T 2015 76.33(up to 7th semester) First 6. Placed in: Tata Consultancy Services Ltd. 7. Address for correspondence :Dewalchaur Bandobasti PO:Dewalchaur Rampur Road Haldwani 263139 8. Email ID : as.rawat86@gmail.com 9. Mobile No. : 9568129377
  • 38.
    32 1. Name :SUSHIL KUMAR 2. ID No. : 42244 3. Father’s Name : Mr. Shyam Singh 4. Mother’s Name :Mrs. Krishna Devi 5. Educational Qualifications: Examination Board/University Year of passing Marks (%) Division X CBSE 2009 87.6 First XII CBSE 2011 76.8 First B.Tech GBPUA&T 2015 6.74(up to 7th semester) Second 6. Placed in: Century Pulp And Papers Ltd. 7. Address for correspondence :Vill-Dabhora Tanda ,P.O.-Kashipur ,244713 8. Email ID : kumarsushil259@gmail.com 9. Mobile No. : 9012935717
  • 39.
    33 1. Name :ATUL TYAGI 2. ID No. : 42401 3. Father’s Name : Mr. Praveen Tyagi 4. Mother’s Name :Mrs. Mamta Tyagi 5. Educational Qualifications: Examination Board/University Year of passing Marks (%) Division X CBSE 2009 84.0 First XII CBSE 2011 90.6 First B.Tech GBPUA&T 2015 76.2(up to 7th semester) First 6. Placed in: Tata Consultancy Services Ltd. 7. Address for correspondence : S/O Praveen Tyagi, Arya Nagar, Maheshpura Road, Kashipur 244713 8. Email ID : a3ltyagi@gmail.com 9. Mobile No. : 8791959584
  • 40.
    34 1. Name :PUNEET KUMAR MANDAL 2. ID No. : 42168 3. Father’s Name : Mr.Vishwanath Mandal 4. Mother’s Name :Mrs. Aruni Rani Mandal 5. Educational Qualifications: Examination Board/University Year of passing Marks (%) Division X CBSE 2009 90.4 First XII CBSE 2011 90.8 First B.Tech GBPUA&T 2015 76.36(up to 7th semester) First 6. Placed in: Tata Consultancy Services Ltd. 7. Address for correspondence : 372, Old Awas Vikas Kashipur 244713 8. Email ID : mandal.puneet30@gmail.com 9. Mobile No. : 9012966536
  • 41.
    35 1. Name :NISHANT PANDEY 2. ID No. : 42243 3. Father’s Name: Mr. Anil Kumar Pandey 4. Mother’s Name: Mrs. Manju Pandey 5. Educational Qualifications: Examination Board/University Year of passing Marks (%) Division X CBSE 2009 88.4 First XII CBSE 2011 83.4 First B.Tech GBPUA&T 2015 6.9 (up to 7th semester) First 6. Placed in: Nucleus Software Ltd. 7. Address for correspondence : Govt. Inter College Lalkuan 8. Email ID : nishant25698@gmail.com 9. Mobile No. : 7351732901