Files
akmon/doc_ble/SENSOR_SYSTEM_DOCUMENTATION.md
2026-01-20 08:04:15 +08:00

315 lines
6.9 KiB
Markdown

# 智能传感器数据采集与分析系统
## 概述
这是一套完整的高性能、可扩展的运动传感设备数据采集与分析系统,采用 UTS uni-app-x 技术栈开发,严格遵循 Android 最严格模式规范。系统支持多种生命体征数据的实时采集、存储、分析和可视化。
## 技术架构
### 前端技术栈
- **框架**: UTS uni-app-x
- **语言**: TypeScript (UTS)
- **UI框架**: uni-app-x 原生组件
- **数据请求**: AkSupa 链式请求库
- **实时通信**: Supabase Realtime
- **图表组件**: ak-charts
### 后端技术栈
- **数据库**: PostgreSQL + TimescaleDB
- **实时服务**: Supabase
- **AI分析**: RPC 函数
- **数据存储**: 时序数据库优化
## 功能模块
### 1. 主要页面结构
```
pages/sense/
├── nav.uvue # 导航入口页面
├── index.uvue # 实时监控主页
├── detail.uvue # 数据详情页面
├── analysis.uvue # 数据分析页面
├── devices.uvue # 设备管理页面
├── settings.uvue # 传感器设置页面
├── simulator.uvue # 数据模拟器页面
└── types.uts # 类型定义文件
```
### 2. 支持的传感器类型
- **心率监测**: 心率、RR间期、心率变异性
- **步数统计**: 步数、距离、卡路里
- **血氧检测**: 血氧饱和度、灌注指数
- **血压测量**: 收缩压、舒张压、脉压、平均动脉压
- **体温监测**: 体温、环境温度
- **步幅分析**: 步幅长度、步频、着地时间
- **位置定位**: GPS坐标、海拔、速度
- **心电图**: 原始信号、心律类型、各项间期
### 3. 核心功能
#### 实时数据监控 (index.uvue)
- 设备状态显示
- 实时指标卡片
- 多类型数据趋势图表
- 历史记录列表
- AI分析结果弹窗
- Supabase Realtime 订阅
#### 数据分析 (analysis.uvue)
- 时间范围选择 (24h/7d/30d/90d)
- 健康评分计算
- 指标趋势分析
- 异常检测与警报
- AI智能分析报告
- 数据对比功能
#### 设备管理 (devices.uvue)
- 蓝牙设备扫描
- 设备绑定/解绑
- 设备配置管理
- 采样频率设置
- 上传间隔配置
- 自动同步开关
#### 传感器设置 (settings.uvue)
- 通用设置开关
- 采集频率配置
- 异常阈值设置
- 通知配置
- 数据管理选项
- 隐私设置
- 设备校准功能
- 数据导出选项
#### 数据模拟器 (simulator.uvue)
- 实时数据模拟
- 传感器配置面板
- 批量数据生成
- 统计信息显示
- 数据预览功能
## 数据库设计
### 主要数据表
#### ss_sensor_measurements (通用测量表)
```sql
CREATE TABLE ss_sensor_measurements (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
device_id UUID REFERENCES ak_devices(id),
user_id UUID REFERENCES ak_users(id),
measurement_type VARCHAR(50) NOT NULL,
measured_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
unit VARCHAR(20),
raw_data JSONB NOT NULL,
quality_score INTEGER DEFAULT 100,
created_at TIMESTAMPTZ DEFAULT NOW()
);
```
#### 专项数据表
- `ss_heart_rate_data` - 心率专项数据
- `ss_steps_data` - 步数专项数据
- `ss_spo2_data` - 血氧专项数据
- `ss_blood_pressure_data` - 血压专项数据
- `ss_temperature_data` - 体温专项数据
- `ss_stride_data` - 步幅专项数据
- `ss_location_data` - 位置专项数据
- `ss_ecg_data` - 心电图专项数据
### 索引优化
- 时间序列索引 (measured_at)
- 设备+用户组合索引
- 测量类型索引
- JSONB 字段 GIN 索引
## 前端技术特点
### 1. 严格的 UTS 类型系统
```typescript
export type SensorMeasurement = {
id: string;
device_id: string;
user_id: string;
measurement_type: string;
measured_at: string;
unit: string;
raw_data: UTSJSONObject;
created_at: string;
}
```
### 2. 链式数据请求
```typescript
const result = await supa.from('ss_sensor_measurements')
.eq('device_id', deviceId)
.eq('user_id', userId)
.order('measured_at', { ascending: false })
.limit(50)
.execute()
```
### 3. 实时数据订阅
```typescript
realtimeSubscription = supa.from('ss_sensor_measurements')
.on('INSERT', (payload: UTSJSONObject) => {
// 处理实时数据更新
})
.subscribe()
```
### 4. 响应式设计
- 大屏/小屏自适应
- 动态字体缩放
- 触摸友好的交互
- 无障碍支持
## 性能优化
### 1. 数据库层面
- 时序数据库优化
- 分区表设计
- 索引优化
- 连接池管理
### 2. 前端层面
- 懒加载机制
- 虚拟滚动
- 数据缓存
- 防抖节流
### 3. 实时通信
- WebSocket 连接复用
- 数据压缩
- 断线重连
- 消息队列
## 安全考虑
### 1. 数据安全
- 端到端加密
- 本地数据加密存储
- 传输层 TLS 加密
- 敏感数据脱敏
### 2. 访问控制
- 用户身份验证
- 设备绑定验证
- 数据权限控制
- API 频率限制
### 3. 隐私保护
- 数据最小化原则
- 用户同意机制
- 数据匿名化
- 右to被遗忘
## 部署说明
### 1. 数据库部署
```bash
# 安装 PostgreSQL 和 TimescaleDB
# 运行数据库脚本
psql -f doc_ble/ss_sensor_data_schema.sql
psql -f doc_ble/ss_generate_mock_data.sql
```
### 2. 后端服务
- 配置 Supabase 项目
- 部署 RPC 函数
- 设置实时订阅规则
- 配置数据库连接
### 3. 前端应用
```bash
# 安装依赖
npm install
# 编译运行
npm run dev:app-android
```
## 扩展性设计
### 1. 模块化架构
- 独立的传感器模块
- 可插拔的分析引擎
- 标准化的数据接口
- 微服务架构支持
### 2. 多租户支持
- 租户级别的数据隔离
- 个性化配置
- 资源配额管理
- 计费系统集成
### 3. 国际化支持
- 多语言界面
- 地区化数据格式
- 时区处理
- 文化适配
## 监控与维护
### 1. 系统监控
- 数据采集状态监控
- 性能指标监控
- 错误日志收集
- 用户行为分析
### 2. 数据质量
- 数据完整性检查
- 异常值检测
- 数据一致性验证
- 质量评分系统
### 3. 备份恢复
- 自动数据备份
- 增量备份策略
- 灾难恢复计划
- 数据迁移工具
## 使用指南
### 1. 开发者
- 参考 types.uts 了解数据结构
- 使用 AkSupa 进行数据操作
- 遵循 UTS 严格模式规范
- 实现响应式设计
### 2. 用户
- 从导航页面 (nav.uvue) 开始
- 绑定传感器设备
- 配置采集参数
- 查看实时数据和分析报告
### 3. 管理员
- 监控系统运行状态
- 管理用户和设备
- 配置系统参数
- 维护数据质量
## 后续规划
### 1. 功能增强
- 更多传感器类型支持
- 高级AI分析算法
- 社交功能集成
- 健康建议系统
### 2. 技术升级
- 边缘计算支持
- 机器学习模型部署
- 区块链数据验证
- 5G 网络优化
### 3. 生态建设
- 第三方设备接入
- 开放API平台
- 开发者社区
- 商业化模式
---
本系统为高性能、企业级的传感器数据管理平台,具备完整的功能模块和良好的扩展性,可以满足各种规模的部署需求。