반응형
참고자료: https://www.bluetooth.com/specifications/specs/core-specification-5-3/
* ATT Opcode (ATT PDU)는 "ATT PDU (ATT Opcode)" 참고
ATT(Attribute Protocol)란?
- Client에서 Server가 제공하는 Attribute와 해당 Attribute 값을 discover/read/write 하거나, Server로부터 indication/notification을 제공받기 위한 프로토콜
- 한 디바이스에서 Server와 Client가 같이 존재하고, 동시에 동작할 수 있다.
- 하나의 Server에 여러 Client가 접속할 수 있다.
1. ATT Role
Server | Attribute와 해당 Attribute 값의 집합을 제공하는 디바이스 한 디바이스에서 Server는 하나만 있어야 한다. |
Client | Server가 제공하는 Attribute와 해당 Attribute 값을 discover/read/write 하거나, Server로부터 indication/notification을 제공받는 디바이스 |
2. Attribute의 구성
Attribute type | 어떤 Attribute인지 나타내는 것으로, UUID를 사용한다. - ATT PDU로 전송될 때에는, 32-bit Attribute UUID는 128-bit Attribute UUID로 변환되어야 한다. - GATT 관련된 UUID는 "Assigned Number" 참고 |
Attribute handle | Server에서 사용하는 Attribut의 ID 16 bit (2 byte) - 0x0000: RFU - 0xFFFF: maximum attribute handle Client에서 Attribute handle을 사용하여Server에서 제공하는 Attribute에 접근이 가능 Client에서 접근하는 방법은 discover/read/write, indication/notification이 있다. Attribute handle grouping - Group에 포함된 첫번째 Attribute에 의해 Group이 정의된다. - Client은 Group에 포함된 첫번째 Attribute handle과 마지막 Attribute handle을 요청할 수 있다. |
Attribute value | Attribute의 실제 값 최대 길이: 512 octet |
Permission | Server의Upper layer에서 Attribute값에 대한 read/write 권한을 정의 - Attribute값이 변경되거나 가져가는 것을 방지 - Client에서ATT를 통해 Permission에 접근하는 것은 불가능 Permission의 종류 (아래 permission을 조합하여 사용) - Readable, Writeable, Readable and writable - Encryption required, No encryption required - Authentication Required, No Authentication Required - Authorization Required, No Authorization Required |
3. Attribute PDU
Type | Suffix | 설명 |
Command | CMD | Client가 Server에게 전송하는 PDU - Server에서 Response를 전송하지 않음 |
Request | REQ | Client가 Server에게 전송하는 PDU - Server에서 Response를 전송해야 한다 |
Response | RSP | Server가 Client에게 전송하는 PDU - Client의 Request에 대한 응답 |
Notification | NTF | Server가 Client에게 전송하는 PDU - Client에서 confirmation을 전송하지 않음 |
Indication | IND | Server가Client에게 전송하는 PDU - Client에서 confirmation을 전송해야 한다 |
Confirmation | CFM | Client가 Server에게 전송하는 PDU - Server의 Indication에 대한 응답 |
반응형
'블루투스 > ATT' 카테고리의 다른 글
ATT Opcode (ATT PDU) - 세로 버전 (0) | 2023.01.10 |
---|---|
ATT Opcode (ATT PDU) - 가로 버전 (0) | 2023.01.10 |
ATT_ERROR_RSP Error Code (0) | 2023.01.09 |