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!