Remote Learning Project

We take two different approaches in implementing this project:

a) Using the Linux server

b) Using the Windows server

Linux Server

Using a Linux server, we control an external device and a camera. The external device can be any hardware piece with an interface to the computer. In this approach we intend to write a simple program which can accessed through client’s browser to control the external device. The camera can also be accessed through client’s browser.

Upon remote access to the server, the client’s web browser will show the following screens:

The actual program controlling the external device will be very flexible such that it can be replaced by any other subprogram. For the purpose of demonstration, in this project we use a simple program which can control LEDs through the parallel port: http://bigasterisk.com/parallel [1]. A simple circuit capable of connecting to the parallel port is shown below. (we need to design the circuit as follow)


Windows server

Many practical applications and educational software are available for Windows operating system. In such cases, the remote user will be able to access the camera and the software controlling the external device using remote-desktop (such as what?). In such cases the client is asked to login first and then she/he will be allowed to access the desktop. Remote desktop can also be achieved through Web Connection (Which one do we want?). In either case, the client must make sure the Remote Desktop is actually installed[2].

Especial features

The following features can be considered for either approach:

a) Provide a list of users and the time they spent using the equipment along with their name (or user name)

b) Each user must have a login name and a password

c) If the server fails, the protection server will take over

d) The server must consider priority for people being out of the campus.

e) If a user is using the resources, she/he may use the resources until they are done

f) Deny access to any user if the resources are being used by another person – provide a BUSY message

g) The user will be able to report any problem through a log file (blog)

h) When the user logs out the next used must be able to use the resources.

i) The client should be able to use Wi-Fi to connect to the server.

j) Is there away to control the camera and change its position, zoom in and out, etc.?

k) The camera should be able to zoom and move on different objects if the user chooses different resources. For example, if they choose Board A, then the camera must automatically zoom on Board A.


[1] Refer to the following links for more information: Linux I/O port programming mini-HOWTO and http://www.qsl.net/n9zia/linux_frs/ ; http://www.bhu.go.th/cdc/misc/linux/2parport.htm (shows the circuit and the code for windows)

[2] If the server is running on Windows and the client has Linux, rdesktop can be used. Rdesktop is an open source client for Windows NT Terminal Server and Windows 2000/2003 Terminal Services, capable of natively speaking Remote Desktop Protocol (RDP) in order to present the user's NT desktop. http://www.rdesktop.org/