*/

Bluetooth 통신

Bluetooth 모듈 구분은 Classic Bluetooth와 BLE(Bluetooth Low Energy) 두 가지 유형으로 한다.

BLE (Bluetooth Low Energy)

  • 기존 블루투스 무선 기술에 비해 저전력, 저비용, 단순성, 저속도, 소형 지향
  • Bluetooth 4.0 (2010) 규격에 포함 발표

BLE 주요 특징

  • 연결 중 긴 수면 시간(sleep time)
  • 작은 크기의 데이터 전송 단위
  • 매우 낮은 Duty Cycle
  • 단순한 Topology :  주로 스타형 토폴로지만 지원

BLE 기술적 특징

  • 주파수대역 : 기존 블루투스와 동일 (2.4 GHz) 
  • 사용 채널  : 2 MHz 폭씩 40개 채널
    • 2 MHz 간격 : 2402 + k * 2 MHz (k = 0,1,...,39)
  • 다중 접속  : FDMA, TDMA 방식 모두 사용
  • 전력 소모  : 15 mA 이내
  • 전송 속도  : 1 Mbps 
  • 최대 전송 전력 : 10 mW
  • 통신 방향  : 양방향 모두 지원 가능하지만, 대개 단방향성 만 지원
    • 기기 간에 비 대칭적인 구조로 동작
  • 통신 역할  : 기존 블루투스와 달리, 연결 동안 마스터/슬레이브 역할 교환이 없게 됨
  • 프로토콜 스택 : 기존 블루투스 보다 단순한 구조 채택

프로필(Profile)

SPP, GATT, A2DP, AVRCP, HFP, ... 등 다수의 프로필 존재

블루투스를 사용하기 위해서는 장치(디바이스)는 특정 블루투스 프로파일(Bluetooth Profile)을 해석할 수 있어야 하며, 프로파일은 가능한 응용 프로그램을 정의하고 블루투스 장치가 다른 블루투스 장치와 통신하는데 사용하는 일반적인 특성을 규정한다.


SPP Profile : Serial Port Profile 1.2 spec

SPP는 Serial Port Profile의 약자로 직렬 포트 프로필이라 하며, Classic Bluetooth의 Profile이다. SPP는 두 피어 장치 간에 RFCOMM을 사용하여 에뮬레이트 된 직렬 케이블 연결을 설정하는 데 필요한 Bluetooth 장치에 대한 요구 사항을 정의한다. 요구 사항은 응용 프로그램에 제공되는 서비스와 Bluetooth 장치 간의 상호 운용에 필요한 기능과 절차를 정의하여 표현한다.

GATT Profile : Incorporated GATT Specification Supplement

GATT는 General ATTribute 의 약자로 일반 속성 프로필이라 하며, BLE 프로필이다. 두 개의 BLE 장치가 서비스 및 특성 이라는 개념을 사용하여 데이터를 앞뒤로 전송하는 방식을 정의하며,  이는 테이블의 각 항목에 대해 16 비트 ID를 사용하여 서비스, 특성 및 관련 데이터를 간단한 조회 테이블에 저장하는 데 사용되는 ATT (속성 프로토콜)라는 일반 데이터 프로토콜을 사용한다. GATT 통신의 두 당사자는 클라이언트/서버 관계(주변 장치는 GATT 서버, Central은 GATT 클라이언트)이다. GATT 및 연결에서 염두에 두어야 할 가장 중요한 것은 연결이 배타적이라는 것으로, BLE 주변 장치는 한 번에 하나의 중앙 장치 (휴대폰 등)에만 연결할 수 있다.

Connected Network Topology

아래 그림은 BLE 장치가 연결되는 환경을 나타내고 있다. 주변 장치는 단지 하나의 중앙 장치(모바일 폰과 같은)에 연결될 수 있으나 중앙장치는 동시에 다수의 주변장치와 연결 할 수 있다.


GATT Transactions

GATT에서 이해해야 할 중요한 개념은 서버/클라이언트 관계다.

주변장치는 ATT 룩업 데이터, 서비스, 특성 정의(Characteristic definitions)를 가지고 있는 GATT 서버로  볼 수 있으며, 폰 혹은 타블릿은 서버에 요구를 전달하는 GATT 클라이언트로 볼 수 있다.

모든 트랜잭션은 보조 장치인 GATT 서버로부터 응답을 받는 주 장치인 GATT클라이언트에 의해 시작된다. 

다음 그림은 주 장치가 모든 트랜잭션을 시작하는 주변 장치 (GATT 서버)와 중앙 장치 (GATT 클라이언트) 간의 데이터 교환 프로세스를 보여준다.





참고 

  • https://learn.adafruit.com/introduction-to-bluetooth-low-energy/gatt

0 comments:

댓글 쓰기