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

lms*_*lms 1 bluetooth triangulation ios core-bluetooth

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

  1. 是否有可能在iOS 6上获得附近蓝牙设备的信号强度?
  2. 是否有可能获得手机的蓝牙MAC(所以我可以识别手机并从另一侧进行信号强度测量)
  3. 还有其他任何基于蓝牙三角测量来计算iPhone位置的想法吗?

这是一个餐厅类型的应用程序.餐厅想知道电话/应用程序所在的桌子.

Bra*_*son 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英尺.您可以通过多个传感器站和更低的传输强度来改进这一点.