【发布时间】:2014-05-19 13:08:54
【问题描述】:
我有一个与 iOS 设备通信的 BLE 模块。
我想使用 iBeacon(因此使用 iBeacon 广告数据包)和 - 显然 - 使用 CoreBluetooth 进行连接(和数据交换)来执行发现,但存在一些问题。
在描述问题之前,我必须告诉你,我需要在发现阶段提供这些信息:
序列号(内部需要) - 6 个字符和 10 数字。
一个“硬件版本”来指定它是什么类型的产品(每个产品 使用不同的协议)。
我遇到的问题基本上是如何执行发现阶段,然后连接到特定的发现对象:
A.在 iBeacon adv 数据包中,我应该使用 UUID 字段进行串行 硬件版本的数字和主要/次要字段,但如果我这样做, 设备将基本上不可发现(iBeacon SDK for iOS 在开始监控之前需要知道要查找的 UUID 相位,因此每个设备都不能不同)。
B.在 iOS 中,iBeacon 功能可通过 CoreLocation 库获得, 标准 BLE 功能可通过 CoreBluetooth 获得。 如果我使用 iBeacon 广告数据包,则发现的对象 CoreBluetooth 库看不到包的任何信息 (所以,问题是:“我怎么知道哪个是串行的对象 XYZ?”)。
【问题讨论】:
标签: core-location bluetooth-lowenergy core-bluetooth ibeacon discovery