Sports Elf 是一个基于微信小程序的智能运动监测系统,通过多种传感器实时采集和展示数据,帮助用户更好地了解自己的运动状态和环境信息。
- 📊 实时数据监测:温度、湿度、光照、步数、血氧等多种传感器数据的实时显示
- 📅 历史数据查询:支持按日期范围查询历史数据,并以图表形式展示
- 📈 数据可视化:使用 ECharts 绘制直观的数据趋势图
- 📡 实时通信:基于 MQTT 协议的实时数据传输
- ☁️ 云端存储:使用微信云开发数据库存储历史数据
- 👤 用户管理:支持用户登录和个人信息管理
- 微信小程序原生开发
- 📦 MQTT.js:用于实时数据通信
- 📊 ECharts:数据可视化图表库
- ☁️ 微信云开发:云数据库存储
- 🌐 巴法云(BEMFA):MQTT物联网云平台
本项目使用巴法云(BEMFA)作为MQTT消息服务器:
- 提供稳定的MQTT服务器
- 支持多种物联网协议
- 提供免费的Topic通道
- 支持SSL加密通信 🔐
- 支持多种硬件和开发平台
- 提供完整的API文档和示例代码 📃
项目使用以下MQTT主题:
- 🌡️ 温度数据:
Tem - 💧 湿度数据:
Hum - 🌞 光照数据:
Sunlight - 🚶♂️ 步数数据:
Step - 🩸 血氧数据:
BloodOxygen - 🔔 蜂鸣器控制:
Beep
实时数据监控页面,展示:
- 传感器实时数据 ⏱️
- 更新时间 ⌛
- MQTT连接状态 📶
- 支持的传感器:
- 温度 (°C)
- 湿度 (%)
- 光照 (lux)
- 步数
- 血氧 (%)
- 蜂鸣器状态
历史数据查询页面,功能包括:
- 按传感器类型筛选数据
- 自定义日期范围查询 🗓️
- 数据趋势图表显示 📉
- 数据统计信息(最大值、最小值、数据点数)🔢
用户管理页面,提供:
- 用户登录/注销 🔐
- 个人信息管理 📋
- 头像设置 🖼️
- 昵称修改 ✏️
Sports_elf/
├── pages/
│ ├── index/ # 首页 - 实时数据
│ ├── history/ # 历史数据页面
│ └── user/ # 用户中心
├── utils/
│ ├── mqtt/ # MQTT 相关配置和连接
│ └── ec-canvas/ # ECharts 组件
└── app.js # 小程序入口文件用于存储传感器历史数据:
type: 传感器类型value: 数据值timestamp: 时间戳date: 日期字符串
- 首次使用需要登录 🔑
- 登录后自动连接 MQTT 服务器 📶
- 实时显示传感器数据 📊
- 可在历史数据页面查询历史记录 📅
- 支持断线重连 🔄
- 需要在巴法云平台注册账号并获取MQTT密钥 🔑
- 需要在配置文件中正确设置MQTT服务器信息和Topic ⚙️
- 需要开通微信云开发功能、配置好云数据库ID,创建好云数据库名称 ☁️
- 建议使用微信开发者工具进行调试 🛠️
- 注册巴法云账号:https://bemfa.com 🌐
- 获取MQTT通信密钥 🔑
- 在
utils/mqtt/mqtt_config.js中配置:- 服务器地址 🖥️
- 通信密钥 🔐
- Topic列表 📜
- 开通微信云开发功能 ☁️
- 创建云数据库集合:
sensorData🗂️ - 配置云开发环境ID 🆔
- 添加更多的数据分析功能 📈
- 支持数据导出 📤
- 添加运动建议功能 🏋️
- 优化图表展示效果 🎨
- 添加社交分享功能 🔗