如何在与其他BLE设备一起的环境中实现对启用BLE的智能手机的存在检测?解决方案必须是用户透明的,并且需要在睡眠模式下使用智能手机(不需要用户采取任何行动,如果后台进程需要始终处于活动状态)
在我看来,有两种可能性:
由于操作系统对后台进程的限制,第一种可能性很难/不可能实现。第二种可能性是很难/不可能实现的,因为BLE的可见性超时,这使得设备不可见,如果我们离开一个设置页面。
你的解决方案是什么?
发布于 2015-09-08 23:56:28
我只能详细地谈谈iOS。
对于该平台,使用iBeacons有很大的优势。(有操作系统支持的BLE的特殊用例。)位置管理器支持将iBeacons注册为“location”,当您输入新的信标区域时,操作系统会通知您的应用程序。它甚至会启动你的应用,如果它没有运行。
这巧妙地解决了通知您的应用程序是否正在运行的问题。
在缺点方面,您只能一次监视20个唯一的信标区域。可以使多个信标成为同一区域的一部分,如果您很聪明,可以使用它来管理更多的点(您可以使用带有通配符的信标作为主版本号或次要版本号,然后在实际检测到信标时询问该参数)。
定位几乎是不可能的。理论上,你可以使用来自多个信标的距离读数来确定位置,但在实践中,距离数据过于草率和可变,做不到多大的好处。
发布于 2015-09-08 23:20:38
不久前,我建造了一个蓝牙设备检测器,而我遇到的问题是,大多数设备根本不广播自己。如果他们不这样做,就没有办法找到他们。
你需要实现的是手机上的一个应用程序,它在特定背景和位置的蓝牙广播中进行扫描。然后,您将使用智能手机数据连接,以确定设备的位置。
这是我在2012年的本科论文,所以如果你愿意的话,我可以把它整理好,然后寄给你。
https://stackoverflow.com/questions/32468541
复制相似问题