2014-12-04 4 views
3

두 개의 Android BLE 기기를 페어링하기 위해 NFC를 사용하려고합니다. 나는 Bluetooth Secure Simple Pairing Using NFC라고 불리는 NFC 포럼 & BT SIG에서 발표 된 최신 사양을 따랐으며 정적 핸드 오버에 관심이 있습니다. 이것은 하나의 장치로 NEF 태그 (위의 사양에 따라 포맷 됨)에 NDEF 메시지를 작성한 다음 다른 태그가이 태그를 읽고 BLE 쌍을 시작하기위한 정보를 유지한다는 것을 의미합니다. Android 4.4.2를 사용하고 있습니다. 이 접근법은 블루투스에서 잘 작동하며, 핸드 오버를 관리 할 특정 앱이 없어도 안드로이드가 작동합니다!Android에서 NFC로 BLE 페어링

그러나 BLE의 경우이 방법은 작동하지 않습니다. 나는이 문제가 MIME 형식과 관련되어있어서 NDEF 메시지로 작성한다고 생각한다. Bluetooth의 경우 application/vnd.bluetooth.ep.oob이고 BLE의 경우 application/vnd.bluetooth.le.oob입니다. 장치/태그를 탭하면 Android에서 BLE MIME 유형의 새 태그가 있음을 감지하지만 아무런 작업도 수행하지 않고 알 수없는 MIME 유형처럼 '새 태그 수집'화면 만 표시합니다. 나는 NFC Forum 사양이 2014-01-09에 발표되었고 Compatibility document for Android 4.4에는 BLE 핸드 오버에 대한 언급이없고 단지 블루투스에 대한 언급이 없다는 것을 알았습니다.

NFC에 의한 BLE 페어링이 Android 4.4에서 지원되고 작동하는지 아는 사람이 있습니까? 그리고 안드로이드 5?

답변

2

Android 5를 실행하는 Nexus 6에서 NFC/BLE 핸드 오버를 테스트했으며 MIME 유형 application/vnd.bluetooth.le.oob이 인식되었습니다. 따라서 제한은 Android 버전입니다 ...

+0

어떻게했는지 공유해 주시겠습니까? – shreyashirday

+1

@shreyashirday 간단하게 [application/vnd] 문자열을 전달하여 [createMime \ (mimeType, mimeData \)] (http://developer.android.com/reference/android/nfc/NdefRecord.html) 함수에 의해 NdefRecord를 생성했습니다. bluetooth.le.oob'을 mimeType으로 설정하십시오. mimeData (페이로드)는 몇 가지 옵션에 따라 다르며 위의 문서 [\ (NFC를 사용하는 Bluetooth Secure Simple Pairing)] (http://members.nfc-forum.org/apps/group_public/download)에서 자세한 내용을 확인할 수 있습니다. php/18688/NFCForum-AD-BTSSP_1_1.pdf). 32 페이지에는 또한 예가 있습니다 (페이롤 내용은 LE 주소 필드에서 시작합니다). – Mirky89

+0

@shreyashirday 그러나 유일한 필수 페이로드 필드는 BLE MAC 주소와 노드의 BLE 역할입니다. 그런 다음 NdeRecord를 [NdefMessage] (http://developer.android.com/reference/android/nfc)로 전달할 수 있습니다./NdefMessage.html) 생성자를 사용하여 NdefMessage를 태그에 쓰기 가능하게 만듭니다. 이렇게하면 Android 5+ 장치로 포맷 된 태그를 탭하면 NDEF 메시지가 자동으로 BLE 핸드 오버 요청으로 인식됩니다. – Mirky89

0

특성을 읽으려면 해당 속성의 읽기 방법을 사용해야합니다. SDK 4.3과 함께 제공되는 샘플은 잘 작동합니다. 삼성을 제외한 다른 모든 장치에도 연결 문제가 있습니다.

관련 문제