Page 87 - Hacking Roomba
P. 87
68 Part I — Interfacing
Bluetooth Profiles
What is Bluetooth being used for? Like USB, Bluetooth defines a set of device classes to solve
common tasks. Devices within the same class speak the same sub-protocol of Bluetooth and
thus need no drivers to interoperate. Bluetooth calls these device classes profiles. Table 4-1 lists
a few of the most commonly used profiles.
Table 4-1 Common Bluetooth Profiles
Profile Name Description
Headset Profile (HSP) Most common profile, used for those tiny headsets for cell
phones
Hands Free Profile (HFP) Used in cars to enable hands-free mode by integrating with
the car stereo
Human Interface Device Profile (HID) Supports keyboards and mice and other input devices
Object Push Profile (OPP) Used mostly by cell phones to send vCards (virtual business
cards) and vCalendar (virtual appointment book) entries
Basic Printing Profile (BPP) Allows structured access to printers
Dialup Networking Profile (DUN) Provides a standard way to access the Internet
Serial Port Profile (SPP) Serial port cable emulation
Computers with Bluetooth implement some subset of all available Bluetooth profiles. This
used to be a big problem, as the operating system drivers would only implement the HID and
DUN profiles and nothing else, making the claim Bluetooth compatible a misnomer at best.
Most operating systems now support all the profiles you would be likely to use.
The profiles provide a common task-centric set of languages that allow devices from disparate
manufacturers to work together. In fact, Bluetooth is named after the 10th-century Danish
King Bluetooth, who was famed for getting warring parties to negotiate with one another. It’s a
fitting sentiment for any wireless technology.
Parts and Tools
Many of the parts used in this project will be familiar from Chapter 3 since the circuit is very
similar. You won’t need a MAX232 transceiver chip to convert between 0–5V logic and the +/-
12V logic of RS232, but you will need a header socket for the BlueSMiRF module (and the
BlueSMiRF module itself). So for this project all the parts you will need are:
Mini-DIN 8-pin cable, Jameco part number 10604
General-purpose circuit board, Radio Shack part number 276-150