是否有可能在iOS 6中获得蓝牙MAC和/或信号强度?

时间:2012-11-01 12:45:33

标签: ios bluetooth triangulation core-bluetooth

我正在开发一种在室内定位iPhone的系统。我正在考虑使用基于信号强度的蓝牙三角测量。

  1. 是否有可能在iOS 6上获得附近蓝牙设备的信号强度?
  2. 是否可以获取手机的蓝牙MAC(这样我就可以识别手机并从另一侧进行信号强度测量)
  3. 根据蓝牙三角测量计算iPhone位置的其他想法吗?
  4. 这是一个餐馆类型的应用程序。餐厅想知道电话/应用程序在哪个桌子上。

1 个答案:

答案 0 :(得分:8)

如果您的iOS设备支持蓝牙LE,您可以轻松获取它与传感器站之间的RSSI,以及用于识别设备的UUID。如果您在传感器端使用正确的软件,也可以读取MAC地址,但我不认为Core Bluetooth以与RSSI和UUID相同的方式公开此信息。

如果使用蓝牙LE,有两种方法可以进行三角测量。一种是通过从一系列放置的传感器位置监控iPhone来进行三角测量,另一种是通过读取它与从已知点广告的设备之间的信号强度来对iPhone本身进行三角测量。

后者可以通过将一系列LE外围设备放置在已知位置并使它们以固定间隔进行广告来完成。在广告信息中,您可以在房间中标记该外围设备的位置。 iPhone可以阅读这些广告,使用-centralManager:didDiscoverPeripheral:advertisementData:RSSI:委托方法从他们那里获取RSSI信息,并对其位置进行三角测量。

前一种方法会涉及更多。它需要将iPhone本身置于广告模式,使用新的iOS 6.0支持,使iPhone成为蓝牙LE外设。然后传感器位置可以通过这些广告包从它们获取RSSI到iPhone,以及为手机生成的UUID。您还可以在传感器节点上选择正在运行正确软件的手机的MAC地址。然后,中央服务器需要将这些读数组合起来以对iPhone的位置进行三角测量。

您可能需要尝试使用传输强度来确定这将提供哪种分辨率。 RSSI信息有噪声,根据我的经验,我的外设只能在正常传输电平下解析为+ -30英尺。您可以通过多个传感器站和较低的传输强度来改进这一点。