使用MAC ios

时间:2016-09-08 10:50:24

标签: ios objective-c macos bluetooth-lowenergy objective-c-2.0

我正在开发iOS应用程序(Objective-C)。

我正在寻找一种连接BLE设备的方法,以便您可以指定此设备的MAC或UUID。

目前我有两个名称相同的BLE设备,因此应用程序无法区分两者,这会产生很多问题(这些设备没有相同的功能)。

连接到BLE设备时有没有办法指定MAC或UUID?

2 个答案:

答案 0 :(得分:1)

RSSI信号强度发现区分两个或更多设备。 如果UUID从外设获得一次,那么也可以区分外围设备。

注意:iOS不允许读取外设的MAC地址。

答案 1 :(得分:0)

该设备的MAC不可用,任何其他特别有用的标识符也不可用。但是,由于“这些设备不具有相同的功能”,因此它们应具有其宣传的不同服务。调用scanForPeripherals(withServices:options :)时,您应该传递您感兴趣的特定服务。这对于性能而言要好得多,并且还将自动过滤出您不感兴趣的设备。为serviceUUID传递nil仅应通用BLE扫描器即可完成。

如果控制设备固件,则可以添加服务以标识设备的类型,或者在制造商的广告数据中添加信息以在扫描期间区分设备。

如果这些设备宣传相同的服务,但在其他方面相同,那么您将需要同时连接这两者并查询它们以确定所需的设备。但是,除非设备通过某种特性提供它,否则您仍然不会收到MAC。

通常,给定设备将继续具有相同的CBP外围设备UUID,并且可用于重新连接到先前已知的设备。但是,如果设备从不安全配对,则该UUID也不总是稳定的。