-
Read
- 클라이언트(예: 스마트폰)가 서버(예: BLE 센서)로부터 데이터 수신 시 사용
- 프로세스
- 클라이언트가 서버의 특정 Characteristic(특성)에 대해 Read Request 전달
- 서버는 요청받은 데이터를 응답으로 반환
- 예시
- 스마트폰이 BLE 체온계의 현재 온도 값을 읽는 경우.
- 특징
- 클라이언트가 요청할 때만 데이터를 전송한다.
- 주기적인 데이터 수신이 필요하지 않은 경우에 적합하다.
-
Write
- 클라이언트에서 서버로 데이터 송신 시 사용
- 프로세스
- 클라이언트가 서버의 특정 Characteristic에 값을 작성(Write Request)
- 서버는 데이터를 수신하고 필요한 경우에만 응답
- 예시
- 스마트폰이 BLE 스마트 조명에 색상 변경 요청
- 특징
- 다음 두 가지 방식을 사용한다.
- Write with Response: 데이터 전송 후 서버의 응답을 받는 방식
- Write without Response: 응답 없이 데이터 전송 (더 빠른 통신 가능)
-
Notify
- 서버가 클라이언트에게 데이터 변경 사항을 알림 방식으로 전송합니다.
- 프로세스
- 클라이언트가 특정 Characteristic에 대하여 서버에 Notification 활성화
- 서버는 데이터 변경 시 클라이언트에 자동으로 알림 전달
- 예시
- BLE 심박 센서가 심박수 데이터를 실시간으로 스마트폰에 전송
- 특징
- 서버에서 클라이언트로 단방향 데이터 전송
- 데이터가 빈번하게 업데이트될 때 적합하며 빠르고 효율적이다.
-
Indicate
- 서버가 클라이언트에게 데이터 변경 사항을 전송하고, 전송 성공 여부를 확인받는 방식
- 프로세스
- 클라이언트가 특정 Characteristic에 대하여 서버의 Notification 활성화
- 서버가 클라이언트에 Indication을 전송
- 클라이언트는 이를 수신한 후 반드시 응답 반환
- 예시
- BLE 보안 인증에서 중요한 데이터를 서버가 클라이언트로 전송
- 특징
- Notify와 유사하지만, 클라이언트의 응답(ACK)을 요구하여 데이터 전송의 안정성을 보장
- 속도는 Notify보다 느리지만 신뢰성이 더 높다.