This article goes through the introduction of what is Bluetooth and what you can do with Bluetooth. Both technical aspects of Bluetooth and development tools will be briefly introduced to you; however we will not go into great detail or specifically how to develop a Bluetooth application. This in itself will require several articles if not an entire book to demonstrate and explain. However, part 2 of this article we will go through in detail the basics of creating a J2ME Bluetooth server and client.. What is Bluetooth Bluetooth is a wireless communication protocol mainly used for short distance and in devices with low power consumption. Because Bluetooth is capable of communicating in an omni-directional manner of up to 30 feet at 1 Mb/s it is far superior to infrared. Where infrared requires a distance of a few feet or less and requires a direct line of site for transmissions. Okay what about WiFi, which typical can transmit up to 300 feet at 11 Mb/s. Well the fact is these are really two different beasts; Bluetooth was developed for small data transfers and/or voice communications. Which makes it an excellent candidate for peripherals devices such as wireless microphones, headsets, mice, keyboards and of course mobile handsets. WiFi in general was developed to transmit large amounts of data and to serve as an extension of an existing network such as LAN. Not only does Bluetooth does away with wired cabled connections such as serial, parallel, USB and Fire; but also, it presents to us an unified standard that truly makes connecting to devices to each other ubiquitous. There are hundreds if not thousands ways Bluetooth and be used to enhance our daily lives. Aside from entertainment value of playing games head to head in multiplayer mode there are many business solutions for us to explore. Here are a couple of ideas:
- Efficient and easy way to update your PIM from home to office or where ever you go
- Easy to exchange information with others like mobile business cards
- Concurrent exchange of data, this comes in handy when a group of people are in meetings or at conferences
- Accessing devices such as printers and fax machines, this would definitely come in handy when visiting other offices of your company or client sites
- Monitoring systems, for example if you were a maintenance man doing routine system checks in a factory, it allows you to easily interface at each check point
- Going beyond the peer-to-peer use of Bluetooth there is what is called BlipNet used in enterprise scenarios, more about this later
- Profile Holder - This may be best explained with an example, say you are using your buddies gaming console that is Bluetooth enabled you can upload your saved games and download your current game. Another example, you visit your local drug store and beam your prescription and once it is filled out you get notified on your phone this allows you to continue shopping without the hassle of waiting inline or trying to decipher what is being said over the PA system.
- Provide entertainment during waiting periods, for example waiting in line to buy a ticker for movie you could play Bluetooth movie trivia games, look up facts/reviews to help you decide which movie you want to see and/or possibly opt-in for movie discounts and a chance to win a random price. Who invented Bluetooth? Bluetooth was originally researched and developed by the Ericsson organization and were the ones who named the technology after King Harald Blatand (Bluetooth) of Denmark. Ericsson formed the Bluetooth Special Interest Group. More about Bluetooth is available at http://www.bluetooth.org . Definitely checkout all the products that are Bluetooth enabled, this definitely will if not already provide plenty of opportunity for us developers to make some innovative applications. Technical Background Okay now onto some the technical things you need to know about Bluetooth some of which was mentioned earlier:
- 30 Feet Range (Exception Bluetooth Class 1 has 300 feet range)
- 1 MB/s
- Capable of transferring voice
- Low power consumption
- Omni-directional radio signal
- 2.4 Ghz-2.482 Ghz
- 3 different classes (Class 1 100 meters, Class 2 20 meters and Class 3 10 meters)
- Bluetooth Protocol stack allows you to control the Bluetooth device programmatically, in this case J2ME optional package JSR 82. You will need to familiarize yourself with the Bluetooth stack and what each layers of the stack provide. For example, the following three protocols (sub-protocols under Bluetooth) RFCOMM (stream data), L2CAP (packet data) and OBEX (object data) provide you methods of transmitting data
- Bluetooth Profiles - defined functionality for Bluetooth such as Fax Profile that enables a Bluetooth device to send a fax via Bluetooth fax machine. These profiles may seem similar to the J2ME profiles but they aren't. It isn't an add-on to J2ME but rather an add-on to Bluetooth. Bluetooth profiles can be implemented in other languages like C/C++.
- The network between Bluetooth enabled devices is called a PAN, which stands for Personal Area Networks. A PAN can be a piconet or scatternet, where a piconet is when there is one master and several slaves. A scatternet consists of 2 or more masters and several slaves, in other words one of the Bluetooth devices is both a master and a slave, see illustration below:
- Referring to the last point on Verizon's claims for blocking the use of Bluetooth is for security purposes. This does have some merit considering a lot users are not aware that their devices have Bluetooth let alone users turning off or filtering their Bluetooth options. This in turn opens doors for possibly having your mobile handset hacked into and gaining access to sensitive data. Another hack scenario is similar but may not be as affected as WiFi because of limitation in distance but a person with a Bluetooth device maybe able to steal sensitive data from a company if the proper security pre-cautions are not in place. But probably more then likely you can be spammed with advertisements this is sometimes called being BlueJacked. Now that the threat of mobile viruses is real ( http://java.sun.com (Wireless Toolkit 2.2 Beta includes JSR 82)
http://developer.sonyericsson.com (J2ME SDK 2.1.4 Beta includes JSR 82)
http://www.rococosoft.com
http://www.smartnd.com
http://jcp.org/aboutJava/communityprocess/final/jsr082/
http://www.bluetooth.org
http://bluez.sourceforge.net/
Suggest a Correction
Found an error or have a suggestion? Let us know and we'll review it.





No comments yet. Be the first to comment!