如何获得蓝牙低耗能设备的实际名称?

问题描述:

我需要从ble传感器获取友好的设备名称。例如,我想找到设备并告诉用户他们已连接到“我的家庭传感器”。我可以找到该设备,但我不知道如何找到该数据。如何获得蓝牙低耗能设备的实际名称?

在普通的蓝牙中,我相信我可以使用BLUETOOTH_DEVICE_INFO或winsock。 有蓝牙低能量等效于蓝牙的BLUETOOTH_DEVICE_INFO吗? 如果可能,您能否提供一个如何获取信息(例如设备名称)的例子?

我使用Windows 8.1,C++和visual studio 2013.我一直在引用windows dev文档,但是我还没有找到任何有用的东西。

谢谢!

假设您能够连接到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