如何获得蓝牙低功耗制造商的名称

时间:2018-11-09 11:55:47

标签: bluetooth windows-10 bluetooth-lowenergy

我正在学习蓝牙(和LE),并且正在为Windows 10编写简单的桌面应用程序,以与各种BLE健身设备进行通信。

我已启动并运行蓝牙,可以发送和接收数据,但是我有一个小问题;有时我无法从“制造商名称字符串”中获得正确的制造商名称。我需要了解制造商,以便可以将制造商特定的命令发送到设备。 该问题似乎与不同的计算机硬件和/或驱动程序有关,因为该问题仅发生在我的朋友计算机上,而不发生在我的计算机上。我使用的设备不支持“ PnP ID”和“系统ID”,因此我无法使用这些设备获取所需的信息。

我还在某个地方读到我可以使用MAC地址来了解制造商的信息,但是我使用的设备没有以可用于获取公司标识符的格式给我地址。

我还能使用什么来获取制造商名称和/或代码?

3 个答案:

答案 0 :(得分:2)

如果广告数据包含制造商数据记录,则可以在此处查找16位制造商ID:

https://www.bluetooth.com/specifications/assigned-numbers/company-identifiers

答案 1 :(得分:0)

由于许多BTLE设备出于隐私原因使用随机MAC地址,因此查找MAC地址可能非常不可靠。

但是,还存在单个BTLE特征的UUID,其中包含制造商代码。请参阅此处以获取列表:sys.path(请注意,这适用于缩短的16位UUID,不适用于完整的128位UUID)。

答案 2 :(得分:0)

考虑到大多数健身设备都遵循GATT规范,因此0x2A29 uuid对应于org.bluetooth.characteristic.manufacturer_name_string。

https://www.bluetooth.com/specifications/gatt/characteristics/