1

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

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

这是一个餐厅类型的应用程序。餐厅想知道电话/应用程序坐在哪张桌子上。

4

1 回答 1

8

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

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

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

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

您可能需要试验传输强度以确定这将提供什么样的分辨率。RSSI 信息很嘈杂,根据我的经验,在我的外围设备的正常传输水平下,它似乎只能解析为 +-30 英尺。您可以通过多个传感器站和较低的传输强度来改进这一点。

于 2012-11-01T16:09:41.580 回答