# 智能传感器数据采集与分析系统 ## 概述 这是一套完整的高性能、可扩展的运动传感设备数据采集与分析系统,采用 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平台 - 开发者社区 - 商业化模式 --- 本系统为高性能、企业级的传感器数据管理平台,具备完整的功能模块和良好的扩展性,可以满足各种规模的部署需求。