如何理解从 bluez + pydbus 发现中检索到的制造商数据?

How to make sense of the Manufacturer Data retrieved from bluez + pydbus discovery?

我用 pydbus 和 bluez 编写了一个简单的 python 脚本,运行 它在 raspberry pi 上发现附近的设备及其信息。对于某些问题,我无法在此处提供脚本。

发现后我将能够收集设备列表,每个设备如下所示:

{'Address': '66:FB:0B:FC:82:57', 'AddressType': 'random', 'Alias': '66-FB-0B-FC-82-57', 'Paired': False, 'Trusted': False, 'Blocked': False, 'LegacyPairing': False, 'RSSI': -94, 'Connected': False, 'UUIDs':[], 'Adapter': '/org/bluez/hci0', 'ManufacturerData': {76: [16, 5, 7, 24, 186, 175, 161]}, 'TxPower': 12, 'ServicesResolved': False}

我想知道如何理解键 'ManufacturerData' 的值? 我目前知道第一个数字代表公司标识符,在这种情况下,“76”表示它是来自 Apple Inc. 的设备。但我不知道如何理解后面的数字 [16, 5, 7, 24, 186, 175, 161].

是否有官方 specification/doc 提供解密这些数字的指南?

非常感谢

制造商特定数据用于在广告中包含自定义数据。数据由记录的 ​​company identifier 标识,但数据字段中的数据结构可由制造商自由定义。

制造商数据是用于 BLE 信标的字段之一,一些更流行的格式记录在以下“作弊 sheet”中: https://twitter.com/josryke/status/763006284052463617