Archive for the ‘Bluetooth for Java 2nd Edition’ Category

Bluetooth Profile Tutorial - DUN (continued)

Sunday, August 9th, 2009

Hi all,

Please allow me make a short comment/rant on the importance of DUN for mobile and wireless developers. Last week, I talked about what DUN is, and how it fits with the other Bluetooth Profiles. However, I failed to explain the importance of this profile. Let me put it succinctly:


If you want to your laptop to access the internet, the you need THIS profile enabled on your mobile phone and your laptop.

Yes, I do realize that DUN *could* be used by desktop computers to access the internet as well, but desktop computers are stationary devices, and WiFi is better suited for that task since power consumption is not a issue.

Yes, I also realize that PDAs *could* use DUN to connect to the internet, but nobody makes PDAs anymore. In fact, now that Microsoft has renamed Windows Mobile to Windows Phone, then that’s a good indicator that the PDA market is dead.

Please note however, that if you have a data plan on your mobile phone, your network carrier does NOT want you to connect your laptop to the internet over DUN. This concept is called “tethering”, and the carriers have decided to make DUN a complicated and pricey issue. Therefore, if you want to use DUN, you will most likely need to:

  1. contact your network carrier
  2. tell them that you want to tether over Bluetooth
  3. wait for them to scream and faint
  4. They will then tell you how much EXTRA you need to pay in order to tether (whether you use Bluetooth or not)
  5. They will also tell you the username and passcode to enter in order to access the network over DUN

That doesn’t sound fair, does it? If you had a normal smartphone application on your phone, it doesn’t need to know a passcode to access the network. However, it you want to tether your laptop, then you do need to enter a  passcode on your laptop in order to access the internet.

I’m very tempted to write a hack that allow users to bypass all that nonsense. I’ll be sure to let you know if I make up my mind.

Bluetooth Profile Tutorial - DUN

Sunday, August 2nd, 2009

Alright, let’s continue to learn about the various intricacies of the Bluetooth specification by looking at another of one of the more common Bluetooth profiles: DUN.

DUN

Profile Name: Dial-up Networking Profile

Abbreviation: DUN

UUID:  0×1103

Description: The Dial-up Networking Profile (DUN) is a profile that largely depends on the functionality of the Serial Port Profile (SPP) in order to operate, as you can see from the image above. This profile is modeled after the connection mechanism that was widely used in the 1990’s for home computers to get access to the internet: the dial-up modem. Please note that even though dial-up modems are not available today, this profile is still widely used by laptops and other mobile devices to access the internet through a Bluetooth-enabled mobile phone.

Common Implementations: laptop computers, desktop computers, mobile phones

Bluetooth Profile Tutorial - SPP

Sunday, March 29th, 2009

Just in case you didn’t notice, the Bluetooth specification is a huge spec. It’s over 1000 pages and covers alot of topics including advanced frequency hopping, low power states, communication parameters, and a whole bunch of other stuff. So, as I work on “Bluetooth for Java, 2ed”, I thought that it would be a good idea to create a tutorial on what all the profiles are, and what do they do. So let’s get started!

Profile Name: Serial Port Profile

Abbreviation: SPP

UUID: 0×1101

Description: The Serial Port Profile (SPP) is a profile that interacts directly with the RFCOMM layer in the Bluetooth protocol stack, and it’s one of the most commonly used profiles since the inception of Bluetooth. If you have an electronic device has has a serial port, or is capable of processing raw byte streams, then SPP would be a good choice if you wanted to wirelessly-enable that device. On a Bluetooth-enabled computer, this profile is used to create a virtual serial port, so that applications on the PC can communicate to wireless Bluetooth devices as if they were directly connected over an actual serial port. From an application developer’s perspective, using the SPP is very easy to do since there’s no protocol overhead that you have to follow - just send and receive byte streams.

Common Implementations: RS232 to Bluetooth converters, Bluetooth GPS devices, mobile phones, desktop computers

Bluetooth book 2nd edition - chapter 1 status

Monday, February 23rd, 2009

I have great news for those of you who are waiting for the next edition of “Bluetooth for Java”. Chapter 1 is done and complete. The funny this is that I completely gutted the whole chapter! It’s amazing how things change in a matter of a few years. Back in 2002 when I wrote the 1st edition of the book, I needed to write Chapter 1 to explain “what” Bluetooth is and “what” Bluetooth does.

Now, it’s 2009 and there over 1-billion Bluetooth-enabled devices on the planet. There is absolutely no need to try to introduce you to Bluetooth, since almost everyone has a general concept of what it is. So, I’m going to salvage what little I can from Chapter 1, and roll that information into Chapter 2. Now it’s time to tackle Chapter 2!

Printing with Bluetooth - Does Anybody Care?

Saturday, November 29th, 2008

Ok,

Here’s your chance to directly influence one of the chapters for “Bluetooth for Java” 2nd edition. Is wireless printing a topic that should be addressed in the new book? If so, then leave a comment describing why you think it needs to be included.

Any comment is fine. You can even say, “Bruce, I work for HP, and my job depends on folks printing more stuff, so please include a chapter on printing”.

:-)

Bluetooth Profiles, How Many are There?

Tuesday, November 25th, 2008

Ok,

So let’s test your Bluetooth knowledge here. First of all, if you don’t know what a Bluetooth Profile is, then you need to go buy a book on Bluetooth (any book will do - but mine is the best). Ok, how many Bluetooth Profiles are there?

Five? Ten? Twenty? Do you give up?

The answer is: 25. Below is the current list of Profiles defined by the Bluetooth SIG:

  1. Advanced Audio Distribution Profile 1.2
  2. Audio/Video Remote Control Profile 1.4
  3. Basic Imaging Profile (BIP)
  4. Basic Printing Profile (BPP) 1.2
  5. Cordless Telephony Profile (CTP)
  6. Device Identification Profile (DI) 1.3
  7. Dial-Up Networking Profile (DUN)
  8. Fax Profile (FAX)
  9. File Transfer Profile (FTP)
  10. Generic Audio/Video Distribution Profile 1.2
  11. Generic Object Exchange Profile (GOEP)
  12. Hands-Free Profile 1.5 (HFP 1.5)
  13. Hardcopy Cable Replacement Profile (HCRP) 1.2
  14. Headset Profile (HSP)
  15. Health Device Profile (HDP)
  16. Human Interface Device Profile (HID)
  17. Intercom Profile (ICP)
  18. Object Push Profile (OPP)
  19. Personal Area Networking Profile (PAN)
  20. Phone Book Access Profile (PBAP)
  21. Serial Port Profile (SPP)
  22. Service Discovery Application Profile
  23. SIM Access Profile (SAP)
  24. Synchronization Profile (SYNC)
  25. Video Distribution Profile (VDP)

Over the coming weeks, I’m going to introduce you to each Profile and give you a short description why you should care about it.

See ya later!

First Post!

Tuesday, November 25th, 2008

Ok, so I finally took the time to start a blog. So why start now in 2008  since my book, “Bluetooth for Java” has been out for 5 years now?

Hmm…

good question…

Well,  maybe because I’m starting to write the 2nd edition to the book. So, I plan to use this blog to talk about everything wireless, but especially stuff that will be in the next edition of the book. So, thanks for stopping by, and of course, stay tuned!