Major Project Report’ 10 Pack

BT-

1.INTRODUCTION
Most of the electronic equipments like TV, air conditioner, DVD players now come with remote controllers. This motivated us to build a remote controller for PCs so that we can control common applications like PowerPoint presentation, windows media player, etc. Typically, the transmission medium for remote controller is IR (Infra Red) and the vendors build their own remote controller devices. We decided to reuse one of the common devices used in day to day life, a mobile phone, as our remote controller device. In our application, we use Bluetooth as the transmission medium which is more powerful than IR and does not require line of site. The aim of our project is to control PCs by J2ME enabled mobile phones using Bluetooth as the medium of communication.

1.1.

ABOUT THE PROJECT

1.1.1. Project Definition:

This project will provide a universal remote controller for PC to the user through a Bluetooth enabled mobile phone.

Bluetooth-Pack turns your Bluetooth enabled mobile phone into a universal controller for Window. BT-Pack is a true universal remote control that lets the user adds or modifies the controlled programs. Through the Bluetooth Specification, Human Interface Device (HID) Profile v1.0; a mobile phone can act as a HID device. When connected to a computer, the mobile phone acts like a combined keyboard and mouse. By assigning a combination of computer keyboard key presses to keys on the mobile phone keypad, the mobile phone can be used as a remote control device for computer applications. The Bluetooth remote control solution will allow you to control all supported applications and features with a Bluetooth enabled mobile phone. It consists of a Java midlet for a Bluetooth enabled mobile phone and a Bluetooth server.

By combining the power of these technologies, the mobile phone becomes a powerful, yet simple, real-time remote control for Windows applications. The aim of this project is to enable

Dept. of Computer Science & Engg.

1

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

mobile phones to control remotely a PC using Bluetooth. The program consists of two parts the client and the server. The client is located into a J2ME capable mobile phone with Bluetooth and the server is located in the computer, which the mobile phone owner wishes to control remotely using Blue tooth. Both client and server are written with Java enhanced with some libraries written in C concerning the Bluetooth communication as well as the mouse manipulation. 1.1.2. System Functions:

Figure 1: Bluetooth connection between BT enabled mobile phone & PC

The server system must be switched on with the Bluetooth hardware in it and waiting The client mobile which is Bluetooth enabled searches for the device discovery and if From the client mobile the user can control the whole server system by going to After the mobile application is stopped the server starts listening for another client

for an incoming connection.  it finds the required server with the required service list the client gets connected to server.  appropriate menu and pressing the keys in the mobile phone.  connection.

Dept. of Computer Science & Engg.

2

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

1.2. DEPLOYED TECHNOLOGIES:
Bluetooth to connect a PC and a mobile phone J2ME J2SE Human Interface Device

   

1.2.1 Bluetooth: The Bluetooth stack is made up of many layers, as shown in Figure 2. The HCI is usually the layer separating hardware from software and is implemented partially in software and hardware/firmware. The layers below the HCI are usually implemented in hardware and the layers above the HCI are usually implemented in software.

APPLICATIONS TCS SDP

OBEX

WAP

RFCOMM LOGICAL LINK CONTROL AND ADAPTATION PROTOCOL (L2CAP) HOST CONTROLLER INTERFACE (HCI) LINK MANAGER PROTOCOL BASEBAND/LINK CONTROLLER RADIO Figure 2: Bluetooth Stack

Dept. of Computer Science & Engg.

3

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

RFCOMM is a simple transport protocol, which provides emulation of RS232 serial ports over the L2CAP (Logical Link Control and Adaptation Protocol) protocol. The protocol is based on the ETSI standard TS 07.10. The RFCOMM protocol supports up to 60 simultaneous connections between two BT devices. The number of connections that can be used simultaneously in a BT device is implementation-specific. For the purposes of RFCOMM, a complete communication path involves two applications running on different devices (the communication endpoints) with a communication segment between them. There are unique UUIDs for RFCOMM protocol, which are used to identify services. When a new Bluetooth device is discovered, a service discovery may be initiated in order to determine which services the device is offering. The Bluetooth Specification refers to the device discovery operation as inquiry. During the inquiry process the inquiring Bluetooth device will receive the Bluetooth address and clock from nearby discoverable devices. The inquiring device then has identified the other devices by their Bluetooth address and is also able to synchronize the frequency with discovered devices, using their Bluetooth address and clock. Bluetooth devices keep information about their Bluetooth services in a Service Discovery Database (SDDB). The SDDB contains service record entries, where each service record contains attributes describing a particular service. Each service has its own entry in the SDDB.

1.2.2 J2ME: J2ME (Java 2 Micro Edition) is a family of APIs that specify application platforms that are typically implemented by embedded or handheld devices. Handheld devices include PDAs (Personal Digital Assistants) and high-end mobile phones. These platforms are typically limited in memory capacity and I/O capabilities, although they do have the ability to transfer data over low bandwidth, intermittent wireless connections. There are two concepts used under J2ME. They are Configurations and Profiles.

Dept. of Computer Science & Engg.

4

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

Figure 3: High level view of J2ME There are two standard configurations for the J2ME, Connected Device Configuration (CDC) and Connected Limited Device Configuration (CLDC). The CDC is targeted toward powerful devices like Internet TVs and car navigation systems. The CLDC is targeted toward less powerful devices like mobile phones and PDAs. A profile defines a set of APIs which reside on top of a configuration and offers access to device specific capabilities. The Mobile Information Device Profile (MIDP) is a profile to be used with the CLDC and provides a set of APIs for use by mobile devices. These APIs include classes for user interface, persistent storage and networking.

Here we use j2me for developing the midlet which acts as the client application.

1.2.3 J2SE: J2SE (Java 2 Standard Edition) is a widely used platform for programming in the Java language. It is the Java Platform used to deploy portable applications for general use. In practical terms, Java SE consists of a virtual machine, which must be used to run Java programs, together with a set of libraries or packages needed to allow the use of file systems, networks and graphical interfaces. J2SE is a collection of Java programming language API (Application programming interface) that is very useful to many Java platform programs.J2SE platform has been developed

Dept. of Computer Science & Engg.

5

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

under the Java umbrella and primarily used for writing applets and other Java-based applications. It is mostly used for individual computers. Applet is a type of fast-working subroutine of Java that is platform-independent but work within other frameworks. It is a mini application that performs a variety of functions, large and small, ordinary and dynamic, within the framework of larger applications. The server program is built using J2SE. 1.2.4 Human Interface Device Profile (HID): The HID profile defines the protocols, procedures and features to be used by Bluetooth HID such as keyboards, pointing devices, gaming devices and remote monitoring devices as well as sometimes providing support for simple buttons and indicators on other types of devices. It is designed to provide a low latency link, with low power requirements. PlayStation 3 controllers and Remotes also use Bluetooth HID. Bluetooth HID is a lightweight wrapper of the Human Interface Device protocol defined for USB. The use of the HID protocol simplifies host implementation (ex: support by Operating Systems) by enabling the re-use of some of the existing support for USB HID to also support Bluetooth HID. The HID defines two roles, that of a Human Interface Device (HID) and a Host: • Human Interface Device (HID) – The device providing the service of human data input and output to and from the host. • Host – The device using or requesting the services of a Human Interface Device. The HID profile uses the universal serial bus (USB) definition of a HID device in order to leverage the existing class drivers for USB HID devices. The HID profile describes how to use the USB HID protocol to discover a HID class device’s feature set and how a Bluetooth enabled device can support HID services using the L2CAP layer.

Dept. of Computer Science & Engg.

6

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

Figure 4: Typical Host and HID Software Stack The Bluetooth HID profile is built upon the Generic Access Profile (GAP). In order to provide the simplest possible implementation, the HID protocol runs natively on L2CAP and does not reuse Bluetooth protocols other than the Service Discovery Protocol. Figure 4 is an illustration of the software layers that reside in both the host and the human interface device for an example implementation. The host is a personal computer and has the upper layers of the Bluetooth software running on its native processor and is connected to a Bluetooth radio module via a transport bus such as USB.

Dept. of Computer Science & Engg.

7

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

2.

SYSTEM STUDY
System study is a process that is to be done before any project begins. This will held to

understand how the existing system is functioning and what the drawbacks in it are. Once the drawbacks have been identified it will be easy to design the new system avoiding these drawbacks. Also system study should explain what the need for computerization is.

2.1 INITIAL INVESTIGATION
Initial investigation is the activity that determines whether the user’s requisition is valid and feasible. The first step in initial investigation is the problem definition. It includes the identification of the problem to be solved for the task to be accomplished and the system goals to be achieved. 2.1.1. Problem Definition The software product named BT-PACK relies on Client-server architecture. In the existing system the user has only a limited number of options for the various operations performed and he has to rely on a definite platform for using the device. To overcome this problem the proposed system will be providing a variety of operations in different modes and is platform independent.

2.2 EXISTING SYSTEM
In an existing system the operations are done to control the computer using standard input devices like mouse and keyboard which has the following disadvantages: Equipments are wired, so there is a limit in mobility Different hardware is required to do specific functions. Wasting time and cost.

  

Dept. of Computer Science & Engg.

8

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

Although products have been launched to overcome these disadvantages majority of them are built on specific platform and performs few of the operations required them to do. There is no scope for plug-ins what are written for Winamp, windows media player or other players. They can not run on other operating systems like Linux or Mac OS.

2.3 PROPOSED SYSTEM
The proposed system performs various functions than its predecessor system. The proposed system can be used in four variants of mode- mouse mode, keyboard mode, application mode and finally utility mode. The main feature of this proposed system is that we can design specific application control keys in the mobile device that suits the application running on the server, for example we can build keys that suit us, when dealing with a presentation or while listening music in players like Winamp or Media player.

Another important advantage of this proposed system lies in platform independence property; we can build the software which does not have to look upon the platform it must work. Features of proposed system: Reliability Efficiency of operation Speedy process Wireless communication Security measures in Bluetooth technology Cost efficient Unlike IR do not require Line of Sight. Platform independent. Can be expanded to meet users need. Best to completely control your PC with the functions provided.

         

Dept. of Computer Science & Engg.

9

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

2.4 FEASIBILITY STUDY
A feasibility study is a test of system proposal according to its workability, impact on the organization, ability to meet user needs and effective use of resources. Feasibility study lets the developer to foresee the future of the project and its usefulness. The objective of feasibility study is not to solve the problem, but to acquire a sense of its scope. During the study, the problem definition is crystallized and aspects of problem to be included in the system are determined, consequently costs and benefits are estimated with greater detail at this stage. The result of feasibility study is a system formal proposal. The proposed summarizes what is known and what is going to be done. Major Purposes:   Identify the users and develop an initial scope of the system. Identify the current deficiencies in the user’s environment.

2.4.1. Technical Feasibility: Technical feasibility is the most important of all types of feasibility analysis. Technical feasibility deals with hardware as well as software requirements. An idea from the outline design to system requirements in terms of inputs, outputs, files and procedures is drawn and the type of hardware, software, and the methods required for running the systems are analyzed. We should be extremely careful in selection of the software platform and the tools for development. This feasibility checks whether the technology is available to develop the system. It also provides technical guarantee of assurance reliability, easy access and security. The system is technically feasible on the following grounds: All necessary technology exists to develop the system. The system can give instant responses.

 

Dept. of Computer Science & Engg.

10

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

The system is flexible and can be further expanded.

2.4.2. Economic Feasibility:

Economic analysis is the most frequently used method for evaluating the effectiveness of the software, more commonly known as the cost /benefit analysis. The procedure is to determine the benefits and savings that are expected from a candidate system and compare them with costs. If the benefits outweigh cost, the decision is made to design and implement the system; otherwise further alternatives have to be made. Here it is seen that we need just a BT enabled mobile device, which is needed for the development of the system. Hence the project is economically feasible, for development. 2.4.3. Operational Feasibility: The purpose of the operational feasibility study is to determine whether the new system would be used, if it is developed and implemented? From the outputs of the meeting that was held with the system users, it was found that all of them support the development of new system. The positive response from them encouraged in building such a system. It doesn’t have any operational barriers. It is menu driven and user friendly. The users can handle the system with ease, with little training. It also reduces several drawbacks of the existing system. The proposed system accurate, speedy and dependable. Thus the proposed system is found to be technically, economically and operationally feasible.

Dept. of Computer Science & Engg.

11

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

3.

REQUIREMENT SPECIFICATION

A system is an orderly grouping of interdependent components linked together according to a plan to achieve a specific objective. Analysis is a detail study of the various operations performed by a system and their relationships within and outside the system. During analysis, data are collected on the available files decision points and transactions handled by the present system. System analysis is concerned with analyzing, designing, implementing and evaluating information system in our organization. It is carried out to make the system ore effective either by modification or by substantial redesign. In system analysis we identify the problem, study the alternate solution and select the most suitable solution, which meet the technical, economic and social demands for analysis, various tools such as dataflow diagrams, interviews, on site observation, questionnaires etc are used.

3.1. OVERALL DESCRIPTION
3.1.1. Product Perspective This product is used mostly in organizations to provide some kind of interaction between the presenter and the listener and also at home and office for easy use of the needs to make use of computer and its various applications. The product has a lot of benefits including: 1. Saving the time needed. 2. Compact way of use of keyboard and mouse The users of the product are the instructors, presenters, students, managers and so on. The instructor should have a laptop and should have the basic skills to deal with it, open programs, open, and close the Bluetooth device of his laptop. The users should have a mobile with a

Dept. of Computer Science & Engg.

12

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

Bluetooth device in it. He should have the ability to use his mobile, install programs, open and close the Bluetooth device of his mobile. 3.1.2. Product Features The product consists of three modules, namely mouse mode, keyboard mode and application specific mode. In the mouse mode the mobile functions as a mouse with the basic operation of scrolling and so on. While in the keyboard feature the mobile acts as a desktop remote control with selected key functions. The application module is build according to suite the users’ interest such as music remote when using Media player or Winamp, and video player remote while using a Power DVD or so on. 3.1.3. Operating Environment The software works in a variety of platform such as Windows 2000/2003/XP, Vista, Mac OS, and Linux and so on. The hardware description is given in the later part of the document. 3.1.4. Design Constraints This section will indicate the design constraints that apply on the system being developed and that shall be adhered to during the development phase of the project. Programming languages: The server program that resides on the laptop shall be written in Java using the Standard Edition (SE v1.5) development kit. The client program that resides on the mobile shall be written in Java using the Micro Edition (ME) development kit. Development tools: The Eclipse 3.2 IDE and the NetBeans 6.0 IDE shall be used as the primary development tools to build the server and client programs.

Dept. of Computer Science & Engg.

13

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

Components and class libraries: The library “bluecove 2.0.2” shall be used to allow the server program to access the Bluetooth stack and connect to clients through Bluetooth connections.

Energy consumption: For most laptops, the average voltage required for operation ranges from 18V to 24V, and the average current required for operation ranges from 1.5A to 3.5A, thus leading to an average power consumption of 55.5 Watts. The energy used by the mobile phones is drawn from battery power, so assuming that the energy consumed by the phone during one lecture is approximately ¼ of full battery power (with Bluetooth activated) then the average power required by the phone is 1.8 Watts (current: 350mA~400mA, voltage: 3.5V~5.5V).

Operating environment temperature and humidity: The system shall be functional in both indoor and outdoor environments, even though the system will mostly be used in interior classrooms under optimum temperatures (20~25°C) and humidity (30~40%). Standards: The server program shall be able to work under Windows XP, Windows Vista, Linux, and the Mac OSX operating systems. The server requires that the Java 1.5 (or above) Runtime Environment be installed on the laptop. The laptop hardware specifications must meet the minimum requirements of 1.0 GHz CPU speed, 256 MB of RAM, and at least 10 MB of hard disk space for database storage. The client program shall be able to function on all mobile phones that have the Java Runtime Environment installed.

Economic: There is a cost of about $350 per class for the laptop, and a cost of about $100 per mobile for each student. The system will be released as open source software, therefore there is no profit.

Dept. of Computer Science & Engg.

14

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

Sustainability: The system is expected to live for at 10 least years or until a new version is released to replace it.

3.2 HARDWARE AND SOFTWARE REQUIREMENTS
3.2.1. HARDWARE SPECIFICATIONS: Processor Mother Board Memory Hard Disk Monitor Bluetooth Hardware Mobile phone : : : : : : : Pentium IV Processor Intel 815E 512 MB RAM 40GB HDD 1024 * 768 Resolution Color Monitor With Microsoft Stack With Bluetooth

3.2.2. SOFTWARE SPECIFICATIONS: Operating System Front end JSR-82 Mobile Phone PDA : : : : : Windows 2000/2003/XP/Vista with JAVA installed. NETBEANS 6.0 IDE Windows: Bluecove J2ME Compatible Bluetooth stack and a Java Virtual Machine

3.3. OTHER NONFUNCTIONAL REQUIREMENTS
3.3.1. Performance Requirements  Response time for a transaction - average: 250 milliseconds, maximum: 2 seconds. A transaction involves sending one command key.   Throughput – an average of 4 transactions per second. Capacity - the system can communicate with many mobile users at the same time but will obey the commands from the paired device. 3.3.2. Safety Requirements

Dept. of Computer Science & Engg.

15

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

The following is a list of the safety requirements to indicate how the system shall prevent any possible threat to human lives. The system’s Bluetooth technology shall not cause any sideeffects or physical harm (directly or indirectly) to users of the system. 3.3.3. Security Requirements The following is a list of security requirements that indicate how the system shall protect itself and its sensitive data and communications from accidental, malicious, or unauthorized access, use, modification, or destruction. • • The system shall not allow Bluetooth addresses of unauthorized Bluetooth devices to be stored into the system’s repository. The system shall not permit unauthorized Bluetooth devices to access or participate in any activity started by the server user.

3.3.4. Software Quality Attributes 3.3.4.1. Reliability • Availability: 99.99 %. • Average hours of use: Based on the battery life of the Bluetooth enabled mobile device and the availability of electricity. • Mean Time To Repair (MTTR): 1 hour. • Accuracy: 100%.The system shall accurately do the specified work according to the command keys applied. • Critical and Significant: System failure.

3.3.4.2. Usability The system’s interface is user-friendly & easy to get familiar with. It is recommended that users read the product’s manual in order to understand all features

Dept. of Computer Science & Engg.

16

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

and to use the full power of the system. Training wise, any user with who is familiar with a PC should be able to use the system with maximum training of 10 min. 3.3.4.3. Copyright and intellectual properties This software will be considered as open-source software and protected under GPL (GNU General Public License). It can be redistributed and/or modified under the terms of the GNU General Public License.

4. SYSTEM DESIGN
System design specifies how the system will accomplish the objectives that are the information needs of the users. Systems design consists of design activities that produce system

Dept. of Computer Science & Engg.

17

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

specifications satisfying the functional requirements developed in the system analysis stage. The most creative and challenging phase of the system life cycle is system design. The term design describes a final system and the process by which it is developed. It refers to the technical specification that will be applied in implementing the candidate system. It also includes the construction of programs and program testing. The question involved here is “How the problem is solved”. System design is a transition from the user-oriented document to the document-oriented program or database personnel. Design is the first step in the development phase of any system. It is the process of applying various techniques and principles for the purpose of defining a system. Software design is the first of three fundamental activities - designing, coding and testing, that are required to build and verify software.

4. 1.METHODOLOGY
Our application consists of two parts which are the client and the server. The client part was developed using J2ME and sever part developed using Java. 4.1.1. Microsoft Bluetooth Stack:

Microsoft Service Pack 2 for Windows XP includes its own Bluetooth stack. The stack has limited support for Bluetooth applications compared to other windows-based implementations, but covers most of the applications that an average user will require. This includes printing, transferring data between PDAs and Mobile phones, and connections to serial devices (cable replacement).

4.1.2.

Desktop (PC) Functionalities:

The following functionalities are implemented on the target PC: (1) Control the movement of the mouse cursor and left, right clicks;

Dept. of Computer Science & Engg.

18

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

(2) Rotate and press of mouse wheel; (3) control the arrow keys and the spacebar; enter, tab and backspace keys; (4) control PowerPoint presentations; (5) Control Windows Explorer; (6) Control Internet Explorer (7) Power off, restart and logoff the PC; and (8) Control Windows Media player and Winamp. 4.1.3. JSR 82 API:

The Java APIs for Bluetooth is a Java ME specification for APIs that allow Java midlets to use Bluetooth on supporting devices. The specification was developed under the Java Community Process as JSR 82. It is an open and non-proprietary standard for developing Bluetooth applications. The JSR-82 API hides the complexity of the Bluetooth protocol stack, by exposing a simple set of Java API’s. Java APIs described in the JSR-82 interface for following Bluetooth Protocols/Profiles: SDAP - Service Discovery Application Profile RFCOMM - Serial Cable Emulation Protocol L2CAP - Logical Link Control and Adaptation Protocol GOEP - Generic Object Exchange (OBEX) Profile 4.1.4. Sending and Receiving Data:

   

Java String is used for this purpose by implementing several mechanisms for three modes: mouse, keyboard and application. There are defined key code values assigned for each key in mobile phone (for example, key 2 for 50) as shown in Figure 4.

Dept. of Computer Science & Engg.

19

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

Figure 5: Key Mapping

CONSTANT
KEY_NUM_0 KEY_NUM_1 KEY_NUM_2 KEY_NUM_3 KEY_NUM_4 KEY_NUM_5 KEY_NUM_6 KEY_NUM_7 KEY_NUM_8 KEY_NUM_9 KEY_NUM_STAR KEY_NUM_POUND : : : : : : : : : : : :

VALUE
48 49 50 51 52 53 54 55 56 57 42 35

Table 1: ITU-T Keypad 4.1.5. Robot Class:

This class is used to generate native system input events for the purposes of test automation and other applications, where control of the mouse and keyboard are needed. The primary purpose of Robot is to facilitate automated testing of Java platform implementations. Robot object makes it possible for the program to temporarily take over control of the mouse and the keyboard. In robot class there are some methods to navigate the keyboard and mouse controls which can be used directly only by passing parameters to them. 4.1.6. Record Management System (RMS):

Dept. of Computer Science & Engg.

20

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

In the client part RMS is used to store the records that are important for the application, here the records are the devices that can be found in the range and it stores the previously searched devices also. 4.1.7. ApplicationCanvas Class: This class provides the graphical attributes to the interface such as colors, font styles, and screen sizes etc. The main task of this class is to provide the key codes to the methods when KeyPressed() and when KeyReleased() in Remote class

4.2.

INPUT DESIGN:
Input design is a process of converting user-oriented input to computer-based format. It also includes determining the record media, Method of input, speed of capture and entry into the system. Input design consist of developing specification and procedures for data procedure for data preparations, those necessary steps into put transaction data into usable form of processing, data entry and activity of putting the data into computer for processing. Five objectives guiding the design are input focus on controlling the amount of input required, avoiding delay, controlling error and keeping the steps simple. The following are the details the system analysts decide while designing: The data to input The details of how data should be arranged or coded The data item and transaction needed validation to detect errors. The input screens have been validated effectively in order to give the most accurate input details. Inputs are just the commands from the Bluetooth enabled mobile device which act as the remote control in four different modes namely: mouse mode, keyboard mode, application specific mode and utility mode. In mouse mode we have the following keys in the mobile:

  

Dept. of Computer Science & Engg.

21

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

Mobile Key
8 2 4 6 1 3 0 * #

Standard mouse function
Move the mouse cursor down Move the mouse cursor up Move the mouse cursor left Move the mouse cursor right Left Click Right Click Press the wheel Scroll up Scroll down

Table 2: Mouse mode input design In Keyboard mode we have the following keys in the mobile:

Mobile Key
8 2 4 6 1 3 9 7 #

Standard Keyboard function
Move the cursor down Move the cursor up Move the cursor left Move the cursor right Enter Space bar Backspace Tab Scroll down

Table 3: Keyboard mode input design In Application mode we have the following applications and their associated functions: APPLICATON OPERATIONS AVAILABLE 1.Close Window 2.Copy Explorer 3.Cut

Dept. of Computer Science & Engg.

22

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

4.Paste 1.Back 2.Refresh 3.Next Tab Firefox 4.Close Tab 5.New Tab 6.Home 7.History 1.Play/Pause 2.Stop 3.Previous Windows Media Player 4.Next 5.Fast 6.Volume Up 7.Volume Down 8.Mute 1.Back 2.Refresh 3.Next Tab Internet Explorer 4.Close Tab 5.New Tab 6.Home 7.History 1.Play 2.Pause 3.Stop 4.Previous Winamp 5.Next 6.Volume Up 7.Volume Down 1.Next Slide PowerPoint 2.Previous Slide 3.End Show

Dept. of Computer Science & Engg.

23

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

1.Play/Pause 2.Stop 3.Previous VLC Media Player 4.Next 5.Volume Up 6.Volume Down 7.Mute 8.FullScreen 1. Open CD drive 2. 3. System functions 4. 5. 6. 7. Close CD drive System shutdown System Standby System log off Mute System volume Turn off monitor

Table 4: Input design for application mode And finally in Utility mode we have: Run Send message Opens the run command window Send a message to the server as a pop-up window

Table 5: Input design for utility mode

4.3 OUTPUT DESIGN:

Designing computer output should proceed in an organized, well throughout manner; the right output element is designed so that people will find the system whether or executed. When we design an output we must identify the specific output that is needed to meet the system. The usefulness of the new system is evaluated on the basis of their output. Once the output requirements are determined, the system designer can decide what to include in the system and how to structure it so that the require output can be produced. For the

Dept. of Computer Science & Engg.

24

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

proposed software, it is necessary that the output reports be compatible in format with the existing reports. The output must be concerned to the overall performance and the system’s working, as it should. It consists of developing specifications and procedures for data preparation, those steps necessary to put the inputs and the desired output, i.e. maximum user friendly. Proper messages and appropriate directions can control errors committed by users. The output design is the key to the success of any system. Output is the key between the user and the sensor. The output must be concerned to the system’s working, as it should. This product outputs a high performance response from the server side.

4.4. USER INTERFACE DESIGN:

User interface design creates an effective communication medium between a human and a computer. Following a set of interface design principles, design identifies interface objects and actions and then creates a screen layout that forms the basis for a user interface prototype. A software engineer designs the user interface by applying an iterative process that draws on predefined design principles. These form the basis for the creation of screen layout that depicts graphical design and placement of icons, definition of descriptive screen test, specification and titling of windows, and specification of major and minor menu items. Tools are used to prototype and ultimately implement the design model, and the result is evaluated for quality. Various frames are used in this project which are: Menu: To select the different modes available Mouse menu: Performs the work of a mouse. Keyboard menu: Performs the work of a keyboard. Application menu: Depends on specific applications been used. Utility mode: Performs the run command and sending message to server. Help menu: A Complete user guide on how to use the product at every mode.

     

Dept. of Computer Science & Engg.

25

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

4.5. DATA FLOW DIAGRAM:
The dataflow diagram is one of the most important tools used by system analyst. A data flow diagram should be the first tool used by system analyst to model system components. It is a graphical technique that depicts the information flow and transforms that are applied as data move from input to output. These components are the system process, the data used by this process, any external entities that interact with the system and the information flows in the system. It is a graphical representation of the "flow" of data through an information system. It differs from the flowchart as it shows the data flow instead of the control flow of the program. Creation of DFD is a starting point of design phase that functionally decompose the requirements specification down to the lowest level of details.

Data Flow Diagrams are made up of symbol, which represents system components. Most data flow modeling methods used four types of symbols. These symbols are used to represent four kinds of system components: Process, data stores, data flows and external entities. A level of DFD, also called a context model, represents the entire software elements as a single bubble with input and output by arrow. A level of DFD is portioned into several bubbles with inter connecting arrows. Each of the process represented at level one is sub function of the over all depicted in the context model. LEVEL 0 DFD: Our software consists of a client and a server. The Bluetooth enabled mobile phone act as the client and the PC or laptop act as the Server. Thus input is sent to Server by the client, which is then processed by it.
Input as keystrokes Input send as bye streams

Client
BT enabled mobile

BT Pack

Server
PC/Laptop

Dept. ofBT enabledScience & Engg. Computer mobile

26

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

LEVEL 1 DFD FOR ESTABLISHING CONNECTION TO SERVER

Record management System Byte Streams Search for servers UID Select server Server

The above diagram shows how a bluetooth enabled mobile phone selects a server which is listening for an incoming connection from the client mobile.

4.6. USE CASE DIAGRAMS:
The Use case diagram is used to identify the primary elements and processes that form the system. The primary elements are termed as "actors" and the processes are called "use cases." The Use case diagram shows which actors interact with each use case. 4.6.1. Use case for the server

Dept. of Computer Science & Engg.

27

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

Figure 6: Use case description for the server Use Case Start server Description The user sets the server into a listening mode and waits for incoming connection requests from the client Table 6: Use case description of server 4.6.2. Use case for the client

Figure 7: Use case description for the client Use Case Run Client Select Device Description The user starts device discovery to search for other Bluetooth devices that are within the client’s range. When the client detects several Bluetooth devices within its proximity, the name of the devices are displayed on the screen. The user chooses one device and request to be connected to the selected device and the security procedures are immediately initiated.

Dept. of Computer Science & Engg.

28

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

Table 7: Use case description of client 4.6.2. Use case for the complete system The BT-PacK application contain a server or a client - a producer of services or a consumer or it can behave as a true peer-to-peer endpoint by exposing both server and client behavior.

Figure 8: Bluetooth Use Cases Typical Bluetooth applications have three categories of use cases:

Initialization - Any Bluetooth-enabled application, server or client, must first initialize

the Bluetooth stack.

Client - A client consumes remote services. It first discovers any nearby devices, then

for each discovered device it searches for services of interest.

Server - A server makes services available to clients. It registers them in the Service

Discovery Database (SDDB), in effect advertising them. It then waits for incoming

Dept. of Computer Science & Engg.

29

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

connections, accepts them as they come in, and serves the clients that make them. Finally, when the service is no longer needed the application removes it from the SDDB.

5.

SYSTEM IMPLEMENTATION

Implementation is the stage of the project where the theoretical design is turned into a working system. At this stage the main workload, the greatest upheaval and the major impact on the existing system shifts to the user department. If the implementation is not carefully planned and controlled it can cause chaos and confusion.

5.1. OBJECTIVES AND DEFINITIONS

Dept. of Computer Science & Engg.

30

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

Implementation includes all the activities that take place to develop in a more advances manner. The latest technology is totally new, replacing an existing wired system or it may be a major modification to an existing system. Proper implementation is essential to provide a reliable system to meet the user requirements. The system can be implemented only after thorough testing is done and if it is found working accordingly to specification. This stage is often very complex and time consuming. The system personnel check the feasibility of the system. The last stage is to achieve the target, which is requested by the user. This involves careful planning, investigating the current records, implementation of each module and design of the modules, the more involved ill be the system analysis and the design effort required for the implementation. The system is tested successfully and the project is running successfully.

5.2. CODING
The input to the coding phase is the design document. During the coding phase different modules identified in the design document are coded according to respective module specifications. So we cane say that objective of coding is to transform code and unit test this code. Normally good software development style coding called coding standards. Most software development organizations formulate their own coding standards rigorously due to the following reasons.

  

A coding standard gives a uniform appearance to the codes written by different engineers It provides sound understanding of the code It encourages good programming practices

Dept. of Computer Science & Engg.

31

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

A coding standard lists several rules to be followed during coding such as the way variables should be named the way the code should be laid out. Error returns conventions and so forth. Coding guidelines on the other hand provide only general suggestions regarding the coding style to be followed and leave the actual implementations of these guidelines to the discretion of the individual engineers. Good software development organization usually develop their own coding standards and guidelines depending on what best suites their needs and the types of products they develop. Therefore we will just list some general coding standards and guidelines which are commonly adopted by many software development organizations rather than trying to exhaustive list

5.2.1. CODE- SOFTWARE PART The code part can be divided into following different modules: • • • • A J2ME developed midlet code that works in the client mobile device; A J2SE developed server application working in the PC server; Operating system required files needed to move to mouse cursor in HID Profile. Command line utility file. The following two figures illustrates the main parts of both the client an server program that makes up the whole BT-PacK

Dept. of Computer Science & Engg.

32

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

Figure 8: The Client part code summary The above figure illustrates the client program that is the midlet running in the J2ME Bluetooth enabled mobile phone which acts as the remote control to the PC.

Dept. of Computer Science & Engg.

33

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

Figure 9: The Server part code summary The above figure visualizes the server application running on the server system which is the one controlled by the mobile phone equipped with BT-PacK software running on it. The server must have a valid Bluetooth connection with the protocol stack in it.

Dept. of Computer Science & Engg.

34

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

6.

SYSTEM TESTING
System testing offers the greatest security since the old system can take over if the errors are

found or inability to handle certain type of transactions while using the new system. Testing presents an interesting anomaly for the software. Testing is vital to the success of the system. Thus software testing becomes critical which give assurance to the software quality and represents the ultimate reviews of specification, design and coding. While testing the system a logical assumption is taken into consideration. That is if all the parts of the system are correct, then the goal is successfully achieved.

6.1.

Levels Of Testing
Five steps are included for testing software or a system, they are: 6.1.1. Unit testing During the design the system is divided into a number of small units called modules. Unit testing focuses on correctness of these modules and hence called module testing. The testing is performed on different modules and found to be working satisfactorily as regards to the expected output from the module. 6.1.2. Integration testing Data can be test across an interface, one module can have adverse effect on another; sub function when combined may not produce the desired function. Integration testing is a systematic technique for constructing the program structure. It also conducts test to uncover errors associated within the interface.

Dept. of Computer Science & Engg.

35

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

6.1.3. Validation testing Now the final series of software test- validation testing begins. A validation becomes successful if the software after the testing performs in a manner that is reasonably expected by the client. The proposed system under consideration has been tested by validation testing and found to be working satisfactorily. 6.1.4. Output testing After performing the validation testing, the next step is output testing of the proposed system, since no system could be useful if it does not produce the required output in specific format. 6.1.5. User Acceptance Testing User acceptance testing of the system is the key factor for the success of any system. The system under consideration is tested for user acceptance by constantly keeping in touch with prospective system at the time of development and making change whenever required. This is done with regard to the input screen design and output screen design.

In this testing the system under consideration is tested by referring the clients, the format they like the most. The server responds to each and every client module by doing the specific function assigned on it. Hence output testing does not result any correction in the system.

Dept. of Computer Science & Engg.

36

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

7. SYSTEM MAINTENANCE
Software maintenance is of course, far more than finding mistakes. Software maintenance is a set of software engineering activities that occur after software has been delivered for the customers and put into operation. This success of the software and the project relies on the maintenances procedure adopted. As with the venture of human not a single one is perfect. The further modifications are left to the followers. It is because the opinion or vision of a thing differs form individual to individual. The maintenance is performed at regular intervals to keep the project safe and reliable. Development is a single activity .Maintenance is a continuous activity Maintenance involves activities like inspections, correction and enhancement. Once the system is delivered and deployed, it enters the maintenance phase. The system needs to be maintained not because of some of its components wear out and need to be replaced, but because there are some residual errors remaining in the system that must be removed as they are discovered .This includes activities related to debugging the software after it goes live changes required to address evolving software and enhancement to meet changing customer requirements Maintenance phase identifies if there are any changes required in the current system. If the changes are identified then an analysis is made to identify if the changes are really required. Cost benefit analysis is a way to find out if the change is really essential. We may define maintenance by describing four activities that are undertaken after a program is released for use. First maintenance activity occurs because it is unreasonable to assume that the software testing will uncover or latent errors in a large software system. During the use of any large program, errors will be reported to the developer. The process that involves the diagnosis and correction of one or more errors is called corrective maintenance. Here the data given to the server in the form of key presses is checked, if there are any errors they are corrected and the operations are performed again.

Dept. of Computer Science & Engg.

37

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

The second activity that contributes to a definition of maintenance occurs because of the rapid change that is encountered in every aspect of computing. Therefore adaptive maintenance modifies software to properly interface with the changing environment. The activity that may be applied to a definition of maintenance occurs when a software package is successful. As the system is used, recommendations for new capabilities, modifications of existing functions, and general enhancements are received from users. To satisfy request in this category, perceptive maintenance is performed. This is an important area in software maintenance. The fourth activity occurs when the software is changed to improve future maintainability or reliability, or to provide a better basis for future enhancements. This maintenance activity is characterized by reverse engineering and re-engineering techniques.

Dept. of Computer Science & Engg.

38

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

8. CONCLUSION
Basic aim of this project was to control the very common applications in the PC by remotely using the J2ME enabled mobile phone through Bluetooth as the transmission medium. Controlling of very common application such as power point presentation, windows media player, Winamp, internet explorer, mouse movements and clicks and some common keyboard strokes (Enter, Spacebar, Tab, Backspace, Arrow keys etc...) were implemented. Using this application user can conduct their presentation by having more interaction with audience more than ever and also they can enjoy watching films and listening to music without sitting in front of the boring desktop screen and can have more fun and reduce the exposure to the harmful radiation. The PCs which are out of human control such as fire places, electric shock can be easily controlled without any danger. People who have eye problem with the screen will be benefited too. As further developments, this application can be improved to play games having multi users. As stated this project has a number of applications, from as simple as to simplify a busy man’s life to as complicated as in big industries where automation of multiple units simultaneously is a necessity. Based upon this protocol a universal remote control system was implemented. Software applications simulating cellular phones and personal digital assistants (PDA) were developed as remote control devices. BTRC server devices send their graphical XML based user interface to the remote control. This way the use of devices is simplified significantly. Thus providing the Bluetooth enabled mobile phone to act as a mouse, keyboard and control specific applications as defined in the program. FUTURE ENHANCEMENTS • • • A complete keyboard functions. Extend the software to more applications. Browse internet in your mobile with a connection from your PC.

Dept. of Computer Science & Engg.

39

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

BIBLIOGRAPHY
 Bluetooth® Application Programming With the Java TM APIs, by Bala, Paul,

Timothy: The Morgan Kaufmann Publishers Bluetooth Essentials for Programmers, by Albert S. Huang and Larry Rudolph:

Cambridge University Press J2ME: The Complete Reference, by James Keogh, McGraw-Hill Companies Programming Wireless Devices with the Java™ 2 Platform, Micro Edition, Second

Edition, by Roger , Antero, Mark , Jim : Addison Wesley

Websites:
http://www.bluetooth.com : BT Specification, Human Interface Device (HID) v 1.0 http://www.bluetooth.org : Bluetooth Specifications v 1.1 http://www.cstack.com : Bluetooth Programming http://www.usb.org/developers/devclass_docs/ http://www.sonyericsson.com/developer/ http://www.nowires.org http://java.sun.com/

Dept. of Computer Science & Engg.

40

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

APPENDIX

Dept. of Computer Science & Engg.

41

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

A.

SCREENSHOTS
BT-PACK SCENARIO

SERVER PROGRAM WAITING FOR INCOMING CONNECTION

Dept. of Computer Science & Engg.

42

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

CLIENT MESSAGE RECEIVED AT SERVER

Starting the client program as midlet in BT enabled mobile phone with J2ME

Dept. of Computer Science & Engg.

43

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

SELECTING A SERVER FROM THE LIST

CHOOSE A MODE IN THE MIDLET

MOUSE MODE ON

SELECT AN APPLICATION TO CONTROL

Dept. of Computer Science & Engg.

44

College of Engg. Trikaripur, Cheemeni

Major Project Report’ 10 Pack

BT-

WMP OPERATIONS

PRESENTATION SLIDE CONTROL

HELP MENU

Dept. of Computer Science & Engg.

45

College of Engg. Trikaripur, Cheemeni