현재 위치 - 회사기업대전 - 기업 정보 공시 - Bluetooth 저전력 (BLE) 개요

Bluetooth 저전력 (BLE) 개요

Android 4.3(API Level 18) 은 Bluetooth Low Energy(BLE, 저전력 bluetooth) 의 핵심 기능을 도입하기 시작하고 어플리케이션이 bluetooth 장치를 검색하고 서비스를 쿼리하는 API 를 제공합니다

GATT 를 자세히 소개하기 전에 디바이스 연결 및 브로드캐스팅을 제어하는 데 사용되는 GAP(Generic Access Profile) 를 알아야 합니다. GAP 는 다른 장치에서 장치를 볼 수 있게 하며, 장치가 계약 장치와 상호 작용할 수 있는지 또는 상호 작용할 수 있는지를 결정합니다. 예를 들어, Beacon 장치는 외부방송만 하고 연결은 지원하지 않으며, 샤오미 팔찌 등은 중앙 장치와 연결할 수 있습니다.

GAP 는 주변 장치 (Peripheral) 와 중앙 장치 (Central) 의 두 가지 주요 역할을 디바이스에 정의합니다.

GAP 의 주변 장치는 브로드캐스트 데이터 (Advertising Data Payload) 와 스캔 응답 (Scan Response Data Payload) 의 두 가지 방법으로 데이터를 바깥쪽으로 브로드캐스팅합니다. 각 데이터는 최대 31 byte 까지 포함할 수 있습니다. < P > 여기서 데이터를 브로드캐스팅하는 것은 필수적이다. 주변 장치가 끊임없이 바깥으로 브로드캐스팅되어 중앙 장비에 그 존재를 알려야 하기 때문이다. 스캔 응답은 선택 사항이며 중앙 장치는 주변 장치로부터 스캔 응답을 요청할 수 있습니다. 여기에는 장치 이름과 같은 일부 장치에 대한 추가 정보가 포함되어 있습니다.

GAP 의 브로드캐스트 워크플로우는 다음과 같습니다.

주변 장치는 각 브로드캐스트 간격마다 자체 브로드캐스트 데이터를 재전송하는 브로드캐스트 간격을 설정합니다. 브로드캐스트 시간이 길수록 전력 효율이 높아지고 스캔하기가 쉽지 않습니다. < P > 대부분의 경우 주변 장치는 자신을 브로드캐스트하여 중앙 장치가 자신을 발견하고 더 많은 데이터 교환을 위해 GATT 연결을 설정할 수 있도록 합니다. < P > 주변 장치가 자신의 데이터를 브로드캐스트하는 한 연결할 필요가 없는 경우도 있습니다. 이런 방식의 주된 목적은 주변 장치가 자신의 정보를 여러 중앙 장치로 보내도록 하는 것이다. GATT 연결 방식 때문에 하나의 주변 장치만 하나의 중앙 장치에 연결할 수 있습니다. 방송을 사용하는 가장 일반적인 응용은 애플의 iBeacon 이다. 브로드캐스트 작동 모드의 네트워크 토폴로지는 다음과 같습니다. < P > 이 블로그 보기

GATT 의 전체 이름은 Generic Attribute Profile 입니다. 이는 두 개의 BLE 장치가 Service 와 Characteristic 이라는 것을 통해 통신하도록 정의합니다. GATT 는 ATT(Attribute Protocol) 프로토콜을 사용하고, ATT 프로토콜은 Service, Characteristic 및 해당 데이터를 조회 테이블에 저장하며, 2 차 조회 테이블은 각 항목의 색인으로 16 bit ID 를 사용합니다. < P > 두 디바이스가 연결되면 GATT 가 작동하기 시작합니다. 즉, 이전 GAP 프로토콜을 완료해야 합니다. 여기서 설명해야 할 것은 GATT 연결이 먼저 GAP 프로토콜을 거쳐야 한다는 것이다. 실제로 Android 개발에서는 디바이스의 MAC 주소를 직접 사용하여 연결을 시작할 수 있으며 스캔 단계를 거치지 않아도 됩니다. 그렇다고 GAP 를 통과할 필요가 없다는 뜻은 아닙니다. 사실 칩 수준에서 이미 준비되어 있습니다. Bluetooth 칩은 연결을 시작하고, 항상 먼저 장치를 스캔하고, 스캔해야 연결을 시작할 수 있습니다.

GATT 연결은 GATT 연결이 배타적이라는 점에 유의해야 합니다. 즉, BLE 주변 장치는 동시에 하나의 중앙 장치로만 연결할 수 있습니다. 주변 장치가 연결되면 즉시 방송을 중지하여 다른 장치에 보이지 않게 합니다. 장치가 끊어지면 다시 방송을 시작합니다. < P > 중앙 장치와 주변 장치에 양방향 통신이 필요한 경우 유일한 방법은 GATT 연결을 설정하는 것입니다.

다음 그림은 GTT 연결 네트워크 토폴로지를 보여줍니다. 여기에는 하나의 주변 장치는 하나의 중앙 장치에만 연결할 수 있고 하나의 중앙 장치는 여러 주변 장치를 연결할 수 있다는 것이 분명합니다. Connected Topology 가 연결되면 통신은 양방향이며, 이전 GAP 방송의 네트워크 토폴로지와 비교하면 GAP 통신은 단방향입니다. 만약 네가 두 설비 주변 장치가 통신할 수 있게 하려면, 중앙 설비를 통해서만 중계할 수 있다.

GATT 통신의 양 당사자는 C/S 관계입니다. 주변 장치는 ATT 서버 (Server) 로서 ATT 의 조회 테이블과 service 및 characteristic 의 정의를 유지합니다. 중앙 디바이스는 서버에 요청을 시작하는 GATT 클라이언트 (Client) 입니다. 모든 통신 이벤트는 클라이언트 (마스터 디바이스, 마스터라고도 함) 에 의해 시작되고 서버 측 (슬레이브 디바이스, 슬레이브라고도 함) 의 응답을 받는다는 점에 유의해야 합니다.

연결이 설정되면 주변 장치는 중앙 장치에 연결 간격 (Connection Interval) 을 제안하여 중앙 장치가 각 연결 간격마다 재연결을 시도하여 새 데이터가 있는지 확인합니다. 하지만 이 연결 간격은 단지 제안일 뿐이며, 중앙 장비가 다른 주변 장치를 연결하느라 바쁘거나 중앙 장비 자원이 너무 바쁜 경우와 같이 이 간격에 따라 엄격하게 실행되지 않을 수도 있습니다.

아래 그림은 주변 장치 (GATT 서버) 와 중앙 장치 (GATT 클라이언트) 간의 데이터 교환 프로세스를 보여 주며, 매번 운영 디바이스가 요청을 시작하는 것을 볼 수 있습니다.

copyright 2024회사기업대전