2016-01-13 110 views
1

我正在嘗試使用藍牙低耗能將我的Nexus 5(Android 6.0.1)智能手機連接到我的臺式計算機(Ubuntu 15.04 64位BlueZ 5.36)。 我使用帶CSR BC8510芯片組的BT 4.0 USB適配器。如何讓Android BLE連接到Bluez外設? (連接問題)

安裝程序確實在兩天前纔開始工作。 然後我切換到Broadcom USB加密狗,並開始變得不穩定。 連接變得緩慢並開始失敗。 即使我切換回CSR加密狗和不同的Ubuntu機器(仍然使用相同的Android設備),它現在不再工作了。 但是,接收廣告數據包並沒有受到影響,仍然有效。 我的項目使用Android Beacon Library並不斷掃描BLE廣告數據包。

的最小安裝,它不適合我的工作 - 但應該在我的opinion--如下:

讓做廣告的BlueZ使用下面的腳本:

# Set advertising data (AltBeacon format). 
sudo hcitool -i hci0 cmd 0x08 0x0008 1F 02 01 02 1B FF 00 00 BE AC 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 BC 00 

# Set advertising interval. 
sudo hcitool -i hci0 cmd 0x08 0x0006 A0 00 A0 00 00 00 00 00 00 00 00 00 00 07 00 

# Start advertising. 
sudo hcitool -i hci0 cmd 0x08 0x000a 01 

# Run Bluez example gatt server. 
./test/example-gatt-server 

啓動BLE的掃描儀,例如this one。它收到廣告數據包並列出外圍設備,但試圖連接失敗。

到目前爲止,我試過

  • 不同的BlueZ版本
  • 不同的Linux機器從谷歌
  • 不同BLE掃描儀應用Play商店
  • 拔出並重新插入加密狗
  • 重啓都Ubuntu和Android
  • 重置網絡設置甚至出廠重置Android

使用BlueZ btmon工具在嘗試連接時,我看不到HCI流量。 這讓我猜這個問題在我的BlueZ HCI配置或Android或我的Android硬件中。 我還沒有嘗試不同的Android設備,但我會盡快做到這一點。

有沒有人有類似的問題或知道如何在更深層次上進行調試? 非常感謝。

回答

0

你有沒有運氣來解決這個問題?我認爲連接參數(目前爲止不可能來自用戶空間bluez),如果配置好了,應該能夠解決問題。我可以用bluez看到,android應用程序在與GATT連接時立即斷開連接。

0

我有類似的問題。這裏是我做了

進度確保Android是用於連接只在BLE模式:

mBluetoothGatt = device.connectGatt(this, false, mGattCallback, TRANSPORT_LE); 

嘗試從非Android設備第一連接(這是我卡上的部分)