•
안드로이드는 저전력 블루투스(BLE)에 대한 기본 플랫폼 지원을 제공하며 앱이 장치 검색, 서비스 쿼리, 정보 전송에 사용할 수 있는 API를 제공하고 있습니다.
•
주변 장치 간에 소량의 데이터 전송을 위한 사례로 쓰이고 있습니다.
•
근접 센서와 상호 작용하여 사용자에게 현재 위치에 따라 사용자 정의 경험을 제공합니다.
•
기존의 블루투스와는 달리 BLE는 상당히 낮은 전력 소모를 위해 설계되었다.
•
이를 통해 앱은 근접 센서, 심박수 모니터 및 피트니스 장치와 같이 전력 요구 사항이 엄격한 BLE 장치와 통신할 수 있습니다.
주의할 점
•
사용자가 BLE을 사용하여 장치를 다른 장치와 페어링하면 두 장치 간에 통신되는 데이터는 사용자 장치의 모든 앱에서 액세스할 수 있습니다.
•
이러한 이유로, 당신의 앱이 중요한 데이터를 캡처하는 경우, 당신은 그 데이터의 개인 정보를 보호하기 위해 앱 계층 보안을 구현해야 한다.
기본 사항
•
BLE 지원 장치가 서로 간에 데이터를 전송하려면 먼저 통신 채널을 구성해야 합니다. Bluetooth LE API를 사용하려면 매니페스트 파일에 몇 가지 권한을 선언해야 합니다.
•
앱에 Bluetooth 사용 권한이 있으면 앱에서 Bluetooth 어댑터에 액세스하여 장치에서 Bluetooth를 사용할 수 있는지 확인해야 합니다. Bluetooth를 사용할 수 있는 경우 장치는 근처 BLE 장치를 검색합니다. 장치가 발견되면 BLE 장치의 GATT 서버에 연결하여 BLE 장치의 기능을 검색합니다. 일단 연결이 되면, 이용 가능한 서비스와 특성에 따라 연결된 기기로 데이터를 전송할 수 있다.
주요 용어 및 개념
•
다음은 주요 BLE 용어 및 개념을 요약한 것입니다.
일반 특성 프로파일(GATT)
•
GATT 프로필은 BLE 링크를 통해 "속성"으로 알려진 짧은 데이터를 주고받기 위한 일반적인 규격이다. 현재 모든 BLE 애플리케이션 프로파일은 GATT를 기반으로 합니다. 자세한 내용은 GitHub에서 Android Bluetooth LeGat 샘플을 참조하십시오.
프로필
•
블루투스 SIG는 BLE 장치를 위한 많은 프로필을 정의한다. 프로필은 특정 응용 프로그램에서 장치가 작동하는 방식에 대한 규격입니다. 장치는 둘 이상의 프로필을 구현할 수 있습니다. 예를 들어 장치에는 심박수 모니터와 배터리 수준 검출기가 포함될 수 있다.
속성 프로토콜(ATT)
•
GATT는 속성 프로토콜(ATT) 위에 구축된다. 이를 GATT/ATT라고도 하며, ATT는 BLE 장치에서 실행되도록 최적화되어 있습니다. 이를 위해, 그것은 가능한 적은 바이트를 사용한다. 각 속성은 UUID(Universally Unique Identifier)에 의해 고유하게 식별되며, 이는 정보를 고유하게 식별하기 위해 사용되는 문자열 ID에 대한 표준화된 128비트 형식이다. ATT에서 전송되는 속성은 특성 및 서비스로 포맷됩니다.
특성
•
특성에는 특성 값을 설명하는 단일 값과 0-n 설명자가 포함됩니다. 특성은 클래스와 유사한 유형으로 생각할 수 있습니다.
설명자
•
설명자는 특성 값을 설명하는 정의된 속성입니다. 예를 들어 설명자는 사람이 읽을 수 있는 설명, 특성 값의 허용 범위 또는 특성 값에 특정한 측정 단위를 지정할 수 있다.
서비스
•
서비스는 특성의 집합입니다. 예를 들어, "심박수 측정"과 같은 특성을 포함하는 "심박수 모니터"라는 서비스를 사용할 수 있습니다. 기존 GATT 기반 프로필 및 서비스 목록은 bluetooth.org에서 확인할 수 있습니다.
역할 및 책임
•
장치가 BLE 장치와 상호 작용할 때 다음과 같은 역할 및 책임이 적용됩니다.
•
중심 대 주변 장치. 이는 BLE 연결 자체에 적용됩니다. 중앙 역할의 장치가 스캔하여 광고를 찾고 주변 역할의 장치가 광고를 만듭니다.
•
GATT 서버 대 GATT 클라이언트. 이것은 두 장치가 연결을 설정한 후 서로 통신하는 방법을 결정합니다. 그 차이를 이해하기 위해, 당신이 안드로이드 폰과 BLE 장치인 활동 추적기를 가지고 있다고 상상해 보세요. 전화기는 중앙 역할을 지원하고 활동 추적기는 주변 역할을 지원합니다. BLE 연결을 설정하려면 둘 중 하나가 필요합니다. 주변 장치만 지원하는 두 가지는 서로 통신할 수 없고 중앙 장치만 지원하는 두 가지는 통신할 수 없습니다.
•
전화기와 활동 추적기가 연결되면 GATT 메타데이터를 서로 전송하기 시작합니다. 전송되는 데이터의 종류에 따라 둘 중 하나가 서버 역할을 할 수 있습니다. 예를 들어, 활동 추적기가 센서 데이터를 전화기에 보고하려는 경우 활동 추적기가 서버 역할을 하는 것이 적절할 수 있습니다. 활동 추적기가 전화기로부터 업데이트를 수신하려는 경우, 전화기가 서버 역할을 하는 것이 좋습니다.
•
이 항목에서 사용한 예에서 앱(Android 기기에서 실행 중)은 GATT 클라이언트입니다. 이 앱은 심박수 프로파일을 지원하는 BLE 심박수 모니터인 GATT 서버에서 데이터를 가져옵니다. 또는 GATT 서버 역할을 수행하도록 앱을 설계할 수 있습니다. 자세한 내용은 Bluetooth Gat 서버를 참조하십시오.