- IoT Projects with Bluetooth Low Energy
- Madhur Bhargava
- 523字
- 2021-07-02 18:36:42
Host
Lying just the following Application layer is the Host layer, which has the following layers:
- Generic Access Profile (GAP): This defines how Bluetooth Low Energy devices access and communicate with each other. Bluetooth Low Energy devices can connect to each other in one of the following roles:
- Broadcaster: Also referred to generically as peripheral, this is a role where a Bluetooth Low Energy device broadcasts/advertises information packets.
- Observer: Also referred to generically as central, this is a role where a Bluetooth Low Energy device listens for the packets and then decides to initiate a connection, or not, depending on the use case.
- Generic Attribute Profile (GATT): This defines how data or attributes are formatted, packaged, and sent across connected devices according to its described rules. Similar to GAP, there are certain roles that interacting devices can adopt:
- Client: This typically sends a request to the GATT server. The client can read and/or write attributes/data found on the server.
- Server: One of the main roles of the server is to store attributes/data. Once the client makes a request, the server must make the attributes/data available.
- Attribute Protocol: This defines rules for accessing attributes/data on a device. A GATT profile is built on top of the attribute protocol. Although GATT implements the client server roles, these are defined by the Attribute Protocol. This protocol also defines the fact that data on a server will be arranged in the form of attributes each of which will have:
- A 16-bit attribute handle
- A UUID
- A set of permissions
- A value
Next, the protocol also defines various read and write operations for attributes also known as ATT operations:
- Read Operations
- Write Operations: These are of type Write Requests with Response (write to an attribute and expect a response), Write (write without expecting acknowledgement), Signed Write (similar to write but uses a signature to authenticate the data)
- Indications: These are asynchronous notification operations initiated by the server for the client. This is initiated if the client has subscribed to the updates of attribute values. It requires an acknowledgement from the client.
- Notifications: are similar to an indication. The only difference is that they do not require an acknowledgement from the client.
All in all, Attribute Protocol is just a set of rules related to accessing data. Don't worry if you don't understand the significance of it at this stage. We will be covering the significance of these characteristics/attributes and related operations in the upcoming sections:
- Security Manager Protocol: This defines rules regarding authentication processes such as pairing
- Logical Link Controller and Adaptation Protocol (L2CAP): This defines the following rules:
- Fragmentation and defragmentation of application data
- Multiplexing and demultiplexing of multiple channels over a shared logical link
The Host layer defines three very important specifications, that is, characteristics, services, and profiles, which help Bluetooth Low Energy devices to discover, identify, and talk to each other.
It really can't be stressed enough that a thorough understanding of these three specifications is absolutely imperative to design robust Bluetooth Low Energy oriented applications. We will go over each of these in detail, right after we have briefly touched on the controller layer.
- C程序設計簡明教程(第二版)
- Python快樂編程:人工智能深度學習基礎
- 高效微控制器C語言編程
- 深入淺出Spring Boot 2.x
- JIRA 7 Administration Cookbook(Second Edition)
- 深入淺出Prometheus:原理、應用、源碼與拓展詳解
- Oracle從入門到精通(第5版)
- MATLAB for Machine Learning
- 機器學習與R語言實戰
- Windows Phone 7.5:Building Location-aware Applications
- AIRIOT物聯網平臺開發框架應用與實戰
- Instant Lucene.NET
- Getting Started with React Native
- 一塊面包板玩轉Arduino編程
- Spring Boot實戰