Thursday, November 1, 2007

Java Bluetooth : JSR-82 Basics

This is the first part of the tutorial covering the basics of JSR-82.


What is JSR-82?


JSR-82 is a standard defined by the Java Community Process for providing a standard to develop Bluetooth applications in Java. It is an open and non-proprietary standard for developing Bluetooth applications. The JSR-82 API hides the complexity of the Bluetooth protocol stack, by exposing a simple set of Java API’s. The JSR-82 specific can be downloaded from here.


Pre-Requisites


To develop a Bluetooth application in Java using the JSR-82, you need to have the following



  1. JSR-82 Compliant Bluetooth Stack.

  2. You need a JSR-82 Implementation to successfully develop and test a Java Bluetooth application. You either need to have a simulated enviorment like the Sun Java Wireless Toolkit, or a real Java Bluetooth Stack like ElectricBlue or Avelink. The simulator allows you to test the Bluetooth application in a simulated environment, with no access to real bluetooth device.


  3. Local Bluetooth Device.

  4. If you are using a simulator, this is not needed. But to test your application in real world over a java bluetooth stack, you need to have a bluetooth enabled system. This can either be a Bluetooth USB Dongle plugged in to your system, or the internal built in bluetooth device. The java application that you writes, runs over this bluetooth device, and this bluetooth device is called as the ‘LocalDevice’ in JSR-82.


Capabilities of JSR-82


What all applications can you develop using the JS-82? The JSR-82 API provides you the options to do the following



  1. Manage the Local Bluetooth Device settings.

  2. Discover other bluetooth devices in the neighborhood.

  3. Search for bluetooth devices on the discovered bluetooth devices.

  4. Connect to any of those bluetooth service and communicate with it.

  5. Register a bluetooth service on the Local Bluetooth Device, so that other bluetooth devices can connect to it.

  6. Manage and control the communication connections.

  7. Provide the security to all of the above options.


These are the properties and capabilities of JSR-82 in a nutshell. How you can develop application using the capabilities of the JSR-82 will be explained in the next section of this article.

No comments: