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

diy 一个可以长期记录轨迹的 airtag

  •  
  •   Geeekcat · 2 天前 via Android · 2892 次点击

    565f59c35236ed1e6f4a7f2768b48568.jpeg

    苹果的 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 三维地图引擎,支持三维地形显示,渲染更加美观。

    IMG_20250715_113908.jpg

    IMG_20250715_113848.jpg

    IMG_20250715_113837.jpg

    9756ea2424398015d281490e27cdbf2a.png

    项目我会在稍后进行部分开源,可本地部署,长期使用

    第 1 条附言  ·  22 小时 58 分钟前
    github 开源地址
    https://github.com/zhzhzhy/NinjiaTag-backend
    欢迎尝鲜,重构了原来的项目,全栈为个人独立开发,有 bug 多多包涵,提出 Issue 和 Pr
    第 2 条附言  ·  22 小时 54 分钟前
    61 条回复    2025-07-17 11:04:16 +08:00
    graetdk
        1
    graetdk  
       2 天前
    这个挺屌的
    dong12138
        2
    dong12138  
       1 天前
    插眼,期待开源
    zhouqian
        3
    zhouqian  
       1 天前
    挺厉害
    dgmgso
        4
    dgmgso  
       1 天前
    蹲一个看看
    subpo
        5
    subpo  
    PRO
       1 天前
    nb ,关注了
    fredhwang
        6
    fredhwang  
       1 天前
    nb
    qq316107934
        7
    qq316107934  
       1 天前
    关注下
    xxxsr
        8
    xxxsr  
       1 天前
    蹲一个
    myTrip
        9
    myTrip  
       1 天前 via iPhone
    厉害,期望开源,想部署试试,之前用了 openhaystack 部署到了 esp32 上,不过不方便携带,期待作者的作品,价格合适可以支持
    qazwsxkevin
        10
    qazwsxkevin  
       1 天前
    想问:为什么基于 Find My 网络兼容的这类产品,目前厂品,都是圆形的 PCB 及其外壳,只是苹果给出的公版设计就是为了配合 CR2032 吗?
    有些场合,的确需要圆柱体+AG10/LR41/LR1130 并联 3~6 粒才能塞进去,配合这种钮扣电池也行吧?
    是无法突破的什么框架不允许?
    stillwaiting
        11
    stillwaiting  
       1 天前
    关注了
    rockdai
        12
    rockdai  
       1 天前
    厉害
    Wiioy
        13
    Wiioy  
       1 天前
    这个很不错,我之前在手机上下过轨迹类 app ,但是会增加耗电
    feng6
        14
    feng6  
       1 天前
    牛皮
    emric
        15
    emric  
       1 天前
    很棒!之前就很想做依赖 airtag 类似这样的,但是无法找到头绪。
    BAT
        16
    BAT  
       1 天前 via iPhone
    妈呀,刚困了就有人递枕头。我昨天还在想有没有可以记录 AirTag 一天轨迹的工具,研究下我每天都去哪了。
    iluolSNS
        17
    iluolSNS  
       1 天前
    差个眼关注一下 准备给猫猫带个
    72D
        18
    72D  
       1 天前
    可以先弄个 github 仓库出来 ,方便 star 收藏一下
    avrillavigne
        19
    avrillavigne  
       1 天前
    有计划推出情侣版吗🌝
    registerrr
        20
    registerrr  
       1 天前
    期待
    Geeekcat
        21
    Geeekcat  
    OP
       1 天前 via Android
    @qazwsxkevin 形状不是重要的,只是 2032 电池是圆的符合设计,甚至可以做到指甲盖大小塞到车钥匙
    Geeekcat
        22
    Geeekcat  
    OP
       1 天前 via Android
    @72D 仓库的 readme 部署教程还在写
    Geeekcat
        23
    Geeekcat  
    OP
       1 天前 via Android   ❤️ 1
    @avrillavigne 情侣部署一个不就是情侣版了,可以显示到一张地图上😂
    guoziyang0033
        24
    guoziyang0033  
       1 天前
    关注
    xiadengmaX1
        25
    xiadengmaX1  
       1 天前
    等待开源
    sunulin
        26
    sunulin  
       1 天前
    咸鱼买了个 用的 Anisette server +macless-haystack+appleID 的 自己部署,也可以用卖家部署的服务器, 我不会调整,也可能我一直在村里,附近设备不多 那个定位不是实时的。间隔好久才有定位位置 也没轨迹 感觉你这个不错
    shobal
        27
    shobal  
       1 天前
    等开源
    Syriana
        28
    Syriana  
       1 天前
    给小孩用作定位防走丢也不错
    Aixtuz
        29
    Aixtuz  
       1 天前
    感兴趣,关注一下~
    gulovehh
        30
    gulovehh  
       1 天前
    太有用了,一直想给小孩子装一个定位的
    cryboy007
        31
    cryboy007  
       1 天前
    插眼,期待开源
    AlohaV2
        32
    AlohaV2  
       1 天前   ❤️ 1
    有点没看明白,产品是脱离了 find my 网络?如果是的话,那仅限于自己安装了某个 app 的设备才可以上报位置么?
    aixi134
        33
    aixi134  
       1 天前
    插个眼期待一下
    Google404
        34
    Google404  
       23 小时 51 分钟前 via iPhone
    哇🎊,6666 啊,期待开源
    kerb15
        35
    kerb15  
       23 小时 28 分钟前
    加油,非常需要这个功能
    Geeekcat
        36
    Geeekcat  
    OP
       23 小时 3 分钟前 via Android
    github 开源地址
    https://github.com/zhzhzhy/NinjiaTag-backend
    欢迎尝鲜,欢迎提出 Issue 和 Pr
    HeyWeGo
        37
    HeyWeGo  
       22 小时 54 分钟前
    前两天刚好在看这个
    heavymetals
        38
    heavymetals  
       22 小时 51 分钟前
    刚做了一个用 gps 定位来记录轨迹的设备,因为需要电池,所以体型巨大,跟一个 action4 差不多,你这个体积是真合适随身携带
    CallMeSoul
        39
    CallMeSoul  
       22 小时 43 分钟前
    感觉可以做成宠物活动轨迹的成品
    Geeekcat
        40
    Geeekcat  
    OP
       22 小时 19 分钟前 via Android
    @72D github 开源地址
    https://github.com/zhzhzhy/NinjiaTag-backend
    欢迎尝鲜,欢迎提出 Issue 和 Pr
    testdoge
        41
    testdoge  
       22 小时 18 分钟前
    这个实在是太屌了,改名改成 geektag 吧 方便传播
    HeyWeGo
        42
    HeyWeGo  
       22 小时 9 分钟前
    有些看不明白的地方,这个硬件是要用到 apple 的什么功能吗?数据需要和 apple 做传递吗?
    Geeekcat
        43
    Geeekcat  
    OP
       22 小时 0 分钟前 via Android
    @HeyWeG 硬件只是做了蓝牙广播,广播被周边的苹果设备自动捕获上报
    ray1980
        44
    ray1980  
       22 小时 0 分钟前
    上传定位信息是不是还得附近有苹果设备?
    Geeekcat
        45
    Geeekcat  
    OP
       22 小时 0 分钟前 via Android
    @heavymetals 确实便携,甚至可以塞到车钥匙里面
    Geeekcat
        46
    Geeekcat  
    OP
       21 小时 59 分钟前 via Android
    @AlohaV2 没有脱离 findmy ,利用了 findmy
    Geeekcat
        47
    Geeekcat  
    OP
       21 小时 59 分钟前 via Android
    @sunulin 周围没人肯定不会更新,还是利用了人群效应
    Geeekcat
        48
    Geeekcat  
    OP
       21 小时 58 分钟前 via Android
    @ray1980 是的,但是城市里面够用了
    RIcter
        49
    RIcter  
       21 小时 31 分钟前
    必须要 DIY 一个 AirTag 吗?没法用自己买的 AirTag 的原因是什么呢
    Geeekcat
        50
    Geeekcat  
    OP
       21 小时 25 分钟前 via Android
    @RIcter 原因是不方便拿到官方固件的密钥对,如果拿到了,那就支持
    yulgang
        51
    yulgang  
       20 小时 59 分钟前
    买过一个所谓平替 tag ,用俩月电池没电了都没提醒,宣传能用 1 年
    Geeekcat
        52
    Geeekcat  
    OP
       20 小时 57 分钟前 via Android
    @yulgang 可能用了山寨电池,不知道功耗咋样,不过这个功耗我测过 10ua 左右,预估 2032 用 1 年多
    goxofy
        53
    goxofy  
       20 小时 48 分钟前
    Geeekcat
        54
    Geeekcat  
    OP
       20 小时 45 分钟前 via Android
    @goxofy 支持长期(>7 天)位置记录,他这个是 app ,都可以用
    goxofy
        55
    goxofy  
       20 小时 43 分钟前
    @Geeekcat #54 soga
    Tink
        56
    Tink  
    PRO
       20 小时 38 分钟前
    这个现在 HA 的 Cloud GPS 集成也原生支持了,所以做 HA 集成很方便,之前只能通过 MQTT

    viayie
        57
    viayie  
       3 小时 59 分钟前
    @Geeekcat #36 偏个题,话说如果要表达 忍者 的含义,是不是该拼写为 Ninjia -> Ninja
    Geeekcat
        58
    Geeekcat  
    OP
       3 小时 46 分钟前 via Android
    @viayie 感谢提醒,打错了,先这样吧,后续改
    Geeekcat
        59
    Geeekcat  
    OP
       3 小时 25 分钟前 via Android
    @Tink 云平台 gps 我一直添加不上,不知道哪里没设置对
    Geeekcat
        60
    Geeekcat  
    OP
       2 小时 34 分钟前 via Android
    @viayie “NinjiaTag”并非拼写错误,而是我们对物联网产品价值的重新定义:它不仅是敏捷的防丢工具( Ninja ),更是对下一代分布式物联网( IOT )技术的憧憬,为分布式蓝牙标签( Tag )的新一代解决方案。名称中的 ‘jia’ 也寓意 ‘协作之家’,期待与你共同构建!
    Geeekcat
        61
    Geeekcat  
    OP
       2 小时 31 分钟前 via Android
    @Geeekcat 强行解释一波😂
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4502 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 05:36 · PVG 13:36 · LAX 22:36 · JFK 01:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.