Bluetooth Low Energy
- Bluetooth 4.0에 적용된 데이터 통신망을 위해 탄생된 새로운 short range radio 기술
- Bluetooth 4.0 이전을 Bluetooth Classic, 4.0 이후를 Bluetooth Smart라고 함
- Bluetooth Classic이 주로 음성통신을 위해 사용, BLE는 데이터 통신에 사용
- ZigBee의 저전력 특징을 Bluetooth에 맞게 적용한 기술
- Bluetooth 4.0 = Bluetooth Classic + BLE
- BLE는 Android API Level 18(4.3)부터 지원, 안정적인 구현은 4.4 이상 버전에서 권장
기술사양 | Bluetooth Classic | BLE |
주파수대역 | 2.4GHz | 2.4GHz |
데이터 전송속도 |
1~3 Mbps | 1 Mbps |
토폴로지 | Star | Star |
음성지원 | 지원 | 지원하지 않음 |
파워소모 | < 30mA | < 15mA |
데이터 전송시간 |
100ms | 6ms |
주 사용처 | 휴대폰, 헤드셋, 스피커, PC 등 | 휴대폰, 시계, 헬스케어, 센서 등 |
Device Mode
Bluetooth Smart Ready(Dual Mode)
=> Bluetooth Classic과 BLE 장비 모두 연결이 가능한 디바이스 ( 스마트폰 )
Bluetooth Smart(Single Mode)
=> 오직 저전력으로만 통신하는 디바이스 ( 웨어러블 디바이스, 주요 센서 등 )
BLE 주요개념
- ATT (Attribute Protocol)
- 서버와 클라이언트 사이의 데이터 교환에 대한 규칙을 정의
- 애플리케이션에서 데이터 교환은 ATT 기반으로 이루어짐
- 프로토콜 동작 명령어는 Request, Response, Command, Notification, Indication, Confirmation 등 있음 - GAP (Generic Access Profile)
- 서로 다른 제조사가 만든 BLE 디바이스끼리 호환되도록 통신 규격을 제공
- Advertising, Connection 제어(장치의 역할에 대한 정의) 기능을 수행
- 디바이스들은 GAP에서 제공되는 Advertiser와 Observer를 활용해 BLE 네트워크 이용 - GATT (Generic Attribute Profiles)
- BLE 디바이스들간 데이터를 교환할 때 데이터의 구조를 정의해 놓은 Profile
- 데이터를 발견하고, 읽고, 쓰는 것을 규격화
- Bluetooth SIG(Special Interest Group) 에서 GATT를 표준으로 Profile을 만듬
:: https://www.bluetooth.com/ko-kr/specifications/specs/
BLE 통신방식
모든 디바이스는 파워를 키면 Broadcast를 한다.
스마트폰이 하는 역할은 Scanner.
데이터 패킷을 스캔해서 블루투스를 키게되면 스캔한 데이터패킷 정보가 들어가는 것이다.
① 브로드캐스팅 방식 ( Advertise Mode )
1:n 통신, 보안에 취약
② 커넥션 방식 ( Connection Mode )
1:1 통신, 보안에 강함, 브로드캐스팅 방식에 비해 더 큰 데이터를 전송이 가능
ex) 센서 -> GATT Server
ex) 스마트폰 ->> GATT Client
BLE Profile 구조
- Profile
- 서비스들의 묶음으로 Bluetooth SIG나 BLE 디바이스 제조사에 의해 만들어지는 기본 데이터 표준 집합 - Service
- 데이터를 논리적 단위로 나눠 놓은 그룹, 특성이라는 더 작은 데이터 단위를 하나 이상 포함하고 있음 :: 온도, 가속센서, 조도 등
- 각 서비스는 UUID라는 고유한 식별자를 갖고 있음 (Universally Unique Identifier) - Characteristic
- 가장 작은 데이터 단위로 단 하나의 데이터만 포함
- 하나의 값과 n개의 Descriptor로 구성 - Descriptor
- 특정 Characteristic에 속하며, Characteristic의 특성을 설명하는 메타 데이터를 갖고 있음