The University of Queensland Homepage
UQ VisLab UQ VisLab

 Remote Sensor and Instrument Monitoring in the Access Grid
One of the features of the Access Grid which takes it well beyond videoconferencing on steroids is its ability to share applications. The AG's shared application mechanism passes events and data, as required by a particular application, between all the participants in the shared application. This same mechanism can be used to distribute arbitrary data to shared application participants. A common example of this is the VenueVNC; the VenueVNCServer creates a VenueVNC shared application and stores various connection details. When clients join the shared application session, the stored connection details are retrieved and used to launch a vncviewer application.

Image of WTTCI-MIn this example of remote sensor monitoring, the AG's shared application mechanism is used to distribute live sensor data to the shared application participants. The sensor data consists of temperature outputs from four thermocouples attached to a Weeder Technologies WTTCI-M thermocouple input module, which is connected to a computer via its RS-232 port.

The software on the machine hosting the WTTCI-M board consists of two parts:
  • a python module, Weeder.py, to communicate with the WTTCI-M board via the machine's RS-232 port
  • a python program, VenueThermoServer.py, which
    • creates a shared application in an AG venue (nominated as a startup option)
    • periodically retrieves temperature data from the WTTCI-M board and makes the data available to any participant in the shared application session.

VenueClient showing remote THERMO shared application

The temperature data is now accessible by joining the shared application session in the nominated venue. Note that entry to a venue may be restricted (by Globus or SSL certificates for AG2 and AG3 respectively), providing a secure means of making the sensor or instrument data available to a restricted audience.

To join the shared application session as a "client", the VenueThermoClient shared application must first be installed. The shared application is then joined by either double-clicking the session's entry in the VenueClient's "Application Sessions" section, or right-clicking on it and selecting "Open" from the resulting drop down menu. The name of the session is set when the VenueThermoServer is started; if no name is given as a startup parameter, the default name "Remote THERMO" will be used.

A few seconds later, all being well, the VenueThermoClient interface should appear.






VenueThermoClient temperature display
The VenueThermoClient interface consists of a display of the temperature data from each of the four thermocouples attached to the Weeder WTTCI-M board. In the instance shown here, the window frame identifies the thermocouple data as being generated at a machine named seivers.vislab.uq.edu.au. The user is able to select a display of the data in either Celsius or Fahrenheit units. In the status bar at the bottom of the window frame, the thermocouple types are shown on the left. On the right of the status bar, the date and time of the last received data is shown.


Of course we are only monitoring trivial data in this project. However the general methodology used here could apply to almost any instrument or sensor data imaginable. Combined with the AG's video and audio streams, we have a powerful platform for remote instrument and sensor monitoring.

Downloads

for AG Toolkit 2.4
for AG Toolkit 3.0.2 (or later)
VenueThermoClient: VenueThermoClient:


VenueThermoServer:
VenueThermoServer source code:


VenueThermoServer binary packages:
VenueThermoServer binary packages:



Please note that to run the VenueThermoServer, you will need to have installed the pyserial package. This is available via the pyserial website. The pyserial package is not required to monitor the data output using the VenueThermoClient in an AG shared application session.

Acknowledgements

The VenueThermo project was developed at The University of Queensland Vislab, with assistance from the Queensland Cyber Infrastructure Foundation (QCiF) and the Australian Partnership for Advanced Computing (APAC)


Any comments or suggestions to c.willing (at) uq.edu.au