Introduction

Target audience

The target audience of this document includes anyone with a basic knowledge of how the Internet functions and who has a general knowledge of how computers store, retrieve, and process information. The following block diagrams should be of great help in understanging the process flow:

Background

The Internet was designed by the United States Government to transmit information across large distances. In essence the Internet transmits data stored on a server across a network to a user on a client machine. This data has advanced from just text data to data containing pictures, animation's, and even embedded programs as Figure 1 depicts. The internet has grown since industry has become involved with advancing the technology which drives the internet.

The technology which has been driving the Internet has become so advanced that it is now economically feasible to create web based controllers. A web based device is a device which can be controlled through a web page. These devices may range from water sprinkling systems and environmental controllers to any device which requires little bandwidth to monitor and manipulate. Netscape and SUN Microsystems are pioneering web development. SUN Microsystems created Java. Java was derived from OAK, a programming language used to program micro devices and PDA's

The web based controller concept

The web based controller concept is only slightly different from referencing on line documentation that most people are familiar with. In fact if you look at the server client relationship, a web based controller has been already been implemented. For example let's say a person is browsing the Internet on a client machine. When this person clicks on a hyperlink this action is translated by the browser on the client machine into a server request. This request is sent over the Internet to the server. The server then receives the request and searches the harddrives on that machine for the requested document. The document is then sent and displayed on the client machine via the Internet. Consider for a moment the harddrive of the server. The harddrive is in essence a web based device. When a document is requested, the harddrive spins and the head moves across the disk to retrieve information stored on the magnetic disk. It is not that much of a leap to have the server access an external device. The server can communicate with this device and take the incomming data and display it in a format which can be viewed as a Hyper Text Markup Language HTML document. Figure 2 depicts this process. Java can also be used to enhance the functionality and user interface of the web page.

Function and appearance

Explanation by example

An example will be used to describe the functionality and appearance of a web based controller. This example will be a robot that has four movements and two sensor readings. The sensors can monitor humidity and temperature. The four movements are forward, back, left, and right.

The web page

This web based controller consists of a series of components. The first component which the user sees is the web page which is loaded from the server. This is described in great detail since this is the only component that the user will see.

An imbedded Java applet begins to run when the page is downloaded. This Java applet is event driven. An event driven applet waits for an action to occur. In this case when a arrow button is pressed the program on the client sends a command to the server. This command tells the server to talk to the device and move it forward. Also contained on this web page is sensor reading output. The sensor readings are sent by the robot to the server which relays the data to the web page. These sensor readings appear next to the control graphic. Humidity and temperature readings will be displayed in boxes which up date as new data is sent by the robot. These data boxes will take a small portion of the screen. The text inside the boxes will be around 12 point font so as to be legible but not take up to much of the screen. Also contained on this web page will be an picture which shows the current position of the robot. JPEG encryption is used for this picture due to Internet standards and the transmission speed which can be achieved. This picture takes up little area because the size of the file transmitted to display the picture grows geometrically with size. This picture is in 8 bit color. Eight bit color allows for 28 or 256 colors.

The Server

The second component is a server which relays information from client to robot and from robot to client. The server can be of a type capable of launching HTML documents with imbedded Java applets. Such servers include Netscape, Microsoft, and SUN Microsystems servers. This server must also be capable of communication through some external port such as a RS232. This port will be used as a communications channel between the server and the robot.

The Robot

The robot is the last component needed for this example. The important feature of the robot is a micro controller which is the brain of the robot. This micro controller should be capable of RS232 communication. This allows the robot to send data and receive instructions to and from the server. The micro controller is interfaced to external motors and servomechanisms which allow the robot to move. This processor should at least have an 8 bit bus for communication with external devices.

Summary

The web based controller example uses a HTML document loaded on a client computer to send instructions to a server via the Internet. The server is needed to relay information to the robot. The communication link between the robot and the server is an RS232 link. This allows two way communication between the robot and the Server.