Start
Intelligent
Architechture
Putting
the Pieces Together
Programming
Brains
Building
and Interface
Education
Possible
Sources
& PDF
INTELLIGENT ARCHITECTURE
To make a sprinkler system
intelligent, you need three things. You need an interface
to enable easy access and control of the device from
anywhere.
You also require a way
to gather and analyze current environmental conditions
as well as a decision-making process to adjust the
device based on current information. Also, a solution
based on Internet standards makes the interface user
friendly and easy for the device manufacturer to implement.
Using emWares EMIT
(Embedded Micro Internetworking Technology) software,
I can put an intelligent system into place. EMIT includes
five modular software components:
- emMicro, a compact,
special-purpose micro web server that requires less
than 1 KB of device memory
- emNet, a message-based
protocol that combines packet and stream interchange
- Microtags, preprogrammed
packets that define device controls (e.g., switches,
buttons, LEDs)
- emGateway, which expands
Microtags into their full parameters
- emObjects, a library
of JavaBean components consisting of visual and
utility objects
These components work
together to create a dynamic user interface without
requiring extensive resources from the device itself.
Figure 1
shows how these components work together.
EMIT software is placed
in three areason the device, in a gateway browser,
and at a user interface. The device is embedded with
emMicro, Microtags, and emNet, as well as variables,
functions, events, and documents.
The user interface is
a standard web browser, enabling access via a Java-enabled
GUI. The browser communicates with the gateway, which
sends information to and pulls information from the
device.
Between them lies the
key to networking small devices to the Internet. Using
emGateway minimizes resource requirements at the device
by moving the workload to the client side of the equation.
When a user requests
the device interface from a web browser, the browser
sends the request to emGateway, which translates the
high-level request and sends it to emMicro at the
device. emGateway receives information through the
Microtags built into the device, and substitutes each
Microtag with a corresponding emObject.
emObjects are JPEG or
GIF images or Java applets that represent device controls
to the browser. The page with the substituted emObjects
is then sent to the browser.
EMIT components process
user requests to view and set device information,
dynamically representing the results on the desktop.
For example, users may ask to turn a sprinkler valve
from off to on. The browser then invokes emGateway,
which sends the request to emMicro at the device.
When emMicro receives
the request, it causes the devices microcontroller
to flip the valve switch. Because device information
has changed, the state of the embedded device changes,
so a state-change message is sent to any interface
emObject (component) monitoring affected variables.
The interface now shows the valve state as on.
In addition to the 1-KB
emMicro web server, this application is about 900
bytes. If you have to build physical interface logic
onto the device (LCD, buttons, switches, etc.), you
need another 24 KB of program space.
For applications on devices
with larger processor capacity, the emGateway requirements
can be moved to the device. But for this example,
you can minimize device requirements to reduce expenses.
ADDING SMARTS
The EMIT components enable
control of the system through a GUI from anywhere
at any time. Now we need to add information to educate
the device regularly, allowing the sprinkler system
to water proportionallyless in the spring and
more in the heat of summer.
Because the device has
Internet connectivity built in, it can check the National
Weather Services web site for precipitation
information and forecasts. For more accurate information,
you can connect the system to temperature sensors,
moisture probes, and wind monitors at the property.
Using the forecasts,
you can program the device to water in the early morning
hours of hot, dry days, providing the necessary moisture
to the lawn and avoiding heavy evaporation that comes
from watering in the heat of the day. On days with
rain in the forecast, the sprinklers could automatically
shut off.
When your computer is
off or the sprinkler system is unable to access the
Internet or weather-station information, the system
simply defaults to its regular schedule or to user
input.
You can even program
the device to weigh current data (temperature, humidity,
rainfall, etc.) against forecasts. For example, if
the day is hot and dry, but the forecast calls for
a heavy storm at night, the device can postpone watering
and let the coming storm take care of the lawn. On
days when the predictions are wrong, you simply call
up the sprinkler interface and reset the sprinklers.
The sprinkler interface
allows for customized usage in other ways. For example,
you can turn off the system for a few hours to accommodate
an unexpected thunderstorm or turn the system on if
an expected storm fizzles out. On the other hand,
if youre away from home (or forgetful), the
sprinkler device is intelligent enough to turn back
on to a preset schedule after an allotted time without
receiving any data input.