背景
昨天在一个公司部门主管面试的问了一个问题,就是如何利用BLE实现类似苹果的Find My功能,因为我以前没有了解过这个功能,刚开始还以为是那种利用BLE发消息让被查找设备响铃之类的功能,结果他来了一句,可以实现几公里以外的地方定位,不过是利用别人的苹果手机来帮忙,当时就随便想了一下,就说这个类似与谷歌GFPS的功能,丢失的设备会发出广播,然后被路过的手机收到转发到云服务器,然后丢失设备的主人通过云服务器可以查找到手机的位置,近而就可以找到耳机的位置了,当然我可能当时被他问懵了,也没表达的太清楚,加上我有点抵触这种问题,以前也碰到过有些恶心的公司都是想来找这些资深工程师面试,来套方案,所以就随便应付了一下。
不过后面我仔细想了一下,这个话题还挺有意思,然后又查找了一些资料,其实谷歌也实现了类似功能叫Find My Device,据说华为也有类似功能,但是没有找到具体的实现的技术细节,于是乎我就想如果有公司让我来做这个项目,我该如何实现:
架构设计
现在假设的场景是:我有一个AirTag,也就是定位追踪器,突然有一天弄丢了,那么我通过手机如何来定位到这个丢失的AirTag: