2015-10-13 117 views
4

我需要從ble傳感器獲取友好的設備名稱。例如,我想找到設備並告訴用戶他們已連接到「我的家庭傳感器」。我可以找到該設備,但我不知道如何找到該數據。如何獲得藍牙低耗能設備的實際名稱?

在普通的藍牙中,我相信我可以使用BLUETOOTH_DEVICE_INFO或winsock。 有藍牙低能量等效於藍牙的BLUETOOTH_DEVICE_INFO嗎? 如果可能,您能否提供一個如何獲取信息(例如設備名稱)的例子?

我使用Windows 8.1,C++和visual studio 2013.我一直在引用windows dev文檔,但是我還沒有找到任何有用的東西。

謝謝!

回答

4

假設您能夠連接到GATT服務器,當您解析設備的GAP配置文件時,您將在通用訪問配置文件(GAP)下找到設備名稱的屬性。 UUID for GAP is 0x1800,以及Device Name Characterstic is 0x2A00This page解釋設備名稱特性是GAP的一部分。

+0

好的,我想我可以做到這一點。我有一個可以迭代的服務緩衝區。所以,我需要遍歷服務緩衝區,直到找到GAP服務,爲GAP服務創建一個特徵緩衝區,然後遍歷該緩衝區,直到找到特徵0x2A00? – JustBlossom

+0

邏輯上,是的。不幸的是,我不是一個android/iOS/Windows開發人員,所以我不能告訴你要使用的確切對象或描述符和方法。但我的合作開發者會以同樣的方式去做。 – WedaPashi

+0

FWIK還有一件事,即使您未連接,您也可以訪問GAP服務,因爲GAP是由BLE Slave設備(GATT服務器)發送的廣告數據包的一部分 – WedaPashi