【问题标题】:Bluetooth Low Energy unique identifier低功耗蓝牙唯一标识符
【发布时间】:2013-07-04 13:45:13
【问题描述】:

我正在寻找可用于 iOS 蓝牙低功耗设备的唯一 ID。 我有 10 个设备,我把它放在 10 个不同的地方。无论我用来连接的 iOS 设备如何,我都需要知道我正在与哪个设备通信。

在 iOS 核心蓝牙中,iOS 为我的设备分配了一个新的 UUID。我无法唯一识别设备。

【问题讨论】:

标签: ios bluetooth-lowenergy ios7


【解决方案1】:

我已使用外围设备的 MAC 地址在 SCAN RESP 中生成唯一名称。我想您也可以使用这种方法,也可以将其放入广告数据或消息中。 (我的外设基于 TI 的 2540 SoC。)

【讨论】:

  • 一开始你是怎么得到BLE外设的MAC地址的?您能否分享生成唯一名称的过程?
  • 我想这取决于 BLE 堆栈是否可以访问 MAC 地址。如上所述,我的堆栈是基于 TS2540 的。很抱歉,我无法再访问代码。但对于 TI 的 BLE 堆栈来说,这相当简单。请注意,您无法从 iOS CoreBluetooth 获取 MAC 地址。干杯! :)
【解决方案2】:

据我所知,MAC/BDADDR 无法通过 CoreBluetooth 访问,但我注意到“设备信息服务”配置文件 (0x180A) 包含一个“系统 ID”属性 (0x2A23),该属性对设备的唯一 MAC/BDADDR 地址进行编码。但是,我不知道 BLE 设备是否必须公开此服务。

【讨论】:

    【解决方案3】:

    在 CLBeacon 中使用主要和次要属性。两者都是 4 个字符的十六进制值。

    它们位于带有 UUID 的广告数据中。

    更多信息: https://developer.apple.com/library/ios/documentation/CoreLocation/Reference/CLBeacon_class/Reference/Reference.html#//apple_ref/occ/instp/CLBeacon/major

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-23
      • 2018-10-12
      • 2012-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多