Previous versions of the specification limited the peripheral to a single central connection although not conversely and limited the role combinations. The biggest advantage of connections when compared to broadcasting is the ability to organize the data with much finer-grained control over each field or property through the use of additional protocol layers and, more specifically, the Generic Attribute Profile GATT.
Data is organized around units called services and characteristics discussed in more detail in Chapter 4. The key thing to keep in mind is that you can have multiple services and characteristics, organized in a meaningful structure. Services can contain multiple characteristics, each with their own access rights and descriptive metadata. Additional advantages include higher throughput, the ability to establish a secure encrypted link, and negotiation of connection parameters to fit the data model.
Connections allow for a much richer, layered data model. They also have the potential to use much less power than broadcast mode because they can extend the delay between connection events further out, or push large chunks of data out only when new values are available, rather than having to continually advertise the full payload at a specific rate without knowing who is listening or how often.
Not only that, but the fact that both peers know when the connection events are going to take place in the future allows the radio to be turned off for longer, potentially saving battery power when compared to broadcasting. Finally, these topologies can be mixed freely in a wider BLE network, as shown in Figure More advanced dual-mode and single-mode devices are starting to appear, devices that are able to combine multiple roles concurrently.
This allows them to participate in several connections at a time, while also using advertising to broadcast data. From its inception, the Bluetooth specification introduced a clear separation between the distinct concepts of protocols and profiles :.
Building blocks used by all devices conformant to the Bluetooth specification, protocols are the layers that implement the different packet formats, routing, multiplexing, encoding, and decoding that allow data to be sent effectively between peers.
Chapter 2 covers protocols in detail, but the following sections provide a quick introduction to profiles and what they mean for an application developer. Covering the usage model of the lower-level radio protocols to define roles, procedures, and modes that allow devices to broadcast data, discover devices, establish connections, manage connections, and negotiate security levels, GAP is, in essence, the topmost control layer of BLE. This profile is mandatory for all BLE devices, and all must comply with it.
Dealing with data exchange in BLE, GATT defines a basic data model and procedures to allow devices to discover, read, write, and push data elements between them. It is, in essence, the topmost data layer of BLE.
GAP discussed in more detail in Chapter 3 and GATT discussed in more detail in Chapter 4 are so fundamental to BLE that they are often used as the foundation for application programmer interfaces APIs as the entry point for the application to interact with the protocol stack.
Use-case-specific profiles in this section and elsewhere are limited to GATT-based profiles. This means that all of these profiles use the procedures and operating models of the GATT profile as a base building block for all further extensions. The Bluetooth SIG goes beyond providing a solid reference framework for the topmost control and data layers of devices involved in a BLE network.
Just like the USB specification, it also provides a predefined set of use-case profiles, based on GATT, that completely cover all procedures and data formats required to implement a wide range of specific use cases, including the following:.
Allows devices to physically locate other devices use a keyring to find the phone or vice versa. Detects the presence or absence of nearby devices beep if an item is forgotten when leaving a room.
Securely transfers glucose levels over BLE. Transfers body temperature readings over BLE. Allows sensors on a bicycle to transfer speed and cadence data to a smartphone or tablet. Additionally, you can browse Bluetooth services and characteristics directly at the Bluetooth Developer Portal and, more specifically, the list of all currently adopted services.
The Bluetooth specification also allows vendors to define their own profiles for use cases not covered by the SIG-defined profiles. Those profiles can be kept private to the two peers involved in a particular use case for example, a health accessory and a smartphone application , or they can also be published by the vendor so that other parties can provide implementations of the profile based on the vendor-supplied specification.
Skip to main content. Start your free trial. Chapter 1. Configurations The Bluetooth specification covers both classic Bluetooth the well-known wireless standard that has been commonplace in many consumer devices for a number of years now and Bluetooth Low Energy the new, highly optimized wireless standard introduced in 4. Based on Specification Support Table shows the wireless technologies implemented for the three main device types on the market today.
Table Figure Configurations between Bluetooth versions and device types. Based on Chip Count Chapter 2 introduces and discusses the several protocol layers that constitute the Bluetooth protocol stack, but for now it suffices to outline the three main building blocks of every Bluetooth device: Application The user application interfacing with the Bluetooth protocol stack to cover a particular use case.
Host The upper layers of the Bluetooth protocol stack. Controller The lower layers of the Bluetooth protocol stack, including the radio. These are the three most common configurations found in commercially available products today: SoC system on chip A single IC runs the application, the host, and the controller. Dual IC with connectivity device One IC runs the application and communicates using a proprietary protocol with a second IC running both the host and the controller.
Start your free trial. Buy on Amazon. Show and hide more. Table of contents Product information. ISBN: You might also like book 40 Algorithms Every Programmer Should Know by Imran Ahmad Learn algorithms for solving classic computer science problems with this concise guide covering everything from fundamental … book Designing Data-Intensive Applications by Martin Kleppmann Data is at the center of many challenges in system design today.
As shown in Figure , a complete single-mode BLE device is divided into three parts: controller, host, and application. Each of these basic building blocks of the protocol stack is split into several layers that provide the functionality required to operate:.
The application, like in all other types of systems, is the highest layer and the one responsible for containing the logic, user interface, and data handling of everything related to the actual use-case that the application implements.
The architecture of an application is highly dependent on each particular implementation.
0コメント