什么可以用作特定制造商的一组蓝牙模块的唯一标识符?
What can be used as a unique identifier for a set of bluetooth modules from a specific manufacturer?
希望我的题型没有违反题型规则!
我正在编写蓝牙 iOS 应用程序来控制外围设备(蓝牙扬声器),我希望该应用程序仅识别一组独特的蓝牙模块(品牌)。
由于我首先要确定扬声器是否属于该品牌,因此我不能依赖于选择某些类型的服务,因为任何其他扬声器也可能拥有这些服务。我也不能依赖标识符名称,因为它非常肤浅且容易更改。
最接近的是UUID 32位十六进制数字的前16位代码,组织唯一标识符(OUI)。例如在下图中,使用 D42A8779-F905-BA72-80AA-3186A18D4453
的 D42A8779-F905-BA72-80AA
作为 brand 外围设备标识符是好的做法吗?
如果没有,我还能依靠什么?
CBPeripheral
的标识符对于扫描它的 iOS 设备是唯一的。不是蓝牙外设本身发送的https://developer.apple.com/documentation/corebluetooth/cbpeer/1620687-identifier
当然,如果您想要做的不仅仅是音频,那么其中一项服务 UUID 将是该设备唯一的吗?
您也许还可以通过查看广告数据来识别,特别是制造商数据:https://developer.apple.com/documentation/corebluetooth/cbadvertisementdatamanufacturerdatakey
这是 CBCentralManagerDelegate
didDiscover
回调的一部分 https://developer.apple.com/documentation/corebluetooth/cbcentralmanagerdelegate/1518937-centralmanager
希望我的题型没有违反题型规则!
我正在编写蓝牙 iOS 应用程序来控制外围设备(蓝牙扬声器),我希望该应用程序仅识别一组独特的蓝牙模块(品牌)。
由于我首先要确定扬声器是否属于该品牌,因此我不能依赖于选择某些类型的服务,因为任何其他扬声器也可能拥有这些服务。我也不能依赖标识符名称,因为它非常肤浅且容易更改。
最接近的是UUID 32位十六进制数字的前16位代码,组织唯一标识符(OUI)。例如在下图中,使用 D42A8779-F905-BA72-80AA-3186A18D4453
的 D42A8779-F905-BA72-80AA
作为 brand 外围设备标识符是好的做法吗?
如果没有,我还能依靠什么?
CBPeripheral
的标识符对于扫描它的 iOS 设备是唯一的。不是蓝牙外设本身发送的https://developer.apple.com/documentation/corebluetooth/cbpeer/1620687-identifier
当然,如果您想要做的不仅仅是音频,那么其中一项服务 UUID 将是该设备唯一的吗?
您也许还可以通过查看广告数据来识别,特别是制造商数据:https://developer.apple.com/documentation/corebluetooth/cbadvertisementdatamanufacturerdatakey
这是 CBCentralManagerDelegate
didDiscover
回调的一部分 https://developer.apple.com/documentation/corebluetooth/cbcentralmanagerdelegate/1518937-centralmanager