Report Report Report Report Report Report Report Report Report Report
HomeAutomation Report
Transcript of HomeAutomation Report
-
7/29/2019 HomeAutomation Report
1/20
HomeAutomation
A Full-Featured Infrastructure-Less Home Automation System
Project reportUbiquitous Computing
Joakim Brjesson, Victor Strm, Yiqi Mao,Kadri-Ann Valgevli, Amir Sabbagh Pour
CHALMERS UNIVERSITY OF TECHNOLOGY
Gteborg 2008
-
7/29/2019 HomeAutomation Report
2/20
HomeAutomation
Joakim Brjesson, Victor Strm, Yiqi Mao, Kadri-Ann Valgevli, Amir Sabbagh
Pour
Brjesson, Strm, Mao, Valgevli, Sabbagh Pour 2008.
Chalmers University of Technology
412 96 Gteborg
-
7/29/2019 HomeAutomation Report
3/20
AbstractThe 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.
-
7/29/2019 HomeAutomation Report
4/20
Table of ContentsProject report
Ubiquitous Computing 3
Joakim Brjesson, Victor Strm, Yiqi Mao,
Kadri-Ann Valgevli, Amir Sabbagh Pour ............................................................................3
Abstract 5
Table of Contents 6
1 Introduction 7
2 Background 8
3 Concept 9
4 Realization 10
4.1Network.............................................................................................................................. 10
4.2 Software ................................................................................................................................. ......... .12
4.2.1 User Interface ............................................................................................................................12
4.2.2 Program evolution and inner workings .............................................................................13
4.3 Electronics........................................................................................................................... 13
4 .3.1 Arduino ........................................................................................................................14
4.3.2 Dimming/switching circuit .................................................................................................14
4.3.3 Wireless modules ...............................................................................................................15
4.4 Prototyping and construction............................................................................................ 16
5 Evaluation 17
5 .1 Electronic Blocks .......................................................................................................... 17
5 .2 Pen Timer ...................................................................................................................... 17
5 .3 Control4 ..........................................................................................................................18
6 Discussion 19
-
7/29/2019 HomeAutomation Report
5/20
HomeAutomation Project Report2008-12-19
1 IntroductionThis 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.
7
-
7/29/2019 HomeAutomation Report
6/20
-
7/29/2019 HomeAutomation Report
7/20
HomeAutomation Project Report2008-12-19
3 ConceptEvery HomeAutomation 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.
HomeAutomation boxes will be put into different rooms at home, depending on theneeded functionality. Various different sensors could be attached to the boxes. The
sensors are used as triggers for actions, that user can set up in the computer program.
9
-
7/29/2019 HomeAutomation Report
8/20
HomeAutomation Project Report2008-12-19
4 RealizationThe project started off with a brainstorming session. All ideas about how the
HomeAutomation should work and what functions it should have were written on a
whiteboard. We discussed all possible solutions and ideas that we had come up with
and removed things that were not possible to implement within this project scope.
All that was left on the whiteboard in the end was divided up into following task
areas:
Network
Create a wireless connection between embedded Arduino boards and the
computer program. To define a protocol for serial communication that both
Arduino and computer program can read.
Software
Computer software has to be able to control the communication, send tasksfor HomeAutomation embedded devices and be provided with the GUI where
end users can set up actions.
Electronics
This area covers in detail the hardware solutions chosen and how that
affected the final prototype. The hardware could be described as three
different work areas: arduino, dimmer/switching circuit and wireless
modules.
Prototyping and construction
The last focusing area is prototyping the final product. We need to build the
product and put it into aesthetic form. The presentation of the project shouldbe done so the visitors understand how the final product is supposed to be
used. Therefore we have to come up the suitable scenarios to present. Some
furniture is needed to get a home environment feeling for the presentation.
4.1Network
The first task for network was to get two Arduino boards communicating with each
other via serial communication. After some struggle with the wired connection we
got it working. One of the Arduinos was sending a message and second one as
echoing it back. On the same time, part of our group was working with trying to
establish a wireless connection. The wireless components that we used are called
Easy-Radio transceiver. These components could work both as transmitter and
receiver, which fit perfectly for our project. It took some time to find out how to get
the wireless communication working. After some testing we managed to echoing
messages back with the wireless components as well. Now it was possible to send
serial data over a wireless connection and it was time to test it with some more
advanced Arduino code.
10
-
7/29/2019 HomeAutomation Report
9/20
HomeAutomation Project Report2008-12-19
Figure 1: Wireless Connection between Computer Program and Arduino
To be able to try this out properly we had to come up with a protocol to use. A
protocol describes how the packages that are going to be sent, how the
communication is structured and what the sent/received bytes stand for. It is needed
for the receiver to know how much and what kind information it is reading and how
to should handle it. For a sender, a protocol gives the rules for what and in which
order to send the data.
The protocol we decided to use is a custom made, 40 bits long one:
The first 8 bits for house code to identify that the HomeAutomation devices
that you are controlling belong to your home network.
Following 8 bits was for unit identification to make sure that the correct
device responds to the message. In our implementation the computer program
broadcasts the message to all devices. Therefore it is needed to have
addresses assigned for the devices.
Next 8 bits was assigned for function code. This tells to the device what taskneeds to be executed. For example if a lamp should blink or fade etc. The
default function is a function that asks if anything have changed.
The last 16 bits of the protocol is used to send values for the specific function
that is being used. For the default function bit 1-4 is used for telling if
connected digital sensor have changed, 5-8 if analog sensor have changed, 9-
12 is used for telling if a digital sensor have been plugged in and 13-16 if
any analog sensor have been plugged in.
The network that we created that is using this protocol is a master/slave network. The
computer is the master and all the other devices are slaves.
Figure 2: Sketch of the Network with One Master (the Computer) and Four Attached Units.
11
-
7/29/2019 HomeAutomation Report
10/20
HomeAutomation Project Report2008-12-19
The computer is asking each slave, one at a time, if anything has changed since last
time.If something have changed then the slave will reply and tell what that have
happened. If nothing has changed the slave will reply with that.
When the master receives the reply from the slave that says that something has
changed it will check if there are any actions that are triggered on the changes. Those
actions are made in the computer software (4.2 Software). If there are actions that
should be triggered the master will transmit information to the affected slaves and
tell them what to do. For example if the party button have been pressed (digital
sensor changed/ high/low) then tell a device to start blinking.
Figure 3: Easy - Radio Wireless Modules
4.2Software
In parallel with the Arduino code being programmed, the software for the computer
was created. The software is to be installed on the end user's computer in order to set
up and run the HomeAutomation network at home. The program is written in Java, a
language chosen because of the existing knowledge about the language in the group
and the in-built cross-platform support.
4.2.1User Interface
The main user interface is divided in two parts, the main panel with all connected
devices and their status and a table of all currently configured actions and their
priority.
4.2.1.1 Device Panel
The device panel is a horizontally scrollable list of all connected devices, which can
be described by a custom name. For each device you can see all connected sensorsand their status. You can also in real time control each device, for example set a
lamps intensity to medium intensity or slowly fade another from off to fully lit and
query the current status of the devices controllable outlet.
4.2.1.2 Actions
One of the main features of the program is the ability for the user to configure
actions. An action is a kind of if-then clause. For example: If the night lamp lights
up at night then set all hallway lamps to half lit. The user can also assign a custom
name to each action to make it easy to associate the action with what is performed.
12
-
7/29/2019 HomeAutomation Report
11/20
HomeAutomation Project Report2008-12-19
Below the list of devices there is a list of all currently configured actions and their
priority. The actions priority can be changed and the actions themselves can be
edited and deleted. If the Edit button or then Add new action is clicked, a new
dialog is opened where the user can create or edit new actions to produce the kind of
if-then clauses described above. Actions can have an arbitrary number of inputtriggers and output actions.
4.2.1.3 Other Functions
Apart from the two abovementioned core functions of the user interface, there are
also a few assorted functions to be able to setup the network properties and to
monitor the network activity and the messages getting transferred.
4.2.2Program evolution and inner workings
The first version of the computer software was a basic program for testing out the
serial communication using the custom made protocol. It had a simple graphicalinterface for creating packages to be sent to Arduino and to monitor incoming
packages. The actual communication is taken care of by a Java library called Java
Communications API (Sun Corporation, 1998), which provides access through the
Java Virtual Machine to the hardware Com port on different platforms.
Next iteration of the program was model the actual devices. Every attached device is
modeled as an instantiation of the device class, which keeps track of the devices
state and provides an interface to communicating with it. Every time a message is
decoded it is propagated to the device affected, which in turn updates its own state
and notifies any subscribers to its changes (the graphical user interface for example).
After the implementations of devices followed the implementation of the actionsdescribed earlier. One class keeps track of all actions and registers as subscriber to
any changes for the devices used as input triggers for the actions. It then, according
to the priority of the actions, relays the state of all connected devices to each action.
The actions class then checks if the current world state matches the requirements set
in its input triggers and, if that is the case, performs the actions configured by the
user. Each device affected by an output action gets flagged, thus making sure no
device gets controlled twice during the same state update.
4.3 Electronics
ZDC circuit generally detects if the input signal crosses the reference point (0v in our
case) and produces an output state change.
This circuit consists of two opto couplers in parallel.
They are directly connected to main voltage. Each of these opto couplers works in
half cycle of the AC voltage signal, and outputs are connected in parallel, so we'll
have four state changes per cycle at the output of the opto couplers. It will be used by
the Arduino for future actions.
13
-
7/29/2019 HomeAutomation Report
12/20
HomeAutomation Project Report2008-12-19
Figure 4: ZDC Circuit
Figure 5: ZDC output signal
4.3.1Arduino
We have used Arduino to detect pulses from the ZDC circuit. The signal from ZDC
goes to Pin3 of Arduino which is defined as external interrupt handler (INT1). For
each pulse the interrupt will be triggered and a timer inside the Micro controller
(MCU) will be set with the desired interval. The output from the MCU is a digital
output from Pin Number 5 which goes to the Dimming/Switching circuit
4.3.2Dimming/switching circuit
This circuit includes an Opto coupler-triac driver which triggers the triac gate. The
triac simply acts as a switch. By switching the triac we can control the output
voltage, therefore we can have an AC light dimmer. When Microcontroller sends a
positive pulse to the opto coupler (EL503), it will trigger the triac via the triac gate.
Triac keeps onstate until the phase voltage reaches 0v. If you feed the triac gate
with a permanent High signal, it will remain in the on state, so it will act as a
normal switch.
14
-
7/29/2019 HomeAutomation Report
13/20
HomeAutomation Project Report2008-12-19
4.3.3Wireless modules
These modules operate on the Pan-European 433Mhz frequency band from a 3.6v
power supply. There are 9 frequency channels available on each module. You can
use encryption for the transmitting data. The baud rate is set to 19,200Kbps by
default. The range can be extended by using the proper antennas up to 250m Line Of
Sight (LOS). (Low Power Radio Solutions Ltd., 2003)
Beside these circuits we have added an LED, push button and also two general
purpose digital/analogue inputs for each box. The LED indicates that the related box
is powered on and is working properly.
By pressing the push button on the box, a new address will be automatically assign to
the box from the PC.
Its possible to connect different kind of analogue/digital sensors to each box. When
you plug in the sensor connector you can see in the software if its connected
properly or not.
Figure 6: Whole circuit
15
-
7/29/2019 HomeAutomation Report
14/20
HomeAutomation Project Report2008-12-19
4.4 Prototyping and construction
To be able to present our product it was needed to make the boxes where the Arduino
boards with the needed circuits will be placed in. After some research and discussion
within the group, we decided for using time switches. These are suitable for this
purpose and they already have the power connector. We removed the microcontroller that originally it had inside and replaced it with our dimmer circuit and
power supply module. Some modifications were needed on the cover to make holes
for digital and analog sensor connector.
As the space was quite limited inside the time switch box, we created a separate box
for the communication module. It had the Arduino board and Easy-Radio module
inside it.
Figure 7: Arduino board inside a box of time switch
In order to present the functionality of the technology, we chose to build a party
mode scenario. It blinks and dimmers the lights and turns on radio. For that purposeone special digital sensor was created. It was a normal switch but we made it into a
big red button to attract attention. The HomeAutomation devicesthat has this special
box attached to, reads this sensor value (recognizes if the button was pressed). When
the party-mode-button is pressed the devices enter a party-mode-state. The specific
events of the party-mode can be assigned in the computer GUI software.
Figure 8: The Christmas Mode Button
16
-
7/29/2019 HomeAutomation Report
15/20
HomeAutomation Project Report2008-12-19
5 EvaluationDuring the exhibition we let people to try the system. Most people found it
interesting and they appreciated the idea to automate their home environment. It
made them think about automated actions that they would like to have at their home
environment. When we explained a few examples where HomeAutomation could be
used they were very fast at coming up with their own examples.
The party mode was introducing the product's functionality quite well. Unfortunately
we could not let people to play around with GUI program to define their own actions
due to some software issues.
Once a while we experienced some problems within our system and we had to reset
our devices, but overall working experience was good.
The feedback we got was mostly positive. We were also told that the system speed
should be much faster in order to be successful product. During our presentation it
took more than 5 seconds for all devices to start their tasks.
Due to the time limits we were not able to present our second scenario that we had
thought. We wanted to show the analog sensors. We had created 2 LDR sensors and
we wanted to perform a use case that if you turn of one lamp then 2 other will dim
down to 50% and if you turn off 2nd lamp that the 3rd one will be turned off as well.
We didn't get the analog sensor detection working properly within the time we had
and also the analog sensor reading was producing much communication in the
system that made it even slower. Related work
5.1 Electronic Blocks
Electronic Blocks is a programming interface for children between three and eightyears old. There are three kinds of blocks in the project: sensor blocks, action blocks
and logic blocks. The sensor blocks detect light, sound and touch. The action blocks
are able to produce light, sound and movement. The logic blocks are controlling the
signals between the sensor blocks and action blocks. By connecting those blocks
with each other children will be able to program their own structures. For example a
robot might be able to follow light. (Wyeth & Wyeth, 2001)
Figure 9: The Electronic Blocks
5.2Pen Timer
The timer is a white board with a groove in the middle; it can control the electrical
devices when they connected. The only thing to do is use a pen to draw a line on the
17
-
7/29/2019 HomeAutomation Report
16/20
HomeAutomation Project Report2008-12-19
groove, the LEDs will turn on, and the timer works. As time passes, LED will go out
one by one, and the line at the same time will be wiped after power cut off. It also
can set "break time" mode for the electrical devices. Users can draw lines without
continuous line to meet their needs, so that power can get through these times.
(Huang et. al, 2005)
Figure 10: The Pen Timer
5.3Control4Control4 is the full home automation system that is available on the market. It is an
advanced system that supports lightning, climate, home theater solutions. People
need to build in the infrastructure into their home walls. The systems are
controlled remotely and all electrical devices remote controls will be replaced with
the Control4 remotes. (West et. al., 2003)
18
-
7/29/2019 HomeAutomation Report
17/20
HomeAutomation Project Report2008-12-19
6 DiscussionThe HomeAutomation could be developed further by making it more stable and put
more effort on the visual design of the product. We could reduce the size of the
product by replacing the power supply module and Arduino microcontroller with
much smaller pieces.
All the devices could be equipped with IR receiver to control the electrical devices at
home that support the IR communication. More sophisticated actions and scenarios
can be created with this. IR commands enable larger variety for controlling electrical
devices that only the power outlet.
A lot of improvements could be done in the computer program as well. It should be
more customizable for an end user and it should have some password protection for
security reasons. It would be also nice to make it web-based so that users can control
their home remotely.
19
-
7/29/2019 HomeAutomation Report
18/20
HomeAutomation Project Report2008-12-19
7 ConclusionHomeAutomation is undeniably a resource which can make a home environment
automated. People can control their electrical devices via these HomeAutomation
devices and set up the controlling actions in the computer. We think this product
have high potential for marketing in the future. At the moment the components are a
bit to high to be able to produce these devices for a interesting price.
20
-
7/29/2019 HomeAutomation Report
19/20
HomeAutomation Project Report2008-12-19
8 ReferencesWyeth, Peta, Wyeth, Gordon (2001),Electronic BlocksTangible Programming
Elements for Preschoolers, University of Queensland, Brisbane, Australia.
West, Smith, Morgan (2003): Control4 Home Automation, Tillgnglig:
(2008-12-18).
Low Power Radio Solutions Ltd. (2003), Tillgnglig:
(2008-12-18).
Henry Huang, Jack Chang & Howard Yu (2005),Pen Timer, Tillgnglig:
(2008-12-18).
Sun Microsystems (1998),Java Communications API, Tillgnglig:
(2008-12-18).
21
-
7/29/2019 HomeAutomation Report
20/20
HomeAutomation Project Report2008-12-19
9 Appendixes
Appendix I: Project plan
22