V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
lovelyelfpop
V2EX  ›  分享创造

自制 AirTag,支持安卓/鸿蒙/PC/Home Assistant,无需拥有 iPhone

  •  2
     
  •   lovelyelfpop · 2025 年 2 月 24 日 · 6626 次点击
    这是一个创建于 335 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在这里插入图片描述 苹果的 AirTag 很贵,虽然某强北有平价代替品,但是仍需要苹果设备才能绑定,才能查看位置。不支持安卓/鸿蒙/PC ,也不支持集成到 Home Assistant 中。

    AirTag 的原理

    每个 AirTag 都会发送一个蓝牙信号,其可以被临近的苹果设备( iPhone 、iPad 、MAC 等)检测到,这些苹果设备会将这些 AirTag 的位置上报到苹果服务器。这个网络就是 Find My 网络。

    国外有人逆向了 AirTag 机制 (github 项目 seemoo-lab/openhaystack) 可以让一些蓝牙设备,比如 ESP32 、树莓派、甚至带蓝牙适配器的 Linux ,模拟发出 FindMy 蓝牙广播。

    这样制作出的定位标签,不需要苹果手机绑定,支持安卓/鸿蒙/PC/Home Assistant 查看标签的位置。

    制作教程

    我在 gitee 上建了一个项目 https://gitee.com/lovelyelfpop/macless-haystack 整合了 github 上一些内容,并做了如下一些事情: 1 、中文翻译 主要翻译的 github 项目 dchristl/macless-haystack 2 、安卓 app 适配国情 界面汉化,并替换为高德地图和定位 3 、硬件准备和刷机方法详细说明 4 、Home Assistant 集成说明

    支持 安卓(有app),iOS/鸿蒙/PC等其他系统(用浏览器访问web 网站) 查看定位标签的位置(下面有截图)。 注意:虽然查看标签的位置不需要苹果手机,但是部署服务时需要有 AppleID 账号(需要在苹果手机上注册,可以找朋友借用注册一个。苹果网站上注册的不行)。 另外,标签上报位置仍然依赖苹果的 FindMy 网络,要求标签附近有苹果设备,因此,人少的地方比如农村不适合使用 AirTag/华强北平替/自己制作的定位标签。

    下面是我制作的一些成品定位标签 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

    安卓 App 界面

    在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

    Web 网站界面

    在这里插入图片描述 在这里插入图片描述

    Home Assistant 集成截图

    在这里插入图片描述 在这里插入图片描述

    43 条回复    2025-11-12 10:55:09 +08:00
    w568w
        1
    w568w  
       2025 年 2 月 24 日
    非常强的折腾,如果有 GitHub 项目我就 star 了
    musi
        2
    musi  
       2025 年 2 月 24 日
    @w568w 原文中有提到原项目是 http://github.com/dchristl/macless-haystack
    coolfan
        3
    coolfan  
       2025 年 2 月 24 日
    有意思
    killeder
        4
    killeder  
       2025 年 2 月 24 日 via Android
    有 uwb 吗
    dozer47528
        5
    dozer47528  
       2025 年 2 月 24 日
    既然是私有网络,那就不能利用别人手机上报定位了是吗?
    neoshui
        6
    neoshui  
       2025 年 2 月 24 日
    🐂🍺我也很愿意给 OP 提供一个 GitHub 的⭐(如果有)
    lisxour
        7
    lisxour  
       2025 年 2 月 24 日
    这么强的项目,华强北居然没出全平台的高仿?
    Felldeadbird
        8
    Felldeadbird  
       2025 年 2 月 24 日
    卧槽!楼主这是打开了新商业模式啊。
    支持楼主的开源。
    h4de5
        9
    h4de5  
       2025 年 2 月 24 日
    不错,支持一下。
    cat
        10
    cat  
       2025 年 2 月 24 日
    好家伙,坐在产业园区 突然看到月亮湾的地图…
    sparkssssssss
        11
    sparkssssssss  
       2025 年 2 月 24 日
    之前在淘宝上搜了下宠物定位器,貌似就是利用这个,请问下,自制的话,成本几何?
    macaodoll
        12
    macaodoll  
       2025 年 2 月 24 日
    牛逼 6666
    lovelyelfpop
        13
    lovelyelfpop  
    OP
       2025 年 2 月 24 日
    @killeder 没有 UWB 。华强北平替也没有
    lovelyelfpop
        14
    lovelyelfpop  
    OP
       2025 年 2 月 24 日
    @dozer47528 私有后台是给 app 查看位置用的。tag 利用附近苹果手机上传位置,这个还是一样的
    lovelyelfpop
        15
    lovelyelfpop  
    OP
       2025 年 2 月 24 日
    @coolloves 要准备一些工具,电烙铁 编程器啥的。材料成本看你购买的来源。你也可以画板子批量生产
    whathappen
        16
    whathappen  
       2025 年 2 月 24 日
    @lovelyelfpop

    #14

    那我直接买原装或者华强北的 Airtag,是否可以用安卓查看它们的定位? 还是只可以查看“自制”的那些?

    安装了这个软件的安卓设备会不会参与分享定位的角式?还是只是纯观看的角式?
    lovelyelfpop
        17
    lovelyelfpop  
    OP
       2025 年 2 月 24 日
    @whathappen app 不支持华强北的平替。安卓手机不参与上报 tag 的位置,安卓 app 只用来查看位置
    LightofHeven
        18
    LightofHeven  
       2025 年 2 月 24 日
    op 动手能力真刚
    65r4Zgm364TDg652
        19
    65r4Zgm364TDg652  
       2025 年 2 月 24 日
    这,适合整个新的品牌,作为小孩定位器,众筹一轮
    weijancc
        20
    weijancc  
       2025 年 2 月 24 日
    挺好的, 就是放 gitee 显得 low
    ZhLTE
        21
    ZhLTE  
       2025 年 2 月 24 日
    @huguadao 不得被苹果告死吗
    imyip
        22
    imyip  
       2025 年 2 月 24 日
    关键是 黄鱼搜蓝牙信标 可以买到很便宜的 nrf51822
    xuromky
        23
    xuromky  
       2025 年 2 月 24 日
    成品多少钱一个,我要买
    65r4Zgm364TDg652
        24
    65r4Zgm364TDg652  
       2025 年 2 月 24 日
    @ZhLTE 平多多一搜一大把的东西,原理不重要,关键就是要品牌要好玩😄
    undefinedsymbol
        25
    undefinedsymbol  
       2025 年 2 月 24 日
    不错不错,star 来一个
    koast
        26
    koast  
       2025 年 2 月 24 日
    主要问题是首次绑定生成的那个密钥不好导出,导出之后应该是和那华强北平替一样用的吧。毕竟 airtag 是绑定在账号上的,那个协商的密钥肯定也是可以从苹果服务器登陆账号获取的吧,不然新设备登录老账号都要重新绑定一遍 airtag 并且导致老设备的绑定失效听起来挺离谱的。 @lovelyelfpop @whathappen
    koast
        27
    koast  
       2025 年 2 月 24 日
    苹果设计的这个协议很那啥的点在于信标的 mac 地址也是轮换密钥的一部分(和 generate_key.py 生成的那个主密钥不一样),导致要蹭它这个网络,必须得支持更改 mac 地址可以,这就使一些有意思的应用场景用不了。比如给安卓机写一个内核模块加载上,让它定时更改下蓝牙地址发下广播帧之类的。
    lovelyelfpop
        28
    lovelyelfpop  
    OP
       2025 年 2 月 24 日
    @xuromky 我黄鱼有上架几个自己做的,搜索“自制定位标签”
    MacsedProtoss
        29
    MacsedProtoss  
       2025 年 2 月 24 日 via iPhone
    白嫖苹果的定位服务器?那这个是不是其实苹果是有封禁渠道的?
    & 既然是到苹果服务器意味着这些设备都会是同一个 Apple ID ?虽然没绑定… 但是既然数据在苹果服务器那么必须得有个 ID 才能去取吧?
    lovelyelfpop
        30
    lovelyelfpop  
    OP
       2025 年 2 月 25 日
    @MacsedProtoss 自己部署后台服务,使用自己注册的 AppleID 。如果苹果能封这个机制,那就得给以往发售的所有 AirTag 更新固件(显然不可能)。因为是从 AirTag 逆向过来的。
    wanwaneryide
        31
    wanwaneryide  
       2025 年 2 月 25 日
    @huguadao #19 pdd 就有的,苹果用的大概也就 20 左右吧,如果是安卓用的一个大概在 60 左右的样子,我买了一个放小电驴上,还行,定位误差有个三五十米左右
    lovelyelfpop
        32
    lovelyelfpop  
    OP
       2025 年 2 月 25 日
    @wanwaneryide 没有 UWB 就是这样,误差大概就是蓝牙的广播范围
    lovelyelfpop
        33
    lovelyelfpop  
    OP
       2025 年 3 月 21 日
    教程已更新,部署后台服务不再需要魔法了
    avrillavigne
        34
    avrillavigne  
       2025 年 4 月 19 日
    很强
    followad
        35
    followad  
       2025 年 7 月 7 日 via iPhone
    这个小东西在哪买啊老哥
    lovelyelfpop
        36
    lovelyelfpop  
    OP
       2025 年 7 月 8 日
    @followad 我在咸鱼鱼有上架几款自己做的,搜索“自制定位标签”,用户名是 lovelyelfpop
    LonelyTravel
        37
    LonelyTravel  
       2025 年 7 月 15 日
    airtag 的原理我是明白了,自作的 tag 模拟 findmy 广播也能懂,但是自作的 tag 还不需要苹果手机和账号绑定是如何实现能不需要苹果手机也能查看 tag 的位置的呢?还能知道这个 tag 就是我自己的 tag
    lovelyelfpop
        38
    lovelyelfpop  
    OP
       2025 年 7 月 18 日
    @LonelyTravel 在后台服务器那边登录了 AppleID 。
    其实从苹果那边获取位置报告的 API 接口,任何 AppleID 都能去请求,只要你有合法的密钥即可。
    DIY 的 tag 内置了若干公钥(其实还有另一部分:私钥。这个要自己保存好不要泄露)。
    每次请求位置报告,都是用公钥去获取其对应的位置报告。
    取到的位置报告是加了密的,需要用私钥去解密得到经纬度明文
    LonelyTravel
        39
    LonelyTravel  
       2025 年 7 月 21 日
    @lovelyelfpop 也就是说 api 接口获取位置时,苹果服务器会根据登录的账号所拥有的公钥去匹配对应的 tag ,然后用私钥去解密位置。tag 广播上传的位置中带有这个公钥信息。是这样理解吗?
    lovelyelfpop
        40
    lovelyelfpop  
    OP
       2025 年 7 月 21 日
    @LonelyTravel 调用苹果 API 需要 1 、任意苹果账号 2 、要查询的定位器的广播公钥
    1 和 2 没关系,任意 AppleID 都可以获取任意定位器的位置,只要有公钥
    LonelyTravel
        41
    LonelyTravel  
       2025 年 7 月 22 日
    @lovelyelfpop 明白,感谢解惑
    lovelyelfpop
        42
    lovelyelfpop  
    OP
       2025 年 7 月 30 日
    小黄鱼账号 lovelyelfpop 卖小型定位芯片被封了,换个黄鱼号"闪电小子"!
    wwd179
        43
    wwd179  
       2025 年 11 月 12 日
    咸鱼里还有再卖硬件么?闪电小子太多了
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2715 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:29 · PVG 20:29 · LAX 04:29 · JFK 07:29
    ♥ Do have faith in what you're doing.