在室内可靠地找到 iPhone?

Posted

技术标签:

【中文标题】在室内可靠地找到 iPhone?【英文标题】:Locate an iPhone reliably indoors? 【发布时间】:2011-05-02 15:44:24 【问题描述】:

我正在为博物馆之旅编写应用程序。我希望我的应用知道用户在建筑物中的位置、用户是否站在特定房间、特定工作前等。

GPS 在内部不起作用。 (使用WiFi定位可以,但我知道Apple doesn't use Skyhook anymore,所以我不知道我会在哪里注册我的基站。)

由于 GPS 无法工作,因此在已知位置拥有一个专用设备并让应用检测到该设备似乎可以工作。但根据我的研究,这看起来也不容易:

• 无法检测附近的 WiFi 基站,因为 Apple 不允许通过公共 API 查询基站。

• 仅当设备已在同一个 WiFi 网络上时,才能通过 Bonjour 查找设备。并且客人的手机不会在我们的 WiFi 网络上。

• GameKit...嗯...还没有看到一个角度。

有人对如何实施有想法吗?

谢谢!

【问题讨论】:

这不是问题的答案,只是一个有趣的观察:在两年左右的时间里,整个 gps 基础设施将升级,定位精度将提高到不到一米,我什至读到它可能是 10 厘米。虽然你在里面,但仍然对你没有帮助:P 【参考方案1】:

我建议使用蓝牙。我对一个类似的问题做了一些初步的工作,玩弄了一些代码来观察在我家的房间之间走动时手机可以看到哪些蓝牙设备。

您不必精确定位蓝牙设备的实际位置;如果您可以看到设备 A 和 B 但看不到设备 C,那么您就在这个区域,如果您可以看到所有三个设备,那么您就在这个区域,等等。稍微“观察”一下信号变化,您就可以确定它们的位置位置更近,例如我可以看到 A,但看不到 B 或 C,10 秒后我可以看到 A 和 B,然后我很有可能朝着 A+B 区域的 A-only 一侧;当 10 秒后我可以看到 B+C 但不再看到 A 时,我离你从 A+B 到 B+C 等的区域更近了。

虽然我没有对它进行详尽的测试,但我的结果足够积极,可以建议我的客户进行一些更强大、更真实的测试是值得的,这可能会很好。信号反弹可能存在问题,可能需要一些屏蔽或类似的东西,但它似乎确实可行。

【讨论】:

我认为这可能对我们有用。唯一的缺点是似乎没有办法自动打开蓝牙,除了使用 GKPickerViewController(或其他任何名称),我不想使用那个 UI。所以我可能不得不求助于要求人们打开蓝牙。不理想,但可能还可以。感谢所有回答的人! 我最近一直在对 ios 上的蓝牙进行更多探索,我想我必须收回我的乐观情绪。如果无法访问蓝牙堆栈,一些必要的改进似乎不太可能。 (我正在考虑通过蓝牙与超过 4 台设备一起做一些临时网络工作,结果证明 API 非常有限。)【参考方案2】:

我可能会在大楼的墙上贴上几百个二维码。

【讨论】:

不过必须一直开着相机并面对墙壁。 4G 之前的 iPhone 有一个相当糟糕的摄像头。嗯……【参考方案3】:

条形码(传统或二维)如何?这些可以作为工作描述的一部分打印出来。

【讨论】:

【参考方案4】:

我唯一能想到的就是蓝牙,但我认为这几乎是不可能的。

大多数人身上都有一两个 RFID 标签,如果他们允许的话,也许你可以安装一些探测器。我知道我携带 3 个不同的(车钥匙、建筑通行证),也许更多。

【讨论】:

【参考方案5】:

这是一个荒谬的想法:在建筑物周围安装扬声器,发出超出可听范围的高音。每个扬声器都会发出独特的声音,可以识别和三角测量。

只要有足够的 DSP,它就可以工作。不过,我会为附近的狗、猫和青少年感到难过。

或者您可以尝试部署自己的 GPS 站 - 但我敢打赌,您会得到穿着黑色风衣的男士乘坐一辆没有标记的货车来拜访您。

【讨论】:

【参考方案6】:

你能制造一些小型设备来完成这项任务吗?即制作一个红外接收器,它可以识别红外发射代码并发出声音信号供 iPhone 通过耳机麦克风插头进行解释。

这是一个纯麦克风,但我认为它可以用红外传感器代替。

而且...这是一款既能感应红外线信号又能发射红外线的产品。 Redeye mini。然后,您将需要一些用于房间的发送器设备,并且可能在特定工作附近。

【讨论】:

【参考方案7】:

去年夏天我自己在实习期间遇到了这个问题,因为我帮助进行的研究我知道唯一不涉及额外硬件或用户参与的真正解决方案是使用私有 API 并避免应用商店。

这显然只有在您完全控制游览中使用的硬件时才真正有效(即您提供 iPhone)。如果您确实提供了 iPhone,那么您可以手动将应用程序部署到它。显然这不是一个理想的情况,但它会起作用。

正如其他人所提到的,使用 QR 码是解决问题的另一种方法,但需要用户主动查找代码以获取旅游信息。对于单个展品,这会很有效,但它有局限性,尤其是在没有方便放置它们的地方时。

【讨论】:

【参考方案8】:

我去了一家博物馆,他们使用了不同的方法。

在每个位置,电话用户都会向一个号码发送一个代码,然后收到一条短信。

也许你可以做这样的事情。

【讨论】:

你的意思是每个 iPhone 用户在到达不同点时都会手动向服务器发送一个代码?这对用户来说不是很无聊吗?或者消息是在没有用户干预的情况下自动发生的? @Comptrol:我的意思是每个手机所有者在到达兴趣点时都会手动将代码发送到一个号码。这允许几乎任何文本手机参与,并将控制权交给手机用户。这是一个艺术博物馆,收到的文字很长。可能一个 iPhone 的长文本,一个 SMS 电话的几个小文本。【参考方案9】:

这是一个想法。不要让手机找到它的位置,而是设置多个蓝牙设备。让计算机确定哪些蓝牙设备可以看到手机以及信号强度,然后使用该信息来确定手机的位置。

或者您也可以在每个展品中放置 BT 设备,然后找出离用户最近的设备。

【讨论】:

以上是关于在室内可靠地找到 iPhone?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Mac OS X 命令行或脚本可靠地响铃我的 iPhone?

(iphone) 核心定位在室内的精度如何?

iPhone 室内定位应用

无法可靠地更新位置 ios 8

iPhone无法在Mac的Finder中显示?如何解决问题

有效地将 Web UI 转换为在 iPhone 或 Android 设备上更好地查看?