Aroma
Projector Software |
-
Services:
- Aroma Remote Projector Control Service
- Aroma Remote Projector Display Service
-
Clients:
- AT&T’s Virtual Network Computer Client
-
APIs:
- JavaComm for Linux + RXTX
|
Click on image for larger graphic.
|
|
The
Projector |
-
The Kodak DP1100 projector can be controlled via an RS-232 port using CLI (Command Line Interface).
-
CLI is a ASCII-based language:
- (BRT 10) Set brightness to 10
- (CON 20) Set contrast to 20
- (RST 1) Reset the projector
-
Commands must be given no faster than one per every 3 seconds.
|
|
Aroma
Remote Projector Control Service |
-
Wrote a JiniTM
technology service to control the projector using the JavaComm API.
-
JavaTM
technology makes things portable:
- Developed in Solaris
7
- Copied to Linux-based adapters with minimal
changes
-
Used projector control sessions to prevent other users from accidentally "hijacking" control of the projector.
-
Used Blackdown JDK 1.2.2 RC4 because it has native threads needed by
JavaComm.
|
|
Connecting
to the Projector |
- JavaComm hands you all of the ports. You search for the port that you want. You can then configure and use it as you would expect.
|
|
Aroma
Remote Projector Control Service |
- Wrote a JiniTM
technology service to allow a Windows client to project its desktop using AT&T’s Virtual Network Computer.
- Found a way to "FTP" a key file with RMI, effectively replacing a net protocol with
JavaTM
technology.
- Used projector display sessions to prevent other users from accidentally "hijacking" the projector display.
|
|
When Runtime.exec() is not enough |
- In our research, we have run into the limits of
Runtime.exec().
- For example, when trying to redirect process output:
- The process must be started in order to get a Process object, so that getErrorStream() can be called.
- This may already be too late to capture valuable data.
- The same holds for getOutputStream().
|
|
Our
solution... |
- We’ve created a public domain native library which allows a Tcl interpreter to be embedded in the same process as the
JVM.
- There are other
JavaTM
technology/Tcl utilities such as
TclBlend.
- The difference is that with TclBlend, Tcl is used to "script"
JavaTM
technology, where we allow Tcl to provide services to a JavaTM
technology application.
|
|