Recently, robbery in an empty house that has been left by its owner has been
increasing, but the police and security officers have not yet founded out the
solution of this problem. Due to those reasons, in order to reduce the number
of crimes, an online home control system has been made (Marmitek
University, 2001). This system was designed to monitor empty houses using
electrical network as transmission media and PC as man machine interface. Other
facilities such as telephone, internet, rented line, personal line, radio frequency,
short message service from mobile phone (Yuwono, 2005)
and the utilization of the X-10 technology to make electrical appliances easily
controllable by Short Messaging System (SMS), where labview will be used to
program the system with ease (Kubis et al., 2008)
are another possible option as transmission media for home control system, however,
these options will not be discussed.
The home control system was developed for various kinds of monitoring and controlling
appliances that has been installed by appropriate sensors in a house or a building
(Bucceri, 2003). Usually, the doors and windows that are
opened by unprivileged person, are monitored due to the presence of moving object,
smoke/gas, or flood in a room. In these cases, the system will send a signal
to the computer, so that the owner can remotely control activities in the house,
such as turning on/off a light, an alarm, a fan, or any other devices based
on necessity, from various installed actuators that send or receive signal through
the electrical power network.
Advanced technology has shown many improvements of earlier technology such
as X10 home automation (Liew, 2003). The combination of
X10 and personal computer makes possible to remotely control home appliances
by using a computer as a man machine interface (Boone, 1999)
with the help of Labview software. This study intends to study the possibility
of combining the use of X10 and personal computer for the purpose of energy
conservation, security and user friendly operation.
Appropriate X10-complying sensor that is specifically designed for home automation will be installed inside the house that will be monitored or controlled.
MATERIALS AND METHODS
The X10 is an international industry standard that is used for communicating
electronic appliances via electrical power network, so that can be used for
home automation purposes. The signal transmitted in electrical power network
is superimposed on 50-60 Hz AC frequency in form of digital signal (SmarthomeUSA.com,
There are three types of X10 devices, namely a receiver, a transceiver and
a controller (Marmitek University, 2001). Home appliances
that will be monitored or controlled will be connected to a receiver. This receiver
will accept command sent from the controller and the transceiver. The controller
will be connected to the computer while the transceiver is used to communicate
with the RF remote control (Marmitek University, 2001).
||X-10 signal transmission
Each receiver has an identifier, which consists of house codes letter
between A and P and device codes number between 1 and 16, so that the
total number of the devices is 256 (Boone, 2004).
The X10 communication between receiver and transmitter (both transceiver and
controller) is done by sending and receiving signal through electrical power
network. Binary 1 is presented by the presence of 120 kHz signal as long as
1 millisecond. When the 50 Hz AC crosses the 0 line a binary 0 is presented
the absence of the signal. This means that at every 0 point or in other words
every 10 msec of the signal is transmitted as shown in Fig. 1
A complete X10 transmission consists of 11 power electrical power cycles. The first 2 cycles define the start code. The next 4 cycles are the house code and the last 5 cycles define either the device code (1 to 16) or function code (On, Off, etc.). Bright and dim command are exceptions and the dim level will be continuously sent (at least 2 times) without separator between those codes, as shown in Fig. 2.
As seen in each block, the data is sent together with its complement during
the next half-cycle. For example, if one of 1 ms signal is present (meaning
binary 1) in the first half cycle, then there will not be 1 ms signal during
the next half cycle (meaning binary 0), as shown in Fig. 3
In this study, a Man Machine Interface (MMI) is developed with the help of
Labview software from the national instrument that is used to control appliances,
using X10 protocol. This study was conducted from October 2008 until March 2009
at Physics Instrumentation and Optoelectronics Division, Research Centre for
Physics, Indonesian Institute of Sciences, Kompleks Puspiptek Serpong Tangerang,
Indonesia. Labview is a software development tool that applies diagram instead
of written code so that the time required for creating the program and troubleshooting
is shorter (Liew, 2003).
An executable program in Labview is called Virtual Instruments (VI). A VI consists of three main parts:
||Transmitted code for selecting a function or a number
||Data and its complement transmitted
||A front panel, where the user interacts with VI
||A block diagram, where the program is developed
||A connector, which connects one VI to another (Labview,
Figure 4 shows an example of front panel as an MMI. On/off toggle button is to start/stop the program. Boolean indicator will turn on green when monitored appliance is on and will turn on dark when the monitored appliance is off, meanwhile the string and the output are used for debugging purposes.
The front panel which is built with controls and indicators as interactive input and output terminal of the VI, is the user interface of the VI.
The front panel objects appear as terminals on the block diagram. Every VI displays an icon, which is a graphical representation of a VI that can contain text, images or both of them.
The block diagram contains graphical source code (functions and structures from built-in Labview VI libraries).
The nodes on the block diagram (control and indicator terminals, functions
and structures) are connected by wires (Labview, 2003).
Figure 5 shows the related block diagram of front panel shown in Fig. 4, where the software developed using a packet software from Labview.
Labview programming consists of 3 parts. The first part is the front panel
||Front panel of Labview programming
||Block diagram of Labview programming
In this window, all the man machine
interface is drawn. In this program, there are a status light indicating the current condition
of each device and a push button for toggling the status of the devices. The
second part is the block diagram and the third part is the connector. Actually,
the connector is a part of the block diagram.
Meanwhile, the actual programming is done in the block diagram. Labview provides
a couple of functional blocks that is capable of communicating with a serial
port. The first one is a serial port init. This is done at the very beginning
of the program to set the baud rate (4800 bps), data bits (8), stop bits (1)
and parity (none), so that it will match with the setting given by CM11. The
second one is a serial port read. This functional block is used to read data
from CM11 (Marmitek University, 2001). The example of
this data is an interface ready message from CM11, a device status and a checksum
of the written data. The last functional block is a serial port write, which
is used to send command and address code to CM11. Figure 6
shows the block diagram of X10 protocol MMI using Labview.
At the beginning of the program, the time in CM11 will be set. This is due to the requirement of the CM11, when it is firstly turned on, then needs the current time from the PC. The CM11 will refuse any command from the PC until the time has been set. The CM11 interface will continuously poll the PC with 0xA5 through serial port. The PC should respond by issuing 0x9B through serial port followed by the following 6 bytes of information:
|0 to 7
||Current time (sec)
|8 to 15
||Current time (minutes ranging from 0 to 119)
|16 to 24
||Current time (hours/2, ranging from 0 to 11)
|25 to 32
||Current year day (bits 0 to 7)
||Current year day (bit 8)
|34 to 40
||Day mask (SMTWTFS)
|41 to 44
||Monitored house code
||Battery timer clear flag
||Monitored status clear flag
||Timer purge flag
The last 4 bits are usually set to 0, while all the other information can be obtained from Labviews Seconds to Date/Time function. Then the program will check for any changes from history buffer. These changes are usually coming from other source, such as the remote-controlled TM13 which can also be used to control the device using X10 protocol. When there is a recorded change the CM11 interface will continuously poll PC with 0x5A. The PC should respond with 0xC3 and read the history buffer.
||Block diagram of X10 protocol man machine interface implementation
The way the history buffer is coded is similar to the way PC sends command to the CM11 (house code-device code-house code-command code) with first-in-first-out order (the first instruction received appear first and the instruction last received appear at the end of history buffer). The PC can then decode the status of each device from this history buffer. When there is no change recorded, the program will interrogate the device for its status. This can be done by first sending the house code, the device code, the house code again and finally sending the command code 6F (status request). The CM11 will then respond by sending 0x5A (history buffer being filled) and PC will respond the same way as it responds to history buffer change (0xC3). The history buffer will be filled with the house code and 0x6D if the device is on or 0x6E if the device is off. All of these processes are done to ensure that the status of the device reflected in the control panel, is really under its current condition.
After the initialization phase finishes, the program will enter its main loop.
The program will first ask for the current status of CM11. It will then branch
according to the response from CM11. If the CM11 requests for time, the program
will then set the time. This is the same procedure done in the beginning of
the program. If any change occurred by anything other than CM11, it will also
update the history buffer and informs the program. Under this condition, the
buffer and the status are needed to be read and updated, respectively. When
CM11 shows ready for command, the program will check for any command recorded
from the panel window.
||Flowchart MMI software developed using Labview
This is being recorded by another loop by using global variable feature in
LabView, so that the program can communicate with CM11 and waiting for input
at the same time. Then the CM11 will instruct the device to change its status,
accordingly. List of available command can be found in (Smarthome, protocol.txt).
CM11 (Controller) is a device installed between electrical power network and
computer that acts as an interface between the computer and X10 based receiver
(Marmitek University, 2001). The CM11 sends the data
from computer to the receiver (computer acting as the one that sends the command)
or take the data from the receiver and send it to computer (the computer is
acting as the one that asks for the status).
TM13 (Transceiver) is an interface that is installed in the electrical power
network (Marmitek University, 2001). The TM13 reads the
signal from remote control and sends it to the electrical power network. The
computer can also read the signal transmitted from TM13 (Marmitek
One side of the CM11 is connected to the PC through a serial port so that can communicate with the PC. The other side of the CM11 that connected to the electrical power network, is able to send the message to the device through the X10 protocol.
The flowchart, Fig. 7 shows the sequence or steps done by the software that developed using Labview to change personal computer into MMI.
RESULTS AND DISCUSSION
This study explained about monitoring/controlling of a house that used X10 based home appliances, those appliances used 50-60 Hz of the electrical power network for communication. Meanwhile, the man machine interface that was developed using Labview can be utilized to monitor/control the appliances from anywhere within the house, the final front panel of X10 protocol MMI Implementation using Labview shown in Fig. 8.
Those appliances are a motion detector, a door/window sensor, a smoke detector and a light/fan.
This system is capable for performing the following tasks:
||When there is a moving object, the system will react by sounding
the alarm and by changing the display in the computer
||When someone is opening a door/window (depending where the
sensor is installed) the system will also react by sounding the alarm and
by changing the display in the computer
||When the smoke is detected, the system will react by sounding
the alarm and by changing the display in the computer
||Simultaneously, the light/fan can be turn on/off from the
computer, while the status is being reflected in the computer
For example when the doors or windows are opened by unprivileged person or the presence of smoke, gas or flood inside a room the system will send signal via electrical power network to the personal computer. Owner can also remotely control the house from his/her personal computer, for example by turning on/off the light, the alarm, fan, or other appliances based on necessity and installed actuator.
When the doors or windows are opened by unprivileged person or the presence of smoke inside a room, the system can provide early warning to the owners and so will significantly minimize crimes and maximize security and thus protecting assets by sounding the alarm and changing the display in the computer.
The turning off of unused electrical appliances remotely from personal computer just by clicking button will save time and money for utilities bill.
This system is designed to be run on line 24 h but due to the unreliable of power supply in Indonesia, in which blackout is frequent, uninterruptible power supply must be added.
||Front panel of X10 protocol MMI implementation using LabView
In earlier research, a telemetry/telecontrol system using one of the feature of mobile phone, such as Short Message Service (SMS) has been made to monitor and control an empty house, that was left by its owner. The system that has been developed was capable of doing different kinds of monitoring and controlling, depending on the needs, that is matched with the installed sensor in the house or building.
Those experiment has been done, with satisfactory results depending on the
reliability of the service provider. The time needed for the message to be sent
from MMS (Home Owners Mobile Phone) to MRS (home appliance that is being
monitored/controlled) or vice versa until the acknowledgment from the other
part received, is less than 16 sec (Yuwono, 2006a, b).
Besides locally controlled like what is currently used, the home appliances
can also be remotely controlled using keypads, radio frequency and infra-red,
programmable timer and computer interface (Boone, 2004).
There are many things that can be done by X10, for example a light can be controlled
from more than one location; a light can be turned on/off in a pre-set time
so that the presence of person inside the house can be simulated even though
the house is empty. The appliances can be controlled remotely, while the owner
is outside the house via internet or mobile phone. In the future works the implementation
of these proposals will be conducted.
||Software based on labview has been developed
||This study has shown that X10 protocol and the computer as
MMI has the ability for controlling and monitoring appliances in the home
remotely for the purposes of the energy conservation, security and user
||In the future studies, the combination between home control
using sms via mobile phone and home control via electrical power network
will be carried out