5 de set. de 2006

Bluetooth matters

I'm trying to answer some questions about things that you can do with Bluetooth and Java, and things that you cannot yet. I won't write it at all, but on demmand ;-)

Bluetooth is still a child and I'll try to make an abstract of some definitions. I expect that it be useful...

What is Bluetooth?
Bluetooth is a technology based in profiles using radio communication in free band for short ranges. It uses IMS band (~2,4GHz), frequency hope time multiplexed.
Learn more at:
Bluetooth.org
java.sun.com

What is profiles?
Profiles are protocols-based, but a definitely implementation of them for a specified resource. For example, Audio Profile performs a standart for audio communication (using a defined protocol), which allows that any device that follow Bluetooth (.org) spec, can communicate each other.
Learn more at:
Bluetooth.org

What is the protocols stack?
The protocols stack is the high level layers which allow profiles working and application specific development. It means, when more high level protocol you've been using, more specific is your application and you have less flexibility in development (also it uses to be more hardly to develop as well). At the same time, while lower layer protocols you are, more flexible is your development, but it uses to be easier to.
Learn more at:
java.sun

What is the difference between master and slave? Is the same as server and client?
Not necessarily. Master is "who performs the connection" (keep that in mind). So, at typical topology of client/servers, server offers a service to the client, which connects to this. On Bluetooth, the slave offers the service to the master, which performs the connection and can be considered the "server" of the estabilished connection.
*#1 I've seen some trouble about it in Sun's website and also Nokia. I do prefer to follow Bluetooth (.org) spec.
*#2 Typical applications using Bluetooth are point to point. So, it really doesn't matter who is the client and who is the server. But for multi-point connections (PANs) will see that it does matter.
Learn more (really good - but you don't found it by navigation in Forum Nokia):
Forum Nokia

What is PAN?
The Personal Area Network is a profile created for enabling multi-point connection between devices whose support this profile, enabling ad-hoc networking. There's two types of networks for this, the Piconets and Scatternets.

**
Can I do with Java for limited devices (J2ME/CLDC)?
Theoretically yes. But in the practice, limited devices don't need to implement this profile and it really consumes memory and processor which is very expensive for these devices. Bluetooth API for Java does not enable ad-hoc (JSR-82). For this, must watch the JSR-256 (AD-HOC API) which purposes is to enable ad-hoc for Bluetooth. I still didn't see any device implementing that for Bluetooth and J2ME. The most near I've saw is JXME project enabling peer-to-peer over Http for ME devices.

What is Piconet and Scatternet?
Piconets are consisted onto eight (8) network elements which one is the master and the others slaves. Is the simplest network (PAN) based.
Scatternets are consisted in two or more Piconets connected between a master of one piconet but slave in the other.

** Note that: A master of one piconet cannot be master onto the other piconet.
Learn more:
java.sun
Forum Nokia

--------
More doubts? Suggestions? Post your comment! ;-)

Nenhum comentário: