Introduction to Bluetooth and J2ME
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:
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.com/ and 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:
Extra side note Bluetooth ranges can be extended/detected beyond the assigned standard, checkout http://www.wifi-toys.com/wi-fi.php?a=articles&id=21 and http://www.bluedriving.com/.
Bluetooth and J2ME / JSR 82
Like other extended APIs/libraries to the J2ME world we have one for Bluetooth the JSR 82, http://jcp.org/aboutJava/communityprocess/final/jsr082/ . To start developing J2ME application/games you can download the Wireless Toolkit 2.2 (currently still Beta at the time of this writing), which includes the JSR 82 and two Bluetooth demos with source code. One of the demos is a picture sharing program, there isn't anything special you need to do aside from enabling the JSR 82 API, in the WTK go under the settings and make sure the check box for Bluetooth/OBEX for J2ME (JSR82) is checked off. Afterwards start to instances of the program (one as a slave/client and the other as a master/server) the reset of it is self-explanatory. You will see an image being passed from one device to the other.
Beyond Peer-to-Peer
Going beyond the peer-to-peer / piconet environment and into the realm of enterprise Bluetooth applications. Enterprise Bluetooth environment major advantages over non-enterprise are:
Situations where enterprise Bluetooth would come in handy are:
Bluetooth enterprise is really just an extensions or interface to larger a system, just like a person would approach a kiosk or terminal that is hooked up to a larger computer system you would have Bluetooth nodes dispersed throughout the desired area; where each node has the ability to connect to a hundred or more Bluetooth clients. The nodes themselves are connected to a Bluetooth server (not really running Bluetooth connectivity but instead either hard wired connection or wireless WI-FI connection), this Bluetooth server itself is connected to the enterprise system. Below is a diagram of example of this:
Challenges
Summary
Well hopefully you have a better grasp of what Bluetooth is and all the potential opportunities there are in developing applications using Bluetooth. Stay tuned for the up coming article where we dive into the code of a simple Bluetooth J2ME application. Where we dive into the detiasl of how to do the following: device and service discovery, service registration and the actual communcation between Bluetooth devices.
Development Kits
http://java.sun.com (Wireless Toolkit 2.2 Beta includes JSR 82)
http://forum.nokia.com (Nokia Developer Suite 2.2 includes JSR 82)
http://developer.sonyericsson.com (J2ME SDK 2.1.4 Beta includes JSR 82)
Resources
http://jcp.org/aboutJava/communityprocess/final/jsr082/
http://opensource.nus.edu.sg/projects/bluetooth/
Jason is a wireless and open source developer enthusiast who enjoys creating synergy and sharing knowledge in the software development world. To learn more about him visit his personal site at http://www.jasonlam604.com/
Search Bing From Hotmail Inbox to Insert ContentBing Added to Quick Add Feature
-

Real-Time Search Engines Rush to Fill New Need
Twitter has produced a hot new trend: real-time search. -

Google's OS to Challenge Microsoft?
Googlers Sundar Pichai and Linus Upson announced on Wednesday that... -

Is Twitter Scaring Google?
There have been multiple reports that Twitter could replace Google. -

User Authentication Services: Good or Bad?
Products such as OpenID, Facebook Connect, and Google Friend Connect...
WWDC Demo: two tip calculators The Unofficial Apple...
Fidelity doubles stake in... Seattle Times
How To: Excel At Excel For SEM... Search Engine Land
Forecaster of the Month:... MarketWatch
iEntry 10th Anniversary
RSS
Newsletter
Advertising




















5 Comments
hahahahahahahahahahahahahahah
hahahahahahahahahahahahahahahahahahahahaahahahahhahahaahhahahahahahahahahahahahahahahahahahahahhahahahahahahahahahahaahahahahahhaahahahahhaahahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhahahahahahahahahahahahahahahahahahhahahahahahahahahahaahhahahahahaahahahahahahahhahah iiiiiiiiiiii lllllllliiiiiiklkkkkkkkkkkeeeeee ssppppppaammmmm
good
thanks jason , i hope to see more articles from you.
bluetooth problem
The best way is to use low level api, because on some phones there are problems with implementation of high level functions.
JSR-82 Stack
Just wanted to add that there is now one more JSR-82 stack for Windows : ElectricBlue by JSRSoft
JSR-82 Resource
one more JSR-82 Resource : JSR82.com from where you can read articles and discussions about JSR-82 and Java Bluetooth.
Post new comment