You are on page 1of 21

Bluetooth Remote for PC

Aby Jacob 2008HZ12317

Introduction
Bluetooth is unlicensed and globally available. Made impacts in different markets, mainly mobiles. Future expected in Remote Control market Advantages over standard IR remotes
Bluetooth is non-directional Two-way communication possible in remotes, making possible intelligent remotes

PC Remotes presently are dedicated devices with limited functionality. Java and Bluetooth enables mobiles are now very common

Technology
Bluetooth(Hardware)
PC & Mobile 2.45 GHz ISM frequency band RFCOMM Service Discovery Database (SDDB)

J2ME(software)
Java Micro Edition 2 concepts
Configurations (CDC and CLDC) Profiles( eg:- MIDP) - set of APIs which reside on top of a configuration

Midlet

Methodology
Microsoft Bluetooth Stack Desktop (PC) Functionalities
Controls
Media Players(Windows, VLC, Winamp) PowerPoint Browsers( IE, Firefox)

Simulate
Mouse Keyboard

Utilities
Command Line Send Message

Methodology
JSR 82 API
Bluetooth Discovery APIs
APIs for Device Discovery APIs for Service Discovery The UUID Class The SDDB and the ServiceRecord Interface The DataElement Class The LocalDevice Class The RemoteDevice Class The DeviceClass Class Bluetooth Communication

APIs for Device Management

Methodology
Server Connections and Client Connections
Initializing the Bluetooth Application Dealing with Connections Setting up a Bluetooth Server Creating a Service Record Registering the Service and Waiting for Incoming Connections Updating the Service Record Closing the Connection and Removing the Service Record Discovering Nearby Devices and Services Connecting to a Service

Implementation - Server(I)
Server (Java)
Package remoteserver
RemoteServer.java
main() function in the Server component

Package system
Bluetooth.java
Class responsible for enabling the Bluetooth stack in the server PC/laptop

Package keyboardcontrol
KeyboardControl.java
This class takes care of the implementing the virtual key presses

Package mouse
MouseCursor.java
This class is used to keep a track of the mouse cursor

Implementation - Server(II)
Package mousecontrol
MouseControl.java
This class implements the actions to be taken when data is received from the client which is in Mouse mode

Package util
SendAppList.java
In the class, basically a XML parser is implemented.

Package gui
RemoteServerGUI.java
The UI part of the server is handled by this class

About.java
This class displays the details of the application version and developers.

Implementation - Client (I)


Client (J2ME)
Package device
Bluetooth.java
Class responsible for enabling the Bluetooth stack in the client mobile device

Package gui
AppList.java
lists the set of available applications

Helpform.java
Returns the appropriate help text

DevList.java
Lists out the server devices found out

MainCanvas.java
Gets an instance of the display unit in the mobile device

Implementation - Client (II)


MainList.java
Implements RecordStore

ModeList.java
lists down the different modes in the application

SendMessage.java
Takes the message to be send to the server as input from the user

SplashScreen.java
Displays info or error message to user

RunCommand.java
Takes the name of the executable to be run in the server

UtilList.java
Lists the options available in Utilities mode (i) Run Command and (ii) Send Message

Implementation - Client (III)


Package remoteclient
Remote.java
Main class in the client side implementation

Package util
CommandsTable.java
Holds an instance of the list of applications

Server Application(I)

Waiting for client to connect

Once client is connected

Server Application(II)

Once a client is disconnected, waiting from new connection

Help Menu

Server Application(III)

Help Page 1

Help Page 2

Client Application (I)

Main Screen

Server Searching

Choose Mode

Client Application(II)

Mouse Mode

Mouse Mode Help

Keyboard Mode Help

Client Application(III)

Application Mode Help

Select Application

Media Player

Client Application(IV)

Firefox

PowerPoint

Utilities

Client Application(V)

Command Screen

Application Opened in Server

Client Application(VI)

Message Screen

Message in Server

Summary
Bluetooth Remote for PC implemented
Controls
Media Players(Windows, VLC, Winamp) PowerPoint Browsers( IE, Firefox)

Simulate
Mouse Keyboard

Utilities
Command Line Send Message

Application List & Shortcuts are customisable. Can be enhanced for greater usability in touch phones.