2015-08-27 46 views
2

我一直在使用BLE設備進行物聯網解決方案。斷開BLE節點後,我有一個將BLE節點重新連接到SBC的問題。如何在bt 4.0加密狗中禁用藍牙經典

案例:我總是必須使用​​進行掃描,然後運行我的bluepy python應用程序以通過BLE請求數據。 在這個時候,我可以斷開BLE節點並在15秒內重新連接它。但是如果我再等一段時間,我又需要運行lescan cmd,然後運行我的bluepy應用程序來進行連接和通信。 我只是想在我運行晦澀難懂的應用程序之前每次都消除掃描部分。 我可以知道當我執行lescan cmd後究竟發生了什麼,之後bluepy應用程序開始與我的ble節點通信?

我推測,萊斯康CMD將加密狗切換到均衡器模式,並試圖通過設置標誌使用
sudo hcitool -i hci0 cmd 0x08 0x0008 1e 02 01 16 1a保持均衡器模式爲默認值(改變1A至16每個線程How to set bluez mode?

我要的是使用可調設備mac ID運行blupy應用程序,並開始通信而不需要重新掃描。

在此先感謝

+0

StackOverflow **嚴格**可用於**軟件編程**問題,而不是硬件。我建議在StackExchange中遷移到另一個平臺 –

回答

0

我發現了一個解決方案,我用小 - [R & d努力尋找。下面的腳本是模擬hcitool lescan命令。注意最後一個cmd必須註釋,以便hci0(BT 4.0設備)不會退出le模式。

============================================== =================

回聲 「hci0向上」

須藤hciconfig hci0向上

回聲「*****設置hci0作爲主* ****」

須藤hciconfig hci0流明MASTER

回聲 「*****設置萊斯康狀態*****」

須藤hcitool -i hci0 CMD 0x08的0x000b 01 10 00 10 00 00 00

須藤hcitool -i hci0 CMD 0x08的0x000c 01 01

回聲「*****禁用萊斯康***** 「 須藤hcitool -i hci0 CMD 0x08的0x000c 00 00

(你可以發表評論上述命令留在LE模式,因此禁止BT經典模式)

============ ================================================

您可以使用hcidump -R爲發出的lescan命令驗證上述cmd值,以在2個不同的終端進行掃描。