Transcript Document

CENG 499 Senior Design Project
WIRELESS APPLICATION
PROGRAMMING WITH J2ME AND
BLUETOOTH
Muhammed Mamedov / Nasif Ekiz
Haluk Gumuskaya
July 03 2003, Istanbul
Fatih University – Computer Engineering Department
Overview
 Definition of the problem
 Justification for the problem chosen
 Previous work
 Background
 Solution for the problem
 Implementation
 Future work
 Summary
Definition of the problem
 The design, development, testing and verification phases of a




Bluetooth system prototype will be accomplished using J2ME.
A client application simulating mobile equipment with a
Bluetooth module having multimedia capabilities will be
implemented.
A server application putting emphasis on the wide range of
applicability of Bluetooth will be developed.
Bluetooth protocol stacks will be examined and one of them may
be used or a new one will be developed.
The theoretical and practical issues like file transfer, ad-hoc
networking, device synchronization, peripheral connectivity will
be investigated.
Justification for the problem chosen
 One of our project aims is to see what today’s
technology can do for tomorrow and how tomorrow’s
world will look like.
In other words:
 Combine Bluetooth with J2ME in a multimedia
environment.
 Client/Server Application and its implementation in
wireless environments.
Previous work
>> Projects Overview
 JSIS – Java Student Information System
“Develop a system that will enable students to
perform their tasks in an easy way and will let them
access needed information from anywhere* and
anytime they want!”
*With whatever technology they have (Internet,
Mobile Devices, PDAs, etc…)
 JVS – Java Video Streaming
“Enable users to access any needed media data
(audio/video) by means of a mobile device any time
needed"
Previous work
>> Technologies Used
 JSIS – Java Student Information System
- J2ME (MIDP 1.0)
- Servlets/JSP
- Database Programming (Oracle)
 JVS – Java Video Streaming
- J2ME (MIDP 2.0)
- MMAPI (Multimedia API)
- Servlets
- Database Programming (Oracle)
Background
>> Bluetooth
 What is Bluetooth ?
 Short-range
 Secure radio waves
 Conceived as basic cable replacement technology
 Operates in the 2.4 GHz Industrial, Scientific, and
Medical(ISM) band which is unlicensed
 Enables wireless personal ad-hoc networks(PAN)
 Wireless PANs will enable the creation of “smart
environments” in which virtually any electronic device
can be networked
Background
>> Bluetooth



SIG (Special Interest Group)
 Charter of SIG was to monitor the technical
development of a short-range and to create an open
global standard
The Bluetooth Specification
 Capable of voice and data communication
 Distance roughly 10 to 100 meters
Connections
 Ad-Hoc point to point
 Ad-Hoc point to multipoint
 Units can dynamically be added or disconnect from
the network
Background
>> Bluetooth

Protocol Stack
Background
>> Bluetooth



Some components are Bluetooth specific
(Bluetooth Radio)
Some are reused from other specifications (IP,
WAP, OBEX)
Some have been modified for the Bluetooth
protocol stack (vCard/vCal, WAE, Audio)
Background
>> Bluetooth

Profiles
Background
>> Bluetooth




Profiles describe how different parts of the specification
can be used to fulfill a desired function for a Bluetooth
device
Profiles present the default solution for a usage model
and form the basis for Bluetooth interoperability and logo
requirements
Each Bluetooth device must support at least one profile,
but may support several profiles
If two devices support same profile, then they should be
able to interoperate
Background
>> Bluetooth
 Java APIs For Bluetooth Wireless Technology
 JSR-82
 This API is an optional package that can be used to
extend the capability of J2ME profile, such as Mobile
Information Device Profile (JSR 37)
 The overall goal of this specification is to define a
standard set of APIs that will enable an open, third-party
application enviroment for Bluetooth wireless technology
Background
>> Bluetooth

This API mainly describes the following contents:
 Device Discovery
 Service Discovery
 Service Registration
 Generic Access Profile
 Serial Port Profile
 Logical Link Control and Adaptation Protocol
 Object Exchange Protocol (OBEX)
Background
>> Java 2 Micro Edition

What is J2ME?
Unlike J2SE, J2ME is not a piece of software, nor is it a
single specification.
J2ME is a collection of technologies and specifications
that are designed for different parts of the small device
market.
J2ME is divided into configurations and profiles.
Background
>> Java 2 Micro Edition

Configurations
- Details of virtual machine
- Base set of APIs

Profile
- Builds on a configuration
- Adds more specific APIs
to make a complete
environment for building
applications.
(MIDP, MMAPI)
Background
>> Java 2 Micro Edition
CLDC – Connected, Limited
Device Configuration
The Mobile Information Device
Profile (MIDP)*, which is based on
CLDC, is the first finished profile and
thus the first finished J2ME
application environment.
*We will use MIDP 2.0 since it
contains MMAPI (Multimedia API)
Solution for the problem
 We are going to implement Java and Bluetooth
enabled Client/Server application.
 At Client side (MIDP 2.0 compatible mobile device)
will be used for audio/video playback.
 Server side will be implemented using Servlet
technology according to Front Controller Design
Pattern.
Implementation
 At the present moment we do not have a
complete implementation of our project, but
still we will be showing you two demos we
were working on all these time.
 Server side is implemented by Nasif Ekiz
 Client side is implemented by M.Mamedov

JVS Demo
http://jvs.turkmenweb.com

Rococo Bluetooth Simulator Demo
Future work
 In the future we are going to develop
Client/Server application of the JVS which will
be using Bluetooth technology as the main
way of communication and data transfer
between Client and Server.
Summary
 We learnt and implemented two challenging
technologies of tomorrow already available today,
Bluetooth and J2ME. We also learnt how Bluetooth is
integrated with J2ME environment.
 We developed an application (JVS)* that performs
audio/video streaming using J2ME.
* It is lacking Bluetooth part only.
The End
Thank you!