DevBytes: Bluetooth Low Energy API in Android 4.3

[음악 재생] 안녕하세요 내 이름은 Fred Chung, Android 개발자 관계의 일부입니다

오늘 우리는 Bluetooth Low Energy에 대해 이야기 할 것입니다 안드로이드 43에서, 우리는 내장 된 플랫폼 지원을 추가하고 있습니다 Bluetooth LE 새로운 Nexus 7과 Nexus 4는 처음 두 개의 Nexus입니다

Bluetooth 스마트 준비가 될 장치, 그들은 많은 블루투스 스마트와 통신 할 수 있습니다 오늘 시장에 주변 장치 오늘 샘플 애플리케이션 연습을 할 예정입니다 하지만 그 일을하기 전에, 블루투스 저에너지의 기술적 개념 API 객체를 이해할 수 있습니다 그 이름에서 알 수 있듯이, Bluetooth Low Energy는 블루투스 클래식에 비해

블루투스 저에너지 디바이스를 사용하는 것은 드문 일이 아닙니다 몇 년이 아니라도 지난 몇 주 동안 지속될 필요가 있기 전에 배터리를 충전하거나 교체하십시오 프로토콜 자체는 작은 버스트에 최적화되어 있습니다 데이터 교환은 다음과 같은 애플리케이션에 이상적입니다 센서, 리모컨 등등

반대로 블루투스 클래식은 오디오 스트리밍과 같은 고 대역폭 애플리케이션 이제 정보가 어떻게 구조화되는지 살펴 보겠습니다 BLE 응용 프로그램 BLE는 일반이라는 사양을 기반으로합니다 속성 프로파일 또는 GATT는 송수신을 제어합니다 속성으로 알려진 짧은 데이터 조각

Android 앱은 GATT 클라이언트 또는 GATT 서버 일 수 있습니다 응용 프로그램에 따라 다릅니다 GATT 서버는 서비스 콜렉션을 지원할 수 있습니다 서비스는 다음과 같은 다양한 기능으로 생각할 수 있습니다 장치

각 서비스는 UUID로 고유하게 식별됩니다 응용 프로그램에서 참조 할 수 있습니다 각 서비스 아래에 읽고 쓸 수있는 특성 BTLE 프로파일에 따른 작업 너는 함께 일하고있다 관점을 설정하려면 마음을 살펴 봅시다 속도 측정 프로파일 중 하나 인 표준 프로파일

심박수 센서는 GATT 서버입니다 이 다이어그램의 Android 앱은 GATT 클라이언트입니다 심박 센서 장치에서 호스팅되는 GATT 서버 여러 가지 서비스를 제공합니다 이 서비스 아래에는 GATT 컬렉션이 있습니다 형질

심장 박동 측정을 제공하는 장치가 있습니다 그 사실을 알리는 알림을받을 수 있습니다 당신이 읽을 수있는 센서의 위치 이제 Bluetooth Low에 대한 기본적인 이해가되었습니다 에너지 기술, 일부 코드를 살펴 보겠습니다

먼저 Android 매니페스트를 살펴 보겠습니다 androidhardwarebluetoothle이라는 새로운 기능이 있습니다 응용 프로그램이 작동하는 경우에만 선언합니다

해당 기능이있는 장치 응용 프로그램이 다음에서 작동하는 경우 생략 할 수 있습니다 장치가 없으므로 선택적으로 블루투스 저에너지를 디스 에이블한다 앱 내 기능 이제 디버깅 세션이 시작되었습니다 계속해서 스캔을 클릭하겠습니다

그래서 여기에 몇 가지 중점을 두었습니다 그것이하려고하는 것은 startLeScan 메소드 호출 API 문서에서 볼 수 있듯이 BLE 조작 메소드는 본질적으로 비동기입니다 당신은 콜백을 지정해야합니다 이벤트가 발생합니다

이 경우, 장치가 검색되면, 콜백 메소드가 호출됩니다 그래서 저는이 중단 점을지나 가게 할 것입니다 앱에서 볼 수 있듯이 몇 가지 장치를 찾으십시오 이제 심장 박동 센서를 클릭하십시오 테스트 할 테스트 키트에 해당합니다

그러니 계속 클릭하십시오 이제는 당신을 다른 활동으로 인도합니다 배경 서비스 그리고 서비스에 중단 점을 넣었습니다 그것이하려고하는 것은 GATT 서버에 연결하는 것입니다

이 메소드를 호출하여이 장치에서 호스팅되는 connectGatt 앞의 예와 마찬가지로 모든 API가 BLE가 본질적으로 비동기 인 것과 관련이 있습니다 여기에 또 다른 콜백을 전달해야합니다 이제 GATT 서버에 연결 했으므로 tryServices 메소드를 호출하려면 이용 가능한 GATT 서비스를 발견한다 이 기기에서 호스팅됩니다

이제 브레이크 포인트를 해제하십시오 이제 발견 된 서비스에 대한 콜백은 다음과 같습니다 호출되었습니다 즉, 앱이 장치에서 사용할 수 있습니다 앱이 컬렉션을 통해 반복 할 것입니다

서비스가 발견되어 UI에 표시됩니다 이것은 심박수 센서이므로, 우리는 심박수 측정 계속해서 심박수 서비스를 찾고 확장하고, 심박수 측정 특성을 볼 수 있습니다 계속해서 클릭하십시오 그것이 일어나는 이유는 그것이 특성 알림을 지원하면 공고

이제이 중단 점을 풀어 봅시다 이제 심장 박동수가 업데이트되기 시작하자마자 독서, 당신은 특성에이 콜백을 얻을거야 귀하가 통지를 받고 있음을 나타내는 변경 그래서 우리는 중단 점을 발표 할 것입니다 여기 화면에서 볼 수 있듯이 우리는 마음을 얻고 있습니다 매우 작은 텍스트로 측정 값 판독 값을 표시합니다

나는 당신이 그것을 볼 수 있는지 모른다 심장 박동수 측정 알림으로 업데이트 중입니다 주변 장치로부터 수신 자, 저는 매우 중요한 요점을 설명하고자합니다 그리고 그것은 여러분이 특정한 주변기기와의 Bluetooth LE 연결은 스택이 할 수 있도록이 close 메소드를 호출하십시오

깨끗하게 정리하고있어 이것은 연습을위한 것입니다 자세한 내용을 보려면 Bluetooth Low를 확인하십시오 dandroid

com의 에너지 개발자 가이드 시청 해주셔서 감사합니다