본문 바로가기
블루투스/ATT

ATT(Attribute Protocol)

by 테크쟁이 2023. 1. 9.
반응형

참고자료: 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 ServerClient에게 전송하는 PDU
- Client의 Request에 대한 응답
Notification NTF Server Client에게 전송하는 PDU
- Client에서 confirmation을 전송하지 않음
Indication IND ServerClient에게 전송하는 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