苹果的 AirTag 虽然提供了便捷的物品追踪功能,但其价格较高,并且存在显著的平台限制。即使是市场上(如华强北)出现的平价替代品,也基本依赖相同的核心机制——需要绑定在苹果设备( iPhone, iPad, Mac )上才能使用,并通过这些设备查看位置。
其工作原理的核心在于“查找( Find My )”网络:
蓝牙广播: 每个 AirTag 或兼容的跟踪器会持续地发送带有特定格式和加密标识符的蓝牙低功耗( BLE )信号。
被动侦听与上报: 附近任何开启蓝牙并联网的苹果设备(形成了庞大的“查找”网络),如果检测到这种特定格式的广播信号,会将其接收到的信号强度( RSSI ,指示距离)、检测设备的精确 GPS/Wi-Fi/蜂窝位置信息以及检测到的广播标识符和时间戳,匿名且加密地上传至苹果服务器。
服务器端聚合与定位: 苹果服务器接收到来自全球数亿台苹果设备的无数报告后,会进行聚合分析。当一个 AirTag 的所有者通过其苹果设备(比如 iPhone 的“查找”App )发起位置查询时,服务器会解密并关联与该 AirTag 对应的标识符上报的数据,在地图上显示其最后被报告的位置或大致轨迹。
但是,目前有一些痛点无法满足:
不支持安卓、鸿蒙设备查看其位置(虽然部分安卓设备会提示“检测到未知配件跟随”,但无法查看地图位置)。
不支持 PC 直接查看。
不支持长期的历史轨迹记录和查询
正是这些限制催生了开放解决方案的需求。 国外有研究者(项目如 github 上的 seemoo-lab/openhaystack )逆向工程了苹果 Find My 网络的蓝牙协议和安全机制。
之前酷安上有大佬了 diy airtag 的项目,@lovelyelfpop ,把整个开源项目的做了部署的本地化适配。我所做的工作,主要是整合了一些项目相关的信息,去年我也开发了一套可以查询自己 diy 的 airtag 历史位置信息的系统(主要是 web 端),见 b 站视频
[我复刻了 Airtag ,并让它能被容易的使用|FindMyTrack 项目-哔哩哔哩]
现在准备把这套系统部分开源出来,方便大家的部署和使用。
目前这套系统支持的功能,主要有:
服务器端后台运行 request_report 获取位置,定期下载位置数据并储存在本地服务器数据库,储存时间不限(目前市面上主流产品记录时长最多为 7 天),轨迹可永久保存于服务器。
支持任意时间段任意物品轨迹查询和显示,支持轨迹点的经纬度和时间点显示,可随意缩放查看,方便回溯。
支持热图显示( Hotspot ),类似地理信息系统的人流密度显示,经常去过的地方颜色更深,不去或偶尔去的地方颜色浅。
Web 前端支持密钥管理
地图采用开源的 Mapbox-GL 三维地图引擎,支持三维地形显示,渲染更加美观。
项目我会在稍后进行部分开源,可本地部署,长期使用
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.