1 / 11

Project proposal

Project proposal. Java Bluetooth stack. What is a Bluetooth stack?. In short, to get any functionality out of a Bluetooth device, one needs to implement pretty high stack of protocol layers, quite similar to OSI referent model

tanek
Télécharger la présentation

Project proposal

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Project proposal Java Bluetooth stack

  2. What is a Bluetooth stack? • In short, to get any functionality out of a Bluetooth device, one needs to implement pretty high stack of protocol layers, quite similar to OSI referent model • If you buy a Bluetooth device, you get that stack already implemented, and it exposes profiles(services) to the user, such as Serial port profile, LAN access, OBEX file transfer & other

  3. Then why bother… …coding your own Bluetooth stack? Because you get the complete stack (with the hardware you bought), you have no other choice than to use the profiles it has exposed (most commonly used profile is Serial port profile) as virtual COM ports. This results in a limited functionality, and inability to explore the most exciting Bluetooth features: creating pico- and scatter-nets of interoping devices running custom services.

  4. Out there… …there are few alternatives: • Buy commercial stack (library) – you become bound to a single manufacturer, and at his mercy for updates • Use BlueZ, a free-source Linux Bluetooth stack written in C, or it’s JNI wrapped Java brother, JBlueZ • That’s about it, there is no free-source Java Bluetooth stack available* (* not quite true, read on)

  5. Goal Is to: • Create open-source, full-featured, all Java Bluetooth stack • Build a flexible solution for accessing Bluetooth hardware and harvesting its possibilities to the fullest, leaving enough space for customization

  6. More goals • To provide a solution for using Bluetooth from Java with all ‘Java’ benefits – portability being the main one – so one could use the same stack to access Bluetooth abilities of mobile phones and a Bluetooth PC Card connected to a standard PC running Linux or Windows

  7. Where to start? • From scratch? • Harald Bluetooth stack, created by Johan Eker(http://www.control.lth.se/~johane/harald/), is a good start.

  8. What’s a Harald Bluetooth stack? • “a small Bluetooth stack for wireless communication between Java applications” , author calls it • Originally created for testing Bluetooth performance in distributed wireless control application (you can find more here)

  9. What’s implemented? • JOL – Java objects layer, a thin layer for passing Java objects using serialization, non-standard • L2CAP – converts higher-layer data into HCI packets • HCI – communicates with the Bluetooth device through a set of commands and responses

  10. What’s missing? • Any type of service discovery – an implementation of SDP – Service Discovery Protocol • Serial port emulation based on RFCOMM protocol, is widely used by most of the profiles • Custom services can be built even on top L2CAP, but SDP is indispensable

  11. Hardware For testing purposes, one could use: • Bluetooth PC Card (PCMCIA card), such as Xircom CBT or other • Bluetooth serial module (like one in Ericsson Application Toolkit) • Bluetooth USB dongle (only on Linux with kernel support for USB, USB not yet implemented in Harald stack)

More Related