• HSBC

Remote Control by Phone (RCP) (page 1 of 2)

  • Monday, July 10 - 2006 at 09:44

RCP is a program that enables remote controlling of a computer within a specific rage with the controlling device being a phone or PDA, and the connectivity medium being Bluetooth.

This article discusses how RCP is designed and built, the challenges we faced, and future plans for further improvement of RCP.

After spending some time searching for a suitable idea for a senior graduate Computer Science project, the idea of remotely controlling a computer was raised. The idea was inspired by the remote controlling devices that some professors at our university purchased to make teaching easier and more interactive, but the problem was that those devices cost money, professors had to carry them from class to class in addition to their other gadgets, and the functionalities those controlling devices have are quite limited.

It's obvious that nowadays everyone carries a phone or PDA, so our visionary idea was: "why not use our phones or PDA, which we always carry, in controlling our computers instead of buying an extra device".

The system we proposed gained acceptance and encouragement from the supervisor as well as other professors at our university. So the next step was research. We did some reading and downloaded some APIs, and had to make many decisions regarding which APIs to use and what programming languages are most suitable for such a system, etc.

Before going to real implementation, we did a feasibility study. After making sure that the system can be implemented, we moved on to creating a design for the system. We selected the server-client architecture because naturally our system is comprised of two components, which are the computer (server), and the phone or PDA (client).

We selected Java 2SE for programming the server side, and Java 2ME for programming the client side, and the connectivity medium we selected was Bluetooth because of its amazing properties. These properties include speed, reliability, and the ability to pass through barriers.

The server side is divided into many layers stacked on top of each other, each layer receives data from the one beneath it, processes the that data, and delivers the result to the layer on top of it. This design adheres to the component based design which provides a high level of coherence and cohesion. These two measures are highly preferred in the contemporary software engineering trends.

Figure 1 below shows the design of the server side:

figure 1 design of the server side

Figure 1

The bottom layer displayed in Figure 1 is the Bluetooth hardware; on top of it is Microsoft's XP2 Bluetooth Enumerator and Radio, which fetches the data received from the hardware layer, USB Bluetooth Dongle, and delivers this data to BlueCove's Bluetooth stack after passing through the Java Native Interface (JNI) tool; this JNI tool acts as a translator between Microsoft's XP2 Bluetooth Enumerator and Radio and BlueCove's Bluetooth stack.

A Bluetooth stack is a device driver that relies on the operating system's access to Bluetooth hardware. Programmers use Bluetooth stacks to gain control of Bluetooth hardware. Some of these Bluetooth stacks are free and others are commercial. We selected BlueCove's Bluetooth stack because of its platform independence and being open source. Another Bluetooth Stack is Harold Bluetooth stack.

On top of BlueCove's Bluetooth stack is Sun's Microsystems Bluetooth API, this API is standardized as the JSR-82; this API gives programmers the ability to perform Bluetooth operations which are discovery, device management and connectivity.

The top layer is a set of classes, each of which performs a certain task.
Mohamed Basta 
Mohamed Basta
Article Options

Notes and Media Contacts »

Authors:

Mohamed Basta
Anas Yousef Boubes
Mohamed Jaballah
Alaa Al Saoudi

Supervisor:
Dr. Lami Kaya

University/Department:
Computer Science Department
Sharjah University

Disclaimer »

Articles in this section are primarily provided directly by the companies appearing or PR agencies which are solely responsible for the content. The companies concerned may use the above content on their respective web sites provided they link back to http://www.ameinfo.com

Any opinions, advice, statements, offers or other information expressed in this section of the AMEinfo.com Web site are those of the authors and do not necessarily reflect the views of AME Info FZ LLC / Emap Limited. AME Info FZ LLC / Emap Limited is not responsible or liable for the content, accuracy or reliability of any material, advice, opinion or statement in this section of the AMEinfo.com Web site.

For details about submitting your stories, please read the guide - all content published is subject to our terms and conditions



Articles are sent for review to selected members of the editorial board, and may be published with revisions. Alternately, students may be asked to re-write sections of their articles for clarity or consistency. All articles should be original and should be authored by students under the guidance of a faculty member.

Articles may be forwarded, downloaded, and printed, however credit should be given at all times to the authors, to the publisher AME Info, and to the Zayed University e-Entrepreneur Column, run by the Institute for Technological Innnovation (ITI), who own the copyright.

Neither AME Info nor the Zayed University ITI accept responsibility for statements or opinions expressed contributors and consequently accept no liability for damages that may result from use of the journal or advice given.