Locate an iPhone reliably indoors?(在室内可靠地找到 iPhone?)
问题描述
我正在为博物馆之旅编写应用程序.我希望我的应用知道用户在建筑物中的位置、用户是否站在特定的房间、在特定的工作前等等.
I'm writing an app for a museum tour. I'd like my app to know where the user is in the building, if the user is standing in a particular room, in front of a particular work, etc.
GPS 在内部不起作用.(使用 WiFi 定位可以工作,但我知道 Apple 不再使用 Skyhook,所以我不知道在哪里注册我的基站.)
GPS doesn't work inside. (Using WiFi positioning could work, but I know Apple doesn't use Skyhook anymore, so I don't know where I would register my base stations.)
由于 GPS 无法工作,因此在已知位置拥有一个专用设备并让应用检测到该设备似乎可以工作.但根据我的研究,这看起来也不容易:
Since GPS won't work, it would seem like having a specialized device in a known location and having the app detect that device, could work. But based on my research, this doesn't look easy, either:
• 无法检测附近的 WiFi 基站,因为 Apple 不允许通过公共 API 查询基站.
• There's no way to detect nearby WiFi base stations because Apple doesn't allow querying for base stations via public APIs.
• 仅当设备已在同一个 WiFi 网络上时,才能通过 Bonjour 查找设备.并且客人的手机不会在我们的 WiFi 网络上.
• Finding a device via Bonjour only works if the devices are already on the same WiFi network. And the Guest's phone won't be on our WiFi network.
• GameKit...嗯...还没有看到一个角度.
• GameKit...hmm...don't yet see an angle there.
有人对如何实施有想法吗?
Does anyone have ideas on how this could be implemented?
谢谢!
推荐答案
我建议蓝牙.我对一个类似的问题做了一些初步的工作,玩弄了一些代码来观察在我家的房间之间走动时手机可以看到哪些蓝牙设备.
I suggest Bluetooth. I did some preliminary work on a similar problem, played around with some code for watching which bluetooth devices were visible to the phone while walking between rooms of my house.
您不必精确定位蓝牙设备的实际位置;如果您可以看到设备 A 和 B 但看不到设备 C,那么您就在这个区域,如果您可以看到所有三个设备,那么您就在这个区域,等等.稍微观察"一下信号变化,您就可以确定它们的位置位置更近,例如我可以看到 A,但看不到 B 或 C,10 秒后我可以看到 A 和 B,然后我很有可能朝着 A+B 区域的 A-only 一侧;当 10 秒后我可以看到 B+C 但不再看到 A 时,我离你从 A+B 到 B+C 等的区域更近了.
You don't have to pinpoint precisely where the bluetooth devices actually are; if you can see device A and B but not C then you're in this area, if you can see all three then you're in this area, etc. With a little bit of "watching" the signal changes you can pinpoint their location more closely, e.g. I can see A but not B or C and 10 seconds later I can see A and B then odds are good that I'm towards the A-only side of the A+B area; when 10 seconds later I can see B+C but no longer A then odds are good I'm closer to the area where you cross from A+B to B+C, etc.
虽然我没有对它进行详尽的测试,但我的结果足够积极,可以建议我的客户进行一些更强大、更真实的测试是值得的,这可能会很好.信号反弹可能存在问题,可能需要一些屏蔽或类似的东西,但它似乎确实可行.
Though I didn't test it exhaustively, my results were sufficiently positive to advise my client that some more robust, real-worldish testing was worthwhile, that this would likely work just fine. There might be issues with signal bounce that might require some shielding or that kind of thing, but it does seem feasible.
这篇关于在室内可靠地找到 iPhone?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在室内可靠地找到 iPhone?
基础教程推荐
- UIWebView 委托方法 shouldStartLoadWithRequest:在 WKWebView 中等效? 2022-01-01
- 当从同一个组件调用时,两个 IBAction 触发的顺序是什么? 2022-01-01
- Kivy Buildozer 无法构建 apk,命令失败:./distribute.sh -m “kivy"d 2022-01-01
- 在 gmail 中为 ios 应用程序检索朋友的朋友 2022-01-01
- Android:对话框关闭而不调用关闭 2022-01-01
- 如何在 UIImageView 中异步加载图像? 2022-01-01
- 如何在没有IB的情况下将2个按钮添加到右侧的UINavigationbar? 2022-01-01
- android 应用程序已发布,但在 google play 中找不到 2022-01-01
- 如何让对象对 Cocos2D 中的触摸做出反应? 2022-01-01
- 如何在 iPhone 上显示来自 API 的 HTML 文本? 2022-01-01