circuitcellar.com
Magazine Support   Digital Library   Products & Services   Suppliers Directory 
 
 





 

November 1998, Issue 99

Web-Implemented Irrigation System


by Chris Sontag
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 emWare’s 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 areas—on 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 device’s 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 2–4 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 proportionally—less in the spring and more in the heat of summer.

Because the device has Internet connectivity built in, it can check the National Weather Service’s 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 you’re 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.