2015-05-02 51 views
0

根據我的研究,這很可能是由於錯誤的UUID或因爲我的PC不支持SPP。無法使Android手機和PC之間的客戶端服務器藍牙串行連接

我的SG4用作服務器,而PC用作客戶端。 當我使用標準的串行UUID時,我的android代碼永遠不會在.connect()之後執行。

我以爲我通過這樣做來修復它:mmDevice.getUuids(),然後使用其中一個UUID。是的,它已經執行了進一步的代碼。然而,後來我發現它沒有建立串行連接,但有一些不同的連接。

CODE:

// ParcelUuid[] list = mmDevice.getUuids(); 
// UUID uuid = UUID.fromString(list[0].toString()); 
UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"); //Standard SerialPortService ID 
mmSocket = mmDevice.createRfcommSocketToServiceRecord(uuid); 
mmSocket.connect(); 
mmOutputStream = mmSocket.getOutputStream(); 

該數組list包含了這些的UUID:

00001105-0000-1000-8000-00805f9b34fb 
00001106-0000-1000-8000-00805f9b34fb 
0000111b-0000-1000-8000-00805f9b34fb 
00001115-0000-1000-8000-00805f9b34fb 

這是否意味着我的電腦不支持串行連接還是什麼?我正在使用Windows 8.

回答

1

支持串行連接的SPP配置文件與您的操作系統無關,但在您的PC中安裝了藍牙模塊。

知道你的系統是Windows 8,我猜你的電腦是相對新的,所以肯定會出現不支持SPP的新藍牙模塊。

,您仍然可以使用隨SPP輪廓像華碩藍牙BT 211

+0

哇,我認爲你是對的......並且我花了10個小時試圖弄清楚什麼是錯誤的......你知道我的鼠標加密狗是否可以像你推薦的藍牙USB加密狗一樣工作嗎?非常感謝。 –

+1

我幾乎沒有這樣想。鼠標驅動程序不希望在您的計算機上創建COM端口,因此即使它支持該配置文件,也不會看到數據出來。 我最近在想如何在新的藍牙中發送沒有SPP的串行數據。我想一些新的配置文件應該支持這種溝通。 也許這有助於:https://devzone.nordicsemi.com/question/71/is-there-a-serial-port-profile-for-ble/ –

1

PC和Android設備通常不做廣告的SPP服務配置文件,直到它已被正確先前建立的外置藍牙USB適配器,無論是與配對的遠程設備或本地應用程序配合使用。這是有道理的,因爲當未知數據流開始以無線方式進入時,PC或Android不知道該怎麼做。

PC與SPP設備配對後,通常會分配一個虛擬COM端口。有時,SPP服務未啓用,直到打開COM端口。

Android設備需要應用程序來打開SPP服務並註冊偵聽器。

相關問題