limited in purpose – the type of information to be
communicated is limited to the specific home automa-
tion commands like “dim lights to x%” or “switch the
device on.”
Another approach is to utilize the standards used
in the industrial communication – e.g. RS485, Mod-
bus, or the standards used in the computers or con-
sumer electronics: I2C, 1-Wire, SMBus, Ethernet,
USB. The disadvantage of the consumer electronics
standards (except Ethernet) is that they were not de-
signed for large-scale communication.
The Ethernet standard seems as a best solution due
to its widespread use. Moreover, Ethernet networks
are used as convergence networks for once separated
networks like phone lines (VOIP), TV wiring (IPTV)
etc. Nevertheless, the Ethernet standard is not us-
able for our scenario mainly because its complexity
– its implementation in low-power microcontrollers
is inconvenient, hard or even impossible. The best
approach is to use chips specialized for the Ether-
net communication, however, this makes the solution
more expensive and complicated.
For our prototype implementation, we have de-
cided to choose the RS485 standard (Electronic In-
dustries Association, 1983). Its main advantages can
be summarized as:
• it is widespread and highly tested, mainly in the
industrial environment
• it is designed to be very interference-resistant –
RS485 uses differential signaling (two symmetric
signal wires)
• it does not place high demands on the wire quality
– the common twisted pair cable is used, so stan-
dard existing house wiring (e.g. Ethernet Cat5 or
phone cables) can be used
• it can achieve high transmission speed or long dis-
tances (about tens of megabits over tens of meters
or up to hundred kilobits over one kilometer long
cable)
• its electronic implementation is simple and cheap
• unlike its predecessors (mostly RS232, also
known as the computer ”serial port”), the RS485
is a multi-drop bus, so multiple clients can be con-
nected to the same wire
The main disadvantage of the RS485 standard is that
it defines only the physical layer of the communi-
cation. The communication protocol must be cho-
sen/developed independently. It is common to use a
custom-developed protocol over the RS485 line. This
is also the case of our prototype. To keep the proto-
type flexible for future extensions, we have decided
to use a ”meta-protocol” encapsulating the commu-
nication data itself. The communication protocol is
based on the master/slave principle, so we have used
the same approach for the data exchange on the line
level. The cooperative master/slave communication
can also be implemented in simple microcontrollers
because it does not need complicated collision detec-
tion like in other shared-media protocols such as the
CSMA/CD used in a coaxial-cable Ethernet standard.
The details of the communication protocol implemen-
tation are outside of the scope of this paper.
4.2 Software
The overall controlling system consists of a central
agent implementing the main scheduling and plan-
ning logic (scheduler) and many autonomous agents
controlling particular household appliances (nodes).
The nodes are autonomous because the scheduler
does not instruct them with precise orders. Instead the
nodes just inform the scheduler about their knowledge
of the situation and future predictions. The sched-
uler then summarizes the knowledge and instructs the
nodes about which actions are viable and which are
not.
In this arrangement, the assumptions about the ca-
pabilities necessary in each network node are kept
as low as possible. In combination with the chosen
physical layer (RS485), a device controller can be
implemented with the cheapest low-power microcon-
trollers. For instance the above-described interactive
appliance needs just the following capabilities:
• one sensor for user interaction
• one actuator for device control
• implementation of a few communication acts (see
Table 1)
• one cheap-chip RS485 line driver
This functionality can be implemented e.g. with At-
mel ATtiny microcontroller (priced about USD 3)
with one RS485 driver chip. Due to the chosen co-
operative master/slave protocol, the line driver can be
only half-duplex, so again very cheap (under USD 1).
In our prototype we have used software implemen-
tation for Arduino prototype boards (Banzi, 2008).
The Arduino board is based on the Atmel microcon-
troller so the developed software can be uploaded to
the above-mentioned Atmel ATtiny with only minor
or no modification.
As we have argued earlier in the paper, the SHS
protocol is very scalable. It is possible to implement
the basic functionality with a small microcontroller,
but at the same time sophisticated behaviour can be
implemented with more-computing-power chips or
computers.
The scheduler is a standard-computer software
implemented in the Erlang programming language,
SmartHousehold-SelectedProblemSolutionsusingIntelligentControllableElectricAppliances
209