【问题标题】:A way to uniquely identify a BTLE device一种唯一标识 BTLE 设备的方法
【发布时间】:2013-06-30 11:50:06
【问题描述】:

有没有办法唯一标识一个 BTLE 设备(比如硬件 ID)?我有 2 个硬件 BTLE 设备和 2 个软 BTLE 设备(使用 CBCentralManager)。所有这些设备都在发送相同的 UUID。

当所有设备都在我附近时,我想确定确切的 BTLE 设备。有什么线索吗?

【问题讨论】:

  • 看到这个问题的答案会很有趣。我正在使用 BTLE 作为设备的“串行端口电缆更换”。一旦我确定一个设备在 centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral 中发送我的 UUID ...然后我连接到它并向它发送一个虚拟串行端口命令以找出它的设备 ID(一个变量我们发送了那台机器的微控制器)。然后,我将 iOS 分配给设备的 CBPeripheral uuid 与我们的设备 ID 进行匹配。

标签: ios bluetooth-lowenergy cbcentralmanager


【解决方案1】:

设备应具有唯一的蓝牙地址。如果他们不这样做,那么您将无法正确连接到他们而不会相互干扰。但是,使用 BTLE,设备可以有一个随机的隐私地址(但这些地址符合特定的模式,因此您可以检测您是否获得了这种地址)。地址为 6 个字节,通常以十六进制显示(例如 A1-B2-C3-D4-E5-F6)。前 2 个字节通常表示制造商。

更新:我的回答适用于大多数 BLE 使用,但由于问题标记为 ,您可能希望查看 this other answer about getting a unique id on ios 作为获取蓝牙地址的可能方式

【讨论】:

  • 对于这里提出的问题更重要的是,尽管 BTLE 设备应该(通常)具有唯一地址,但 iOS 拒绝向应用程序透露此信息,而是将其隐藏在手机分配的临时标识符后面,这些标识符具有没有已知的映射到它们所代表的设备的实际属性。
  • 3个字节如果是公共地址,通常表示制造商(设备或芯片),但地址也可以是随机的(静态或私有)
猜你喜欢
  • 1970-01-01
  • 2014-04-05
  • 1970-01-01
  • 2012-03-13
  • 1970-01-01
  • 1970-01-01
  • 2022-09-29
  • 2014-06-24
  • 1970-01-01
相关资源
最近更新 更多