Starview at PSU
Software Background Information
Today's technology allows the convenient remote control of telescopes. Thus, telescopes can be set up far away from interference due to civilization and, at the same time, many people can be given access to the telescope. An twelve-inch Meade Schmidt-Cassegrain and a CCD camera have been connected to a computer. A Web interface was developed and the whole system was hooked up to the Internet. All connections were made on a low cost base with standard software to keep maintenance to a minimum. The current version allows control of the telescope over the Internet. The telescope can be moved into the four sky directions, directed to a particular object from a database, or sent to particular coordinates. Furthermore pictures can be taken with the CCD camera and sent to the user.
Setup
The setup consists of a
telescope, a CCD camera, a server computer, standard software, and an Internet
connection. The telescope used is a Meade twelve-inch Schmidt Cassegrain Model
LX200. Both axes are microprocessor-controlled and due to this remote operation
ability over the serial port is possible. The CCD cameras used during the experimental
phase is a Quickcam. The server computer is a standard PC: in our case a Pentium-II
233 MHz with a T1/Ethernet Internet connection at Portland State University.
The telescope is connected to the server computer over the serial port (RS-232).
The camera is mounted on the telescope and connected the parallel port (Quickcam).
Figure 1 shows a diagram of the experimental setup.
Figure 1: Shows the experimental setup. The telescope is connected over the serial port with the server computer. The server computer is connected to the Internet through a T1/Ethernet connection.
Connectivity
CGI (Common Gateway Interface) applications are written in order to control the telescope and the camera. CGIs are used to make decisions dynamically based on user input on a web page. CGIs have a standard API (Application Programming Interface) for receiving a response from a remote user and taking action such as checking an end-user name and password against a valid user list, returning a different HTML (Hyper Text Markup Language) page to the user, making a computation and returning the results, or dynamically building an HTML page based on the data passed.
On the World Wide Web (WWW), when a client sends a request whose URL (Universal Resource Locator) specifies a CGI application, the server decodes the request, loads the application, and executes the application. The application generates data and returns it to the server. The server then sends a reply that contains this data to the client, which displays it. Figure 2 shows how this process works.
Figure 2: Shows the communication from a Web browser to a CGI application through a server software.
1. Client requests a URL
that describes a CGI application over the Internet, e.g.
http://131.252.00.000/telescope.vi
2. Server loads and executes CGI application (telescope.vi)
3. CGI application returns data to server.
4. Server returns document that contains data from the CGI over the Internet.
Control of the Telescope
The preliminary control of the telescope was provided through LabVIEW 5.0. Several other languages are available and they might be used instead. In LabVIEW, applications called virtual instruments (VI) can be written which provides signal processing to control your hardware. In addition, the Internet developer toolkit is used. This add-on for LabVIEW is an HTTP/1.0 compatible server for making HTML and other documents available on the internet and for connecting VIs to the World Wide Web. A special CGI (Common Gateway Interface) application is developed in LabVIEW. This CGI application is capable of accepting information from a client, which is a Web browser, processing the information in order to control the telescope respectively sending certain commands over the serial port to the telescope, and sending a response back to the client, in the form of HTML code.
Control of the Camera
The control of the camera is as follows. Additional software was used to control the Quickcam camera. This software package (Webcam) uses different methods of controlling and requesting images over the WWW. Two have been tested. First the software was setup as an FTP server. The software updates an image on the server every x seconds. The location of the image is implemented in the response from the telescope CGI application and the latest image gets loaded to the Web browser.
Second the software is setup as an additional HTTP server on the server computer. A different port number (81) is used to avoid conflicts with the LabVIEW server. Each time a request is send to the HTTP server a new image is responded.
This allows the user to request an image as often as possible and processing is minimal.
CGI Application
LabVIEW uses a visual method for the development of CGI applications. It accepts commands from the end user through a Web browser and returns an HTML document based on the end user's input. Figure 3 shows a typical CGI application.
Figure 3: Shows a typical CGI application.
A Web browser calls this CGI application through the HTTP server that is running on the server computer with the TCP/IP (Transmission Control Protocol/Internet Protocol) address 131.252.00.000. In addition, a parameter string is sent.
The parameter string is decoded and the command :Mn%23 (move north) is sent to the telescope over the serial port. Then a new HTML document is created and sent back to the Web browser. This HTML document can inform the user and provide new command opportunities:
Server Computer
Depending on the set up several server software packages can run on the server computer. In figure 4 an example is shown where LabVIEW HTTP server using the TCP/IP port 80 and Webcam HTTP server using TCP/IP port 81 are both running on the server computer.
Figure 4: Shows a example where LabVIEW HTTP server using TCP/IP port 80 and Webcam HTTP server using TCP/IP port 81 are both running on the server computer.
HTML user interface
The number of server software packages running on the server (the complexity of the system) can be hidden to the end user. All responses from the server computer can be provided into one user interface on the Web browser. Figure 5 shows an HTML user interface that allows the control of the telescope and the camera.
Figure 5: Shows a HTML user interface.
The user can direct the camera into the four directions, move the telescope to a certain position, and stop the process. The image of the camera gets updated every 5 seconds automatically.
See the Progress to Date page for the new approach.
Acknowledgements
Thanks to the following students: Gregg Goddard, Monique Hampton, Robert Heyward, Makenzie Lystrup, Kay O'Dea, Aaron Pederson, and Jonathan Schnitzer for their help. Special thanks to Jeremy Haub and Paul Hines who helped developed HTML controls and design.