You are on page 1of 21

Bluetooth Remote for PC

Aby Jacob 2008HZ12317

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

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

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


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

Mouse Keyboard

Command Line Send Message

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

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
main() function in the Server component

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

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

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

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

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

Package gui
The UI part of the server is handled by this class
This class displays the details of the application version and developers.

Implementation - Client (I)

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

Package gui
lists the set of available applications
Returns the appropriate help text
Lists out the server devices found out
Gets an instance of the display unit in the mobile device

Implementation - Client (II)
Implements RecordStore
lists down the different modes in the application
Takes the message to be send to the server as input from the user
Displays info or error message to user
Takes the name of the executable to be run in the server
Lists the options available in Utilities mode (i) Run Command and (ii) Send Message

Implementation - Client (III)

Package remoteclient
Main class in the client side implementation

Package util
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)




Client Application(V)

Command Screen

Application Opened in Server

Client Application(VI)

Message Screen

Message in Server

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

Mouse Keyboard

Command Line Send Message

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