2012-12-28 1 views
6

최근 안드로이드에서 블루투스로 작업하기 시작했습니다. 블루투스를 통해 센서가 기록한 데이터를 읽을 수있는 응용 프로그램을 만들고 싶습니다.Android 특정 블루투스 기기의 UUID 찾기

내가 몇 가지 예제 코드를 가지고,하지만 난 다른 device.It의 또 다른 UUID는 다음과 같습니다 필요 같습니다 나중에 코드에서

private static final UUID MY_UUID = UUID 
       .fromString("00001101-0000-1000-8000-00805F9B34FB"); 

를, 그것은 연결을이 UUID를 사용

tmp = device.createRfcommSocketToServiceRecord(MY_UUID); 

저는 [여기] [1]처럼 온라인에서 몇 가지 연구를했습니다. 내가 작업하고있는 새 장치에 대해 다른 UUID 번호가 필요하다고 생각합니다. UUID 번호를 얻으려면 어떻게해야합니까?

SN : 1201L0023
BT : 10 : 00 : E8 : C5 : 16 : 사전에 85

감사

장치에

, 말 수의 두 줄이있다!

제이크

답변

11

UUID는 특정 장치에 연결되어 있지 않습니다. 소프트웨어 서비스를 식별합니다. 정의 된 프로파일에 대한 일부 UUID는 BT에 의해 설정됩니다. 귀하의 예제와 같은 RFCOMM 소켓과 함께 사용되는 UUID는 임의적입니다. 같은면을 사용하려면 양면이 필요합니다. 일반적으로 장치는 연결하고 서비스 검색 프로토콜을 사용하여 원격 장치에서 지원되는 서비스 (UUID)를 찾습니다.

+0

"00001101-0000-1000-8000-00805F9B34FB"가 가장 일반적인 UUID라고 생각합니다 (여기에 따르면 : http://developer.android.com/reference/android/bluetooth/BluetoothDevice.html#createRfcommSocketToServiceRecord% 28java.util.UUID % 29) 나는 대답에서 "같은 것을 사용하는 데 양면이 필요함"을 이해하지 못합니다. 응용 프로그램을 실행하는 전화와 데이터를 수집하는 센서가 동일한 UUID를 갖는 것을 어떻게 확인합니까? 답장을 보내 주셔서 감사합니다 –

+4

SPP (직렬 포트 프로필) 용 유일한 UUID입니다. 센서가 SPP를 구현하면 해당 UUID를 사용합니다. 그러나 장치는 SPP를 수행하지 않고 RFCOMM 소켓을 사용할 수도 있습니다.이 경우 UUID는 임의적 일 수 있습니다. 답변은 센서 설명서에 나와 있습니다. – TJD

+0

도움 주셔서 감사합니다! –