My mom recently celebrated her 50th birthday, and she’s always trying to stay fit. So, I gave her with a boat tracker (Figure 1.). This stylish, sleek watch looks great when worn. It monitors steps, and heart rate, monitors blood pressure, and records sleeping patterns. The watch’s high-performance sensors collect data throughout the day and then send it to her mobile phone via Bluetooth LE.

This fitness tracker from my mom’s is only one of the numerous Bluetooth LE devices that collect and keep information. Have you ever thought about how these Bluetooth LE devices store and manage the information they acquire? Do they have interoperability?

Figure 1. BoAt’s Fitness tracker-wearables. Image courtesy of boAt

Have you ever thought about what data stored in boAt’s fitness tracker could be transferred and shared to a Samsung phone? This is exactly where the ATT (Attribute Protocol) and GATT (Generic Attribute Profile) protocols are used.

The Foundation: Attribute Protocol (ATT)

ATT is the basis for the management of data and organization for data management and organization BLE devices. It is the one responsible for defining how data is organized, stored, and accessed, creating the foundational framework for information representation within Bluetooth LE communication.

The ATT protocol specifies basic messages, sequences of messages, and the processes required to perform GATT actions.

In ATT data, information is arranged into attributes. These are the smallest unit of data. Each attribute is assigned a uniquely identifiable identifier (UUID) as well as a number and a set of attributes, including read, write, notify, or read. Its UUID can be either 16 bits or 128 bits and aids devices in recognizing specific attributes. As an example, think of an electronic smartwatch with BLE that can measure your heart’s beat. The data on your heart rate is an attribute that can be that is identified by a unique UUID and has properties like notification and read.

Let’s look at the way ATT functions. It operates on a model of client-server that is, the server (the server) is the one that stores the data while another client (the client) is able to request or update the data. This model allows for fast communication and allows for several clients that connect each other to one server. In our example of a smartwatch, it acts as a server, holding the heart rate data while your smartphone functions as the client, receiving the data and showing the data on an application.

Building Upon ATT: Generic Attribute Profile (GATT)

While ATT serves as the base for data management, GATT builds on top of it by defining the way devices must interact with attributes of the data. GATT creates a set of guidelines and rules of operations which govern the way servers and clients communicate, which ensures consistent information exchange as well as interoperability among devices.

The first step is to break down how we came up with the GATT name. “Profile” is a term used to describe the way in which devices interact “profile” refers to a set of rules and guidelines that determine how devices communicate with one another. These rules offer clear guidance regarding the duties and roles of each device when it comes to connection-oriented communication.

The phrase “generic” highlights the comprehensive nature of GATT, which encompasses every aspect involved in interaction between devices. This implies that GATT does not limit itself to specific usage cases or specific applications but can be utilized in any scenario. GATT arranges attributes in an ordered arrangement that includes profiles, services, and attributes.

Description of the GATT Hierarchy

What are the benefits of using a hierarchical structure to manage data? The idea of organizing data using the form of a hierarchy, for example, the file-folder system, is commonly utilized to address the following issues:

  • Intelligent Organization Hierarchical structures are simple and easy to grasp since the structures closely mirror real-world systems such as organizational charts or family trees. This makes it simpler for users and developers to find and navigate information.
  • Logical Grouping Hierarchical organization groups closely related data elements, which allows users to quickly determine the relationship between various elements. This sorting process improves the overall structure and coherence of the information. It also allows for more efficient exploration and interaction with data as the devices are able to swiftly navigate the hierarchy to locate the desired features and services.
  • More Maintainability A well-organized hierarchy eases managing and maintaining data. It’s easier to modify or update certain elements of the hierarchy without having unwanted side effects or affecting other data.

Increased Access Control and Security: The organization of data into a hierarchy permits more precise access control and authorizations. By granting different access levels to specific services and attributes makes it simpler to control access to data and make sure you only allow authorized users are able to communicate with particular data elements.

Figure 2 illustrates the parts that make up GATT’s hierarchical structures.

Figure 2. Parts and components that makeup GATT’s hierarchical structure

Let’s look at each of the parts.

Profile

Profiles are description or specification that gives an outline of the way the GATT clients and servers must work together to support a particular use case or application within the Bluetooth LE ecosystem. It outlines the services that are used to meet the needs of the specific application. Profile specifications provide uniform behavior and interoperability among devices running the same software, even if they come from different manufacturers.

Service

Services are a set of features (characteristics or descriptors) that perform a specific function within the profile. Services are a way to describe a particular feature of the device’s behavior and make it simpler for others to locate and interact with the related information.

If a client is able to access its peers’ services, It learns about the information that it provides, the method to gain access to that data, and the security measures that are used to safeguard it.

There are two kinds of services available in the GATT profile two types of services: primary services in addition to secondary services. Primary services refer to the primary services provided by the GATT Server. They can be identified through the GATT Client and determine the core functionality of the device, like the heart rate monitor, which has heart rate services, and the charge level service.

Secondary services However, secondary services offer additional or added capabilities to the primary services. They aren’t directly accessible through GATT Clients but are available to GATT Clients, but they are referred to by primary services and other secondary services.

 

Leave a Reply

Your email address will not be published. Required fields are marked *