iPhone 室内定位应用
Posted
技术标签:
【中文标题】iPhone 室内定位应用【英文标题】:iPhone indoor location based app 【发布时间】:2011-10-20 05:18:06 【问题描述】:我正在研究如何为我的工作创建一个应用程序,允许客户下载该应用程序(最好通过应用程序商店),并使用某种 wifi 三角测量/指纹能够确定他们的位置,以进行本质上的交互式游览。
现在,我的具体问题是 iPhone 的最佳路线是什么?预计所有客户都不会拥有越狱的 iPhone。
据我了解,这需要使用作为私有 api 的 wifi 数据,因此不符合应用商店的要求。我最大的问题是美国自然历史博物馆如何摆脱使用相同的技术,但仍然可以在应用商店中使用?
如果您不熟悉美国自然历史博物馆互动游览应用程序,请参阅此处: http://itunes.apple.com/us/app/amnh-explorer/id381227123?mt=8
感谢您提供的任何澄清。
【问题讨论】:
【参考方案1】:我是您所引用的 AMNH Explorer 应用的开发者之一。
Explorer 在幕后使用思科“移动服务引擎”(MSE) 来确定其位置。这是他们的 Cisco wifi 安装的一部分。网络本身会监听博物馆中的设备,并通过 Wifi 三角测量来估计它们的位置。我们在应用程序中做了一些工作来“询问”MSE 我们当前的位置。
在网络端进行这项工作是(现在仍然是)ios 唯一可用的选项,因为正如您所发现的,wifi 扫描功能被认为是私有 API。
如果您想构建自己的系统和移动应用来做类似的事情,您可以从 MSE 开始。
另外,我们将 Explorer 中的相同技术构建到一个名为 Meridian 的新平台中,该平台在 iOS 和 android 上提供基于位置的服务。如果您有兴趣在此基础上进行开发,请务必通过网站与我们联系。
2017 年 6 月 1 日更新
我想我会更新这个旧答案 - 几年前,AMNH 不再使用我上面描述的基于 Wifi 的系统。他们现在使用数百个电池供电的蓝牙信标(也由 Meridian 提供)。设备(iOS 或 Android)扫描附近的信标,并根据其已知位置和 RSSI 值对位置进行三角测量。您可以在this article 阅读更多相关信息。
【讨论】:
哇,谢谢尼克。我非常努力地在互联网上找到它实际上是如何完成的。我会查看您的建议并一定保持联系。说真的,我很高兴你找到了这个。很棒的帮助 另外,如果你能给我估计一下这样的东西对于所需硬件的成本。我们的建筑面积约为 7,000 平方英尺,单层。 AMNH Explorer 的精度是多少? 嗨 Nick,由于 iOS 不允许您在应用程序中集成自定义地图,你们是如何在 Explorer 应用程序中实现博物馆地图的?我很想知道,因为我目前正在开发一个类似的应用程序。 @Isuru 您好 Isuru - 我们使用标准 iOS 技术从头开始实现我们的地图系统:位图图像、核心图像矢量绘图等。工作量很大!【参考方案2】:Navizon 提供适用于 iOS 以及任何其他平台的室内定位解决方案。你可以在这里查看: http://www.navizon.com/product-navizon-indoor-triangulation-system
它通过对设备传输的 WiFi 信号进行三角测量来工作。由于它不需要在手机上运行应用程序,因此它绕过了 iOS 的限制并且可以定位任何其他 WiFi 设备。
【讨论】:
【参考方案3】:Google 最近推出了一个名为 Maps Geolocation API 的 API。您可以将其用于设备的室内跟踪,这基本上可用于实现类似于 AMNH 应用程序所做的事情。
【讨论】:
【参考方案4】:我会使用增强现实来做到这一点。有一个系统可以解决这个问题,这个想法是你放置物理标记,这些标记具有与之相关的虚拟信息。我相信我看到的系统是一种条形码。当用户用应用程序拿起手机时,应用程序会使用摄像头读取代码,然后显示信息。这可以很容易地用于制作可通过应用商店分发的虚拟旅游类型应用程序,甚至不需要 WIFI 或 3/4G 连接。这假设您只需加载您的信息并将其与您的应用程序一起存储在本地。然后要更新它,您只需通过应用商店推送更新。另一种解决方案是使用 SOAP/REST 服务并以这种方式提供信息,这不使用私有 API,尽管它确实需要某种形式的 Internet 连接。为此,您可以看到我不久前就该主题提出的一个问题:
SOAP/XML Tutorials Question
此外,您可以加载您的旅行地点的地图,根据扫描的代码,您可以在地图上定位用户并根据兴趣等给出建议的路线。
我最近发现了这个关于增强现实的教程,我还没有完成它,但如果它与 Ray 的其他教程一样,它将非常有帮助。
http://www.raywenderlich.com/3997/introduction-to-augmented-reality-on-the-iphone
我会继续澄清您对您的应用可能有的任何问题或其他疑虑。
【讨论】:
感谢您的建议,但我的老板希望它不是一个过程(不扫描二维码)。在不违反苹果协议的情况下,您对使用 wifi 三角测量有什么建议吗?附:雷太棒了!我从他的网站学到了很多东西。 正如您在其他评论中指出的那样,将 3 个左右的路由器放置在固定位置,然后使用三边测量来估计您的位置将是您可以使用的另一种方法。我从来没有真正做过这样的事情,所以我不能给你很多细节,但有一个类似的问题:***.com/questions/2604622/… 似乎是你的胡同。您的第一步似乎是确定路由器的响应时间,然后再设置 2 个。之后,您应该能够插入公式。祝你好运!【参考方案5】:为使用 Cisco MSE 进行室内定位的开发人员增加原始答案 - 现在他们有一个 iOS 和 Android SDK,使您能够使用 MSE 进行室内定位。也可以使用模拟器来开发应用程序,而无需实施基础设施:https://developer.cisco.com/site/cmx-mobility-services/downloads/
【讨论】:
【参考方案6】:对于室内定位,您可以使用蓝牙 LE 信标,因为它是当今非常易于使用的技术,有几种方法:
三边测量:使用了 3 个信标,但由于蓝牙信号的噪声和衰减,很难确定准确的位置,而且使用超过 3 个信标来提高精度也不容易。
Levenberg Marquadt 方法:用于解决非线性平方问题,在室内定位上显示出良好的效果。
航位推算方法:使用设备的运动协处理器,给出一个初始位置,您可以计算设备的运动路径。反正实现起来也不是那么容易。
我写了一篇关于这个主题的帖子,你可以在这里找到更多信息:http://bits.citrusbyte.com/indoor-positioning-with-beacons/
您可以使用这款 iOS 应用进行自己的室内定位实验:https://github.com/citrusbyte/beacons-positioning
【讨论】:
【参考方案7】:我怀疑美国博物馆是否真的在使用私有 APIS;您可能会发现已设置的路由器彼此提供不同的响应,因此应用程序可以检测到它在博物馆中的位置。
如果您正在寻找一种更便宜的方式来完成相同的任务,您可以使用带有 QR 码的标志,并使用开源库让用户在通过博物馆时扫描这些条形码,并更新屏幕上的内容因此。在更低的技术水平上,您只需用唯一的数字标记每个区域,并以此方式进行区分。
【讨论】:
嗯,Qr 替代方案并不能真正满足我们的需求,当您说路由器提供不同的响应时,您能详细说明一下吗?它只需要对房间敏感而不是特定位置,如果我在每个房间都放置一个路由器,那会是一个解决方案吗?以上是关于iPhone 室内定位应用的主要内容,如果未能解决你的问题,请参考以下文章