我正在寻找一种通过BTLE区分硬件设备的方法。我非常开放地使用任何系统(Estimote,Gimbal等),但是我需要在握手之前找到一种识别设备的方法。
例如:如果在一个区域中有20个启用BTLE的设备,我想在任何广播之前唯一地识别它们。
发布于 2014-05-07 17:35:30
标准iBeacons正是这样做的。他们广告唯一的三部分标识符(邻近UUID/主要/小调),不需要握手来读取。它可以在iOS、Android、Mac和Linux平台上检测到。三部分标识符在BLE广告中以清除方式发送。
有关此广告格式的更多详细信息,请参见:What is the iBeacon Bluetooth Profile
无耻的插头:我的公司生产的信标和服务可以与任何标准的iBeacon一起工作,并且可以与其他供应商的产品(也是标准的iBeacons )互换。有关我们的信标和服务的更多信息可以在这里获得:http://www.radiusnetworks.com
发布于 2014-05-21 15:58:02
听起来你想提前知道UUID和哪个硬件供应商匹配,所以如果你看到你能不能说“嘿,这是Gimbal!”或者“嘿,这是盖洛!”
在大多数情况下,你可以不在乎大调和小调。你对UUID最感兴趣。这意味着您需要扫描所有这些UUID,然后查看CoreLocation范围内的外围设备,以查看它属于哪个产品系列。
其中一个问题是,一些供应商使用旋转UUID方案来减少与信标欺骗相关的安全风险。这将对识别他们的硬件设备提出挑战。
另一个你可能遇到的问题是,听起来像是在你看到你想要停止监听的设备(或者是中央扫描)之后,然后转过身去广播(作为外围设备)。这意味着你会经常在这两个角色之间来回切换。
还不完全清楚你想要做什么,所以希望这在某种程度上是有帮助的。
https://stackoverflow.com/questions/23523394
复制相似问题