2012-12-28 21 views
6

最近AndroidでBluetoothを使い始めています。 センサーで記録されたデータをブルートゥースで読み取ることができるアプリケーションを構築したいと考えています。Android特定のBluetoothデバイスの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

おかげ

デバイスで

、言っ数の2行があります!

Jake

答えて

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

あなたの助けてくれてありがとう! –

関連する問題