我正在学习蓝牙(和LE),并且正在为Windows 10编写简单的桌面应用程序,以与各种BLE健身设备进行通信。
我已启动并运行蓝牙,可以发送和接收数据,但是我有一个小问题;有时我无法从“制造商名称字符串”中获得正确的制造商名称。我需要了解制造商,以便可以将制造商特定的命令发送到设备。 该问题似乎与不同的计算机硬件和/或驱动程序有关,因为该问题仅发生在我的朋友计算机上,而不发生在我的计算机上。我使用的设备不支持“ PnP ID”和“系统ID”,因此我无法使用这些设备获取所需的信息。
我还在某个地方读到我可以使用MAC地址来了解制造商的信息,但是我使用的设备没有以可用于获取公司标识符的格式给我地址。
我还能使用什么来获取制造商名称和/或代码?
答案 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/