解锁您的 Garmin 数据:使用自托管的 Grafana 仪表盘可视化每项指标

发布: (2026年2月11日 GMT+8 22:14)
4 分钟阅读
原文: Dev.to

Source: Dev.to

快速概览 📝

本仓库提供一个 Docker 化的 Python 脚本,用于从 Garmin Connect 获取健康数据并存入 InfluxDB 数据库。随后可使用 Grafana 进行可视化,帮助用户追踪长期健康趋势并创建自定义仪表盘。

关键要点 💡

  • ✅ Garmin Grafana 提供了一个简洁的 Docker 化方案,能够从 Garmin Connect 获取并本地存储所有完整的健康指标。
  • ✅ 通过自托管实现数据完全自主与隐私,避免依赖第三方云服务。
  • ✅ 利用 InfluxDB 与 Grafana 的强大功能构建自定义仪表盘,将 HRV、睡眠评分、Body Battery 等指标组合,获得更深入的洞察。
  • ✅ 项目支持历史数据回填和自动同步,成为长期健康追踪的“设置即忘记”解决方案。

项目统计 📊

  • Stars: 2,827
  • Forks: 174
  • Open Issues: 20

技术栈 💻

  • ✅ Python
  • Docker
  • InfluxDB(时序存储)
  • Grafana(可视化)

概述

你是否厌倦了健身追踪应用默认仪表盘的限制?如果你拥有 Garmin 设备,你一定知道这些数据价值极高,但可视化选项往往受限,且数据并未真正本地拥有。Garmin Grafana 通过开源方案解放你的健康指标,将其转化为可操作、完全可定制的洞察。

该项目是一个自托管的数据管道,封装在 Docker 容器中。其主要职责是充当 Garmin Connect 账户与私有数据库之间的安全、自动化桥梁。它会自动连接 Garmin 服务器,获取所有完整的健康指标——细粒度心率数据、详细的睡眠模式(包括 SpO₂、呼吸频率和 HRV)、压力水平以及 Body Battery 分数——并直接将这些信息写入运行在本地机器或服务器上的 InfluxDB 实例。

架构

  • Docker 容器 – 负责抽取与加载(ETL)。
  • InfluxDB – 存储时序数据。
  • Grafana – 提供可视化层。

这种模块化设置易于部署(配合辅助脚本或 Helm/Kubernetes Chart)且易于维护。配置完成后,系统会在每次 Garmin Connect 上传后不久自动同步新数据,保持本地存储的实时性。

自定义仪表盘

将 Grafana 连接到本地 InfluxDB 实例后,官方应用的限制不复存在。你可以创建完全自定义的仪表盘,将 Garmin 从未组合过的指标放在一起,并在数月甚至数年间追踪趋势,而无需数据平均。示例包括:

  • 将睡眠评分与跑步配速在六个月内进行关联分析。
  • 分析 Body Battery 恢复情况并配合压力热力图。

隐私与导出

自行托管整个栈后,你可以消除将敏感健康数据共享给第三方的风险。数据还能导出为 CSV 文件,用于高级分析、与 Python 脚本集成或本地 AI 模型,真正实现数据自主并深入了解你的健身旅程。

了解更多 🔗

View the Project on GitHub

0 浏览
Back to Blog

相关文章

阅读更多 »