Bluetooth is a short-range wireless communication technology that replaces cables connecting portable or fixed devices while maintaining high levels of security. It allows mobile phones, computers, and other devices to exchange information. Two Bluetooth-enabled devices connect through a pairing technique.
A Bluetooth stack refers to an implementation of the Bluetooth protocol stack. It allows an inheritance application to work over Bluetooth. A user can port to any system using Atinav’s OS abstraction layer. The below figure illustrates a Bluetooth stack.
Figure 8.33: Architecture of a Bluetooth stack
The Bluetooth stack has two parts: general purpose and embedded system.
A user can set Bluetooth in the following modes.
Discoverable Modes
Bluetooth operates in the following three discoverable modes.
Discoverable: When Bluetooth devices are in the discoverable mode, they are visible to other Bluetooth-enabled devices. If a device attempts to connect to another, the device attempting to establish the connection must search for a device that is in the discoverable mode; otherwise, the device attempting to initiate the connection will not be able to detect the other device. The discoverable mode is necessary only while connecting to a device for the first time. Upon saving the connection, the devices remember each other; therefore, the discoverable mode is not necessary for lateral connection establishment.
Limited discoverable: In the limited discoverable mode, the Bluetooth devices are discoverable only for a limited period, for a specific event, or during temporary conditions. However, there is no Host Controller interface (HCI) command to set a device directly in the limited discoverable mode. A user has to do this indirectly. When a device is set to the limited discoverable mode, it filters out non-matched IACs and reveals itself only to those that matched.
Non-discoverable: Setting a Bluetooth device to the non-discoverable mode prevents that device from appearing on the list during a Bluetooth-enabled device search process. However, it remains visible to users and devices that were previously paired with it or know its MAC address.
Pairing Modes
The following are the pairing modes for Bluetooth devices.
Non-pairable mode: In the non-pairable mode, a Bluetooth device rejects pairing requests sent by any device.
Pairable mode: In the pairable mode, a Bluetooth device can accept pairing requests and establish a connection with a device that requested pairing.