The Remote Control Project is complete. A full project report
including complete source code listings and pointers to a wide variety
of Web resources related to Internet remote control is available at http://www.cs.princeton.edu/~tpkelly/sniffle/
Read all about sniffle, the "Simple Networked
Interface to the Full Functionality of Lab Equipment."
The preliminary project description below is obsolete and is preserved only for its historical interest.
This page is under construction. It is intended to provide a basic introduction to my summer research work and to serve as a resource for Professor Littman and myself. Watch this space for improvements as our work progresses. Links to references are provided at the bottom of this document.
Acknowledgements: We'd like to thank Jay Lieske and Kirk Alexander of Princeton University's Computing and Information Technology department (CIT) for their advice during the initial stages of this project.
Professor Michael Littman of Princeton's Department of Mechanical and Aerospace Engineering would like to show his students lab demonstrations without dragging a large and complex experimental apparatus from the lab to the classroom and without crowding a large class into a tiny laboratory. He'd like to set an experiment running in the lab from a remote location and show his audience a motion picture of the experiment as it unfolds. When the experiment has run its course, he'd like a graphical summary of data collected by lab instruments transmitted to his remote control station.
To minimize development time and maximize modularity, portability and extensibility, we want to accomplish these goals using inexpensive off-the-shelf hardware, software and network infrastructure (read "old IBM PC clones, MS-Windows, and the Web"). This project is challenging because it relies on the application of a variety of products to purposes for which they were never intended: old PCs running Windows aren't designed to supervise lab equipment while running network servers and the Internet isn't designed to transmit live video. Our project is important because it is one of the first Internet remote-control applications intended to provide a practical, cost-effective solution to a real instructional problem. We're not doing this to make people say "gee whiz."
Our initial goal is to implement the above scheme on a simple dynamic control system demonstration. Here's the scenario: Dr. Littman completes a "form" on a Netscape client to specify the initial conditions of the experiment. He then submits the form to an httpd server running on a 386 Windows box in the lab. A cgi-bin script activates the software that will actually start and control the experiment. As the experimental apparatus runs, a digital oscilloscope collects data from it. When the experiment is complete, this data is dumped from the oscilloscope to a file on the PC. This file is converted into a graphical representation by Matlab and the resulting graphic is transmitted back to the Netscape client by the httpd server.
Meanwhile, a video camera trained on the lab apparatus feeds into a frame-grabber on a second 386 Windows box, which transmits "live video" to Dr. Littman's remote PC using Cornell University's CU-SeeMe video teleconferencing system.
According to the relevant documentation, an httpd server and a CU-SeeMe
broadcaster can be operated from a 386 box running Windows 3.1 (though
I'll eat my hat if they can both be run simultaneously from the
same 386!). See the references below for details. I have
tested CU-SeeMe by viewing President Clinton's commencement speech at
Dartmouth on June 11, 1995. It wasn't very impressive. What I got
was a small (roughly 100 x 100 pixel) 4-bit black-and-white image at
under one frame per second. It was more like a photograph than
a movie. Hopefully we will be able to achieve higher throughput on
a local Ethernet.
On June 14 Professor Littman discovered a Web page describing a CU-SeeMe camera that is remotely controlled via the Web; a link is provided below.
On the weekend of June 16 through 19 I installed Robert Denny's
WinHTTPD server on a 386 Windows box in G-101. The server remained
functional and served a simple "Hello World" document for
several days (see link below).
tpkelly@phoenix.princeton.edu.