#GitHub #Apple #Article
🔑
和 AirTag 相关的几个折腾和原理☝️ AirTag 这个产品当年发布还是在果粉圈引起了不小的轰动,但时隔多年,AirTag 本身也没有推出第二代产品,并且价格也居高不小(相比同类防丢器产品),虽然拼多多上也有华强北的平替产品,但是仍需要苹果设备才能绑定,才能查看位置。不支持安卓/鸿蒙/PC,也不支持集成到 Home Assistant 中。这时候有些「动手能力强」的朋友就蠢蠢欲动了。
⚠️ 今天看到关于 AirTag 的几个折腾,由于对「动手能力」要求很高,所以还是从这个事情本身的原理来窥探一下。摊主本人本人并不建议大家自己动手制作,以免产生不必要的麻烦(小心收律师函)。
🔋
AirTag 的原理▶
蓝牙信号广播:AirTag 持续发射低功耗 蓝牙信号(BLE),信号中携带唯一加密标识符。此信号可被附近(约 30-100 米内)的苹果设备(iPhone、iPad、Mac 等)检测到。
▶
FindMy 网络协作定位:当苹果设备接收到 AirTag 的蓝牙信号后,会通过匿名加密机制,将设备自身的 GPS 位置 和 信号接收时间 上传至苹果服务器。所有苹果设备共同构成 Find My 去中心化网络,通过群体协作实现定位。
▶
精确定位技术:若用户持有支持 U1 超宽频芯片(UWB) 的 iPhone(如 iPhone 11 及以上机型),可在近距离(约 10 米内)通过 AR 界面实现厘米级精度的指向性定位(如显示距离和方向)。
♻️
逆向工程方案的实现机制通过 GitHub 开源项目 OpenHaystack,可模拟 AirTag 的加密蓝牙广播协议,使第三方设备(如 ESP32)伪装成 Find My 网络节点。设备定期广播特定格式的 BLE 数据包,由周围苹果设备被动接收并上传位置。
这样做对于非 Apple 产品用户和使用 Home Assistant 的用户而言,可以实现数据查看。利用插件将设备位置同步至智能家居系统,实现自动化联动(如宠物离家触发警报)。
还有一个比 Apple 更牛的功能是支持查看历史 n 天的 AirTag 活动轨迹,我理解其实 Apple 也可以做这个功能,但是目前并没有。
⛄️
方案致命缺点由于是非官方方案,可能因苹果协议更新失效,且存在隐私泄露隐患。
📚
相关材料▶
[V2EX] 自制 AirTag,支持安卓/鸿蒙/PC/Home Assistant,无需拥有 iPhone ▶
[GitHub] Macless-Haystack👮♂️
本文只作为相关原理和事物的观察分享,不提倡大家实践,请遵守当地法律法规!