|
Frequently Asked Questions
General
Bluetooth Questions
| A1 |
What
is Bluetooth?
Bluetooth is a
wireless communication protocol that supports distances equal to Wi-Fi
(> 300ft.), but consumes less power, and transmits at lower
speeds. Bluetooth is very attractive to phone and PDA manufacturers due
to its low power consumption rate.
|
| A2 |
How
fast can I transmit data using Bluetooth?
Raw data rates
for Bluetooth 1.0 and 1.1 devices are at 1 Mb/sec, although you can
only use 720 kb of it for your applications. The latest version of
Bluetooth is 2.0, which supports EDR (Enhanced Data Rates). Bluetooth
devices with EDR can communicate at up to 3 Mb of raw data, of which,
2.1 Mb you can use for your applications.
|
| A3 |
What's
a Piconet?
When two or
more Bluetooth-enabled devices come within range and establish a
connection, a personal area network is formed. A personal area network
can either be a piconet or a scatternet.
A Bluetooth
piconet has a single master and up to seven slaves. No matter what kind
Bluetooth devices are involved (whether they are phones, access points,
PDAs, laptops, headsets, etc.) the master of the piconet is the one
that initiates
the connection. The device that accepts the connection automatically
becomes the slave. Master/slave roles are not predefined; so if a
piconet exists between a laptop and a PDA, either device could be the
master or the slave.
|
| A4 |
What's
a Scatternet?
A scatternet
is essentially a chain of piconets. A scatternet is formed when the
slave of a piconet also become the master of its own piconet.
|
|
Java
Bluetooth Questions
| B1 |
What's
the advantage of using Java or J2ME with Bluetooth?
In particular,
one of the major advantages of using JSR-82 for Bluetooth development
is that the API is independent of the underlying hardware
implementation. This way, you can develop and test your applications on
one platform (i.e. on Win-32, Mac OS X, or Linux) and deploy it on
another (a PDA or cellphone).
|
| B2 |
So
what is the JSR-82?
The JSR-82 is
the official Java Bluetooth API, which was standardized by Motorola and
the following companies in the Java Community Process:
- Extended
Systems
- IBM
- Mitsubishi
- Newbury
Networks
- Nokia
- Parthus
Technologies
- Research in
Motion (RIM)
- Rococo
Software
- Sharp
Electronics
- Sony Ericsson
- Smart Fusion
- Smart Network
Devices
- Sun
Microsystems
- Symbian
- Telecordia
- Vaultus
- Zucotto
|
| B3 |
My
phone/PDA runs Java apps, and uses Bluetooth, so does that mean that it
supports the JSR-82?
Unfortunately,
no. Even though some devices run Java and use Bluetooth, that doesn't
necessarity mean that they implement the JSR-82. See B4.
|
| B4 |
What
commercially available devices implement the JSR-82?
You can find a
list of commercially available JSR-82 device on our JSR-82 Devices
page.
|
| B5 |
I
see that alot of phones include the JSR-82, are there any other devices
that implement the JSR-82?
Naturally,
phones are the most likely candidate to implement the JSR-82 because a
majority of them already include J2ME or Bluetooth (or both).
Currently, the only JSR-82 enabled device that ins't a phone is the PX30
access point made by Possio.
|
| B6 |
My
phone doesn't implement the JSR-82, is there a way that I can upgrade
it to include the JSR-82?
Probably not.
Although some cell phone manufacturers may provide firmware updates for
bug fixes, it is highly unlikely for them provide upgrades to increase
functionality. They would prefer you to buy a new phone.
|
| B7 |
My
PDA doesn't implement the JSR-82, is there a way that I can upgrade it
to include the JSR-82?
Yes, see if
your PDA qualifies in the list below:
- Rococo only
supports PalmOS 4.1 devices and includes the IBM J9 JVM. There is no
implementation available for PalmOS 5 or 6 devices.
- Atinav
supports PocketPC devices. However, you'll need to contact them
directly in order to find out which PocketPC devices and JVMs that they
support.
- Avetana
supports PocketPC 2002 and 2003 with the CrEme JVM.
|
| B8 |
How
do I get started developing Java Bluetooth applications on my PC?
One of the
best ways to get started in Java Bluetooth development to obtain the
JB-22, the only complete Java Bluetooth development kit available for
PCs.
You can find
more information about the JB-22 in C1
below.
|
| B9 |
I
want to send sensitive data between two devices over Bluetooth. Is
there a way to encrypt the data?
There are a
couple of ways to encrypt the data between two Bluetooth devices using
the JSR-82.
#1. In the connection URL String, add the parameter to set encryption
to true:
String
url =
"btspp://02AB45AC35DF:00112233445566778899AABBCCDDEEFF;encrypt=true"
#2. Use your
instance of RemoteDevice and the connection object and call encrypt()
remoteDevice.encrypt(conn,
true);
You can find
more information about Bluetooth security related issues in Chapter
9: Bluetooth Security in Bluetooth
for Java.
|
| B10 |
Are
there any good books on Java and Bluetooth?
Of course...
:-)
Bluetooth
for Java, by Bruce Hopkins
and Ranjith Antony
Companion
Website
Buy
at Amazon
Source Code
Bluetooth
Application Programming with the Java APIs,
by Kumar, Kline, and Thompson
Companion
Website
Buy
at Amazon
Source
Code
Please also note that Martin de Jode dedicated an entire chapter on the
JSR-82 in his J2ME book:
Programming
Java 2 Micro Edition on Symbian OS,
by Martin de Jode
Companion
Website
Buy
at Amazon
Source
Code
|
| B11 |
I
have a mobile device that uses J2ME and a PC that uses J2SE. Is it
possible for these devices to communiate over Bluetooth?
Yes. There
should be no problem sending data from your J2ME device device to your
desktop PC or laptop running J2SE.
|
| B12 |
Can
my Bluetooth application written in Java communicate with another
Bluetooth application written in C?
Yes. You
should have no problem if both devices have implemented the Bluetooth
specification properly.
|
| B13 |
Can
I connect to a remote Bluetooth service without performing
Service Discovery?
Yes. If you're creating the client and server applications,
then performing a Service Discovery may not be necessary. Just connect
with the appropriate URL and go (in order to know exactly what the
connection URL is, you should perform at least one Service Discovery).
The selectService() method was implemented in the JSR-82 for this
purpose, but not all JSR-82 implementations support it.
|
|
JB-22
Questions
| C1 |
What
is the JB-22?
The JB-22
is a complete Java Bluetooth development kit featuring Bluetooth
hardware and software.
|
| C2 |
How
much will the JB-22 cost?
We are
targetting the JB-22
to be less than $200 USD.
|
| C3 |
When
will the JB-22 be available for purchase?
We plan to
release the JB-22
by early Q2 2005.
|
|
|