CLIC Control Project
Takahiro Mark Kuba
Columbia University
New York, NY 10027
USA
tmk29 at columbia dot edu
Abstract
This document outlines the methodologies employed in creating a control
system for various audio/visual systems in the CLIC booth as well as
the Knox media router, and building a web interface for them.
Introduction
The goal of this project was to provide a simple web interface for
controlling various audio/visual systems in the CLIC booth. The main
components to be controlled were the Knox media router, the VCR, DVD
player, and the Sony AV system. The Knox media router has an RS232
serial port in the back which can be used for a direct connection to
a computer. The VCR, DVD player, and AV system were to be controlled
using the Slink-e infrared transmitter by Nirvis Systems.
Nirvis Systems, Slink-e
|
Knox Video Technologies, RS8x8HB Media Router
|
Architecture
The architecture can be divided into two main components. There is
a component for dealing with the Knox media router, and another
component for dealing with interaction through the Slink-e. In all,
the project was ~400 lines of code (not including the various package
dependencies), and was written entirely using the TCL language, for
its cross-platform properties and maintainability.
Knox Media Router Component
This component of the architecture is set up by running a web server
on a machine and attaching that machine to the Knox media router
using a standard RS232 serial cable. The machine will accept input
through a CGI script on the web server, and will send the corresponding
commands to the Knox media router via the serial port. In the current
configuration for the CLIC control project, the web server and CGI
script is located on mork.clic.cs.columbia.edu, the Sun machine located
inside the CLIC booth.
Slink-e Component
The component for communication via the Slink-e is slightly more
complicated than the Knox media router component. In this case, there
is a web
server and CGI script located anywhere one wants, and a the machine
physically connected to the Slink-e is set up as a device control gateway.
This machine (ankara.clic.cs.columbia.edu for now) listens on port 5000
for TCP connections and directly takes commands from that port. The CGI
scripts for the Slink-e web interface will make connections to the
device control gateway and send commands to it depending on the user's
input.
Architectural Overview
Below is a diagram of the overview of the system architecture:
Difficulties Encountered
There were a few problems encountered while implementing the CLIC control
project.
Sun and Slink-e connection
First and foremost, there were considerable
difficulties in getting the Sun machine in the CLIC booth to successfully
communicate with the Nirvis Slink-e. Several attempts were made, testing
for many different faults, including using different cables (faulty cable),
re-training the Slink-e on the Sun (byte ordering), but none were successful.
In the end, the decision was made to use a separate Linux machine for
communication with the Slink-e, and the device control gateway was set up
to this end.
New Slink-e has a weak transmitter
The new Slink-e which was ordered from Nirvis comes with a different IR
transmitter than the old version. This new IR transmitter is significantly
weaker in transmission range. When using the new Slink-e, the infrared
transmitter had to be held within 15-25 centimeters within the devices in
order for the infrared transmission to be received. However, using the old
Slink-e would allow for successful transmission from across the room, at
least 5 feet away.
Bug in Slink-e TCL package
A bug was discovered in the Slink-e TCL package provided. When using the
Slinke::learnsession procedure, only the first received infrared
transmission is stored correctly by the program. All subsequent infrared
transmissions were not received or stored correctly. The author of the
Slink-e TCL package has has been notified about this bug and has verified
it.
Program Documentation
The README as well as instructions on how to
INSTALL and configure the system are available
for download.
System Requirements
The CLIC control project requires a running web server with support for
accessing and executing CGI scripts. TCL 8.x is also required as well,
in order to execute the scripts.
The physical devices required for this project are the Slink-e by
Nirvis Systems, and the RS8x8HB Media Router from Knox Video Technologies.
Future Enhancements
One future enhancement is to consolidate the two scripts into one. The
main obstacle to this is the hardware problems mentioned above in getting
the Sun machine in the CLIC booth to communicate successfully with the
Slink-e.
The project could also be extended to controlling more than these
components. The entire electronic classroom could possibly controlled
via a simple web interface, including the cameras and video mixers.
Acknowledgements
Special thanks to Xiaotao Wu for his advice and help for this project,
especially in setting up the device control gateway.
Screenshots
Below are screenshots for the final web interface.
Slink-e web interface
|
Knox media router web interface
|
Last updated: 2003-05-11 by
T. Mark Kuba