什么可以用作来自特定制造商的一组蓝牙模块的唯一标识符?

问题描述 投票:1回答:1

我希望我的问题类型不违反问题类型规则!

我正在编码一个蓝牙iOS应用程序以控制外围设备(蓝牙扬声器),我希望该应用程序仅识别一组独特的蓝牙模块(品牌)。

由于我首先要确定说话者是否是品牌的一部分,所以我不能依靠获得某些类型的服务,因为任何其他说话者也可以使用它们。我也不能依靠标识符名称,因为它非常肤浅并且易于更改。

我最接近的是UUID 32位十六进制数字的前16位代码,组织唯一标识符(OUI)。例如,在下面的图像中,将D42A8779-F905-BA72-80AAD42A8779-F905-BA72-80AA-3186A18D4453用作brand外围设备标识符是否是一种好习惯?

enter image description here

如果没有,我可能依靠什么?

ios uuid core-bluetooth bluetooth-peripheral
1个回答
0
投票

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的一部分>

© www.soinside.com 2019 - 2024. All rights reserved.