Skip to content

nan1010082085/link-cycing

Repository files navigation

智能骑行数据中心

基于 Web Bluetooth API 的智能骑行设备连接和数据监控平台,支持实时数据采集、显示和分析。

✨ 核心特性

  • 🔗 单设备连接: 支持骑行台、功率计、心率设备、电子变速器
  • 📊 实时监控: 阻力、功率、心率、踏频数据实时显示
  • 🚴‍♂️ 会话管理: 完整的骑行会话记录和统计
  • 📈 数据可视化: 图表展示和历史数据分析
  • 📤 数据导出: 支持 FIT 和 JSON 格式导出
  • 💾 本地存储: IndexedDB 本地数据库存储

🚀 快速开始

环境要求

  • Node.js 18+
  • 支持 Web Bluetooth API 的现代浏览器
  • HTTPS 环境(本地开发可使用 localhost)

安装和运行

# 安装依赖
pnpm install

# 开发模式
pnpm dev

# 构建生产版本
pnpm build

📱 浏览器支持

浏览器 版本要求 支持状态
Chrome 56+ ✅ 完全支持
Edge 79+ ✅ 完全支持
Opera 43+ ⚠️ 部分测试
Firefox - ❌ 不支持
Safari - ❌ 不支持

🎯 使用指南

设备连接

  1. 选择设备类型(默认:骑行台)
  2. 点击「扫描设备」
  3. 在弹出窗口中选择蓝牙设备
  4. 等待连接成功

开始骑行

  1. 连接设备后点击「开始骑行」
  2. 实时查看数据和统计
  3. 可随时暂停/继续/结束会话

数据管理

  • 实时数据在主界面显示
  • 历史记录通过会话管理查看
  • 支持 FIT 格式导出到 Garmin、Strava 等平台

🏗️ 技术栈

  • 前端: Vue 3 + TypeScript + Vite
  • UI: Ant Design Vue 4.x
  • 状态管理: Pinia
  • 数据库: IndexedDB (Dexie.js)
  • 图表: Chart.js
  • 蓝牙: Web Bluetooth API

📊 功能状态

✅ 已实现

  • 单设备蓝牙连接和管理
  • 实时数据监控和显示
  • 骑行会话记录和统计
  • 数据可视化图表
  • FIT/JSON 格式数据导出
  • 本地数据存储和管理
  • 响应式用户界面

🔧 开发

项目结构

src/
├── components/          # Vue 组件
├── stores/             # Pinia 状态管理
├── types/              # TypeScript 类型
├── utils/              # 工具函数
├── pages/              # 页面组件
└── router/             # 路由配置

开发环境

  • 推荐使用 VSCode + Volar 插件
  • 遵循 TypeScript 严格模式
  • 使用 ESLint 和 Prettier 格式化

🐛 故障排除

常见问题

  1. 无法连接设备: 确保 HTTPS 环境、设备配对模式、浏览器支持
  2. 数据异常: 检查设备状态、距离、控制台错误
  3. 导出失败: 确认数据完整性、浏览器下载设置

调试

开发模式下可在浏览器控制台查看详细日志。

📝 版本历史

v1.0.1 (当前)

  • 简化设备连接流程
  • 单选设备类型模式
  • 优化用户界面
  • 修复类型错误

v1.0.0

  • 初始版本发布
  • 基础功能实现

详细更新日志请查看 CHANGELOG.md

🤝 贡献

欢迎提交 Issue 和 Pull Request!

贡献流程

  1. Fork 项目
  2. 创建特性分支
  3. 提交更改
  4. 发起 Pull Request

📄 许可证

MIT License - 详见 LICENSE

🙏 致谢

感谢以下开源项目:

  • Vue.js、Ant Design Vue、Vite
  • Dexie.js、Chart.js、Day.js
  • Web Bluetooth API

Happy Cycling! 🚴‍♂️

让科技为骑行赋能,让数据驱动进步!

About

现代浏览器利用蓝牙连接骑行台、心率监测等设备

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors