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

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

  •  1
     
  •   Geeekcat · 8 天前 · 3725 次点击

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