V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Geeekcat
V2EX  ›  Apple

NinjiaTag:开源防丢神器与无感轨迹记录方案

  •  1
     
  •   Geeekcat · 10 天前 · 3805 次点击

    新增 GPX 导出功能,赋能跨平台足迹管理 1755845687885.jpg

    作为一名程序员,我始终相信代码的价值在于解决真实世界的痛点。历时 3 个月独立开发的「 NinjiaTag 」开源防丢系统,不仅实现了物品防丢与老人守护,还新增了 GPX 轨迹导出功能,让用户永久保存并自由使用历史位置数据。以下是项目的核心升级与价值解析: vclipe_2B40CAA1-5542-47EB-B353-A2E90AC1A724_1755846190785.png

    一、为什么需要 GPX 导出?填补行业空白

    1. 用户痛点 - 市面主流防丢器(如 AirTag )无法长期存储轨迹,历史记录通常仅保留 7 天; - 安卓/PC 用户无法直接查看苹果生态的轨迹数据,跨平台兼容性差; - 专业轨迹记录设备需频繁充电,需要手动按下记录和停止(码表)。NinjiaTag 的解决方案: - 永久轨迹存储:云端或自建服务器无限期保存位置历史; - 一键导出 GPX:兼容所有支持 GPX 格式的 APP (如一生足迹、两步路、世界迷雾); - 无感记录:超低功耗设计( CR2032 电池续航 1 年+),无需充电或手动开关。
    2. 技术实现原理 - 后端服务( Node.js/Python ):定期从苹果“查找网络”拉取加密位置数据,解析后存储至数据库; - GPX 生成引擎:将经纬度、时间戳、海拔数据封装为标准 GPX 文件( XML 格式),包含轨迹点( "<trkpt>")、时间( "<time>")及元数据; - 前端界面( Vue3 ):用户可筛选任意物品、时间段,批量导出 GPX 或生成热力图。

    二、GPX 功能如何赋能用户场景?

    旅行回忆 导出全年轨迹,在“一生足迹”中生成旅行足迹地图 导入 GPX 至 APP ,自动绘制路径与地点标记

    物品追踪 找回丢失行李后,通过历史 GPX 分析停留点(如“上周行李箱是否遗落酒店?”) 用 gpx Studio 解析 GPX ,可视化停留时长 老人安全 家属秘密导出老人活动轨迹,发现异常规律(如频繁前往高风险区域) 将 GPX 导入两步路 APP ,设置地理围栏告警

    户外运动 骑行/徒步轨迹无缝同步至专业工具(如佳明设备、Strava )进行数据分析 通过电脑拖拽 GPX 文件至设备存储目录 IMG_20250826_165909.jpg

    三、如何操作 GPX 导出?四步完成

    1. Web 端登录:访问自建或托管的后台服务(支持 PC/手机浏览器);
    2. 选择轨迹:点击物品→选择时间范围(支持单日/多日/自定义);
    3. 生成 GPX:点击“导出 GPX”→选择“GPX 格式”→自动下载文件;
    4. 导入第三方 APP: - 一生足迹/世界迷雾:APP 内点击“导入 GPX”即可加载轨迹; - 佳明/行者设备:连接电脑→复制 GPX 至设备 "NewFiles"文件夹→重启设备; - 专业分析:用 Python 脚本(如 gpxpy 库)解析数据,或通过 GPSVisualizer 生成 3D 地图。

    四、开源与生态兼容性

    • 数据主权:用户自建服务器(树莓派/Linux 均可),杜绝平台“跑路”风险;
    • 硬件 DIY:PCB 设计开源,新手可焊接( GitHub 提供固件烧录指南);
    • 全平台覆盖:安卓/iOS/PC 共用同一 Web 界面,打破生态壁垒。

    五、获取方式

    “程序员的价值,是用代码填平生活的鸿沟” 当丢失的钥匙通过苹果网络找回,足迹化作可分析的 GPX 数据,当旅行轨迹成为人生的数字遗产——这便是 NinjiaTag 的意义所在。

    第 1 条附言  ·  10 天前
    NinjiaTag 技术交流群 qq 群号 1033986998
    第 2 条附言  ·  9 天前
    第 3 条附言  ·  9 天前
    海鲜市场搜用户 Dijkstra 很贪心,不定期上架一些 diy 成品
    60 条回复    2025-09-03 15:39:13 +08:00
    fruitmonster
        1
    fruitmonster  
       10 天前
    很厉害,支持!支持!
    Tengdw
        2
    Tengdw  
       10 天前 via iPhone
    第一张图片里面的 tag 有没有 diy 教程?
    Geeekcat
        3
    Geeekcat  
    OP
       10 天前 via Android
    @Tengdw 开源项目里面有烧录教程
    hullhutt
        4
    hullhutt  
       10 天前
    厉害,支持下
    whileFalse
        5
    whileFalse  
       10 天前 via Android
    没看代码,请问是任何符合协议的硬件都能连接上苹果的查找网络吗
    panda188
        6
    panda188  
       10 天前
    如果能兼容安卓(小米/vivo /oppo )/苹果/鸿蒙就牛逼了,我在淘宝上搜都是某一款品牌或者只苹果设备的 比较尴尬。
    Geeekcat
        7
    Geeekcat  
    OP
       10 天前 via Android
    @panda188 利用了苹果的查找网络,主要这个生态比较大,任何一个设备的浏览器都可以查询位置轨迹
    Geeekcat
        8
    Geeekcat  
    OP
       10 天前 via Android
    @whileFalse 符合协议的蓝牙数据包都可以
    mrchi
        9
    mrchi  
       10 天前
    官方的 airtag 或者华强北的平替,能从查找网络里拉到数据吗
    humbass
        10
    humbass  
       10 天前 via Android
    这么小的东西,不会是 gps 的吧?
    cwxiaos
        11
    cwxiaos  
       10 天前 via iPhone
    感觉要被各种恶心的灰产黑产利用,要是苹果不把这种修了,我估计以后都得把 findmy 网络关了
    liyang5945
        12
    liyang5945  
       10 天前
    一颗电池续航有多久?
    Geeekcat
        13
    Geeekcat  
    OP
       10 天前 via Android
    @liyang5945 cr2032 续航 1 年多
    Geeekcat
        14
    Geeekcat  
    OP
       10 天前 via Android
    @humbass findmy 蓝牙方案
    Geeekcat
        15
    Geeekcat  
    OP
       10 天前 via Android   ❤️ 1
    @mrchi 比较难
    humbass
        16
    humbass  
       10 天前
    @Geeekcat 如何联系 ? github 连邮箱都没有。
    Geeekcat
        17
    Geeekcat  
    OP
       10 天前 via Android
    @humbass 技术交流 qq 群号 1033986998
    ly1878
        18
    ly1878  
       10 天前
    伟大!!有孩子家庭的福音。
    作为一位老网民也是孩子父亲,说真的,第一次切身感受到程序员改变世界的冲击感。
    我不是 it 人士,13 年折腾 Goagent 为了轻功,16 年几个通宵熬夜刷 VPS CentOS 版本为了锐速破解版。
    虽然现在没时间或者精力不允许,但是非常愿意为了你的技术成果来接触学习容器之类的计算机技术。
    freedoom
        19
    freedoom  
       9 天前
    github page 404
    Geeekcat
        20
    Geeekcat  
    OP
       9 天前 via Android
    @ly1878 感谢支持
    Enter96
        21
    Enter96  
       9 天前
    @freedoom 检查你的链接,去掉多余的部分
    luodan
        22
    luodan  
       9 天前   ❤️ 1
    比较好奇的问一下,用 NinjaTag 会不会更好一点? Ninjia 这种拼法有点不中不洋的感觉。
    freedoom
        23
    freedoom  
       9 天前
    感觉这种 Apple ID 授权不合规有风险。
    Geeekcat
        24
    Geeekcat  
    OP
       9 天前 via Android
    @luodan 之前打错了,也不好改了
    Geeekcat
        25
    Geeekcat  
    OP
       9 天前 via Android
    @freedoom 模拟一台 mac 设备请求,苹果无法分辨
    freedoom
        26
    freedoom  
       9 天前
    @Geeekcat 那用个人常用 Apple id 也可以没风险?
    missqso
        27
    missqso  
       9 天前 via iPhone
    精确度呢,如果荒郊野外附近没有苹果设备是不是就没有信号,无法记录了?
    Geeekcat
        28
    Geeekcat  
    OP
       9 天前 via Android
    @freedoom 不建议用常用的,新注册个测试的
    Geeekcat
        29
    Geeekcat  
    OP
       9 天前 via Android
    @missqso 是的,适合有人的地方使用,适合长期记录功耗低
    ariza
        30
    ariza  
       9 天前   ❤️ 1
    看起来不错
    scsc
        31
    scsc  
       9 天前
    能直接买成品吗,相机拍照没 gps 很烦,装包里不经常拿出来,续航长一点就好了
    Geeekcat
        32
    Geeekcat  
    OP
       9 天前 via Android
    @scsc 海鲜市场搜用户 Dijkstra 很贪心,有成品
    scsc
        33
    scsc  
       9 天前
    @Geeekcat 这个服务收费,是怎么个收费呢,一次性还是订阅。多钱呢
    Geeekcat
        34
    Geeekcat  
    OP
       9 天前 via Android
    @scsc 一次性,用我服务器的话,加几块钱就行
    scsc
        35
    scsc  
       9 天前
    @Geeekcat get 我去搞了一个
    yj444
        36
    yj444  
       9 天前   ❤️ 1
    厉害了,下单两个支持一下!
    Geeekcat
        37
    Geeekcat  
    OP
       9 天前 via Android
    @scsc 感谢支持
    Geeekcat
        38
    Geeekcat  
    OP
       9 天前 via Android
    @yj444 感谢支持
    kaizceo8
        39
    kaizceo8  
       9 天前
    666
    ouou0701
        40
    ouou0701  
       9 天前
    不错不错,已下单一个试试
    aice114
        41
    aice114  
       9 天前   ❤️ 1
    下单一个支持一下
    Geeekcat
        42
    Geeekcat  
    OP
       9 天前 via Android
    @aice114 感谢支持
    Geeekcat
        43
    Geeekcat  
    OP
       9 天前 via Android
    @ouou0701 感谢支持
    ouou0701
        44
    ouou0701  
       9 天前
    @Geeekcat #43 希望 UI 可以好看点,现在这么看有点糙,另外苹果自带的查找能不能看哈哈哈哈哈哈哈哈哈哈
    Geeekcat
        45
    Geeekcat  
    OP
       9 天前 via Android
    @ouou0701 自带的查找不能添加,UI 后期还会继续优化
    zirconium
        46
    zirconium  
       9 天前
    能不能出带挂绳的方便挂到手机壳上。
    zirconium
        47
    zirconium  
       9 天前
    比如这样的。
    Geeekcat
        48
    Geeekcat  
    OP
       9 天前 via Android
    @zirconium 可以使用 airtag 保护套,尺寸相同
    felbryiozzzz
        49
    felbryiozzzz  
       9 天前   ❤️ 1
    如果想销售赚点可以试试去飞牛论坛或者其它 NAS 论坛发发教程,比如上架下飞牛的应用商店方便小白安装,可能会增加一部分受众
    Geeekcat
        50
    Geeekcat  
    OP
       9 天前 via Android
    @felbryiozzzz 了解,感谢了
    whatv3
        51
    whatv3  
       9 天前
    点进去一看,原来已经 star 过了,有意思的项目。
    coolfan
        52
    coolfan  
       9 天前   ❤️ 1
    很酷
    Aitisikuoliv1d
        53
    Aitisikuoliv1d  
       7 天前
    配置 python 那几个步骤 可以一块弄成 docker 部署就好了 配置有点繁琐
    Geeekcat
        54
    Geeekcat  
    OP
       7 天前 via Android
    @Aitisikuoliv1d docker 的还在弄
    aero99
        55
    aero99  
       7 天前
    自己部署感觉有些繁琐,能否简化些,搞个 tg 群分舵吧,QQ 都很少用了
    volvo007
        56
    volvo007  
       7 天前 via iPhone
    非常好奇怎么做到这么低功耗的
    Geeekcat
        57
    Geeekcat  
    OP
       6 天前 via Android
    @volvo007 只有蓝牙广播,所以功耗很低
    bash
        58
    bash  
       5 天前
    和 AirTag 比较就是功能一样 也可以在 findmy 查看实时位置 但是多了个导出轨迹?
    Geeekcat
        59
    Geeekcat  
    OP
       4 天前 via Android
    @bash 不兼容查找,单独一套系统
    Geeekcat
        60
    Geeekcat  
    OP
       2 天前 via Android
    @bash 功能一样,单独一套系统,可以导出轨迹
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1029 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 18:37 · PVG 02:37 · LAX 11:37 · JFK 14:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.