# ytzg_iot_server **Repository Path**: microchip-valley/ytzg_iot_dev ## Basic Information - **Project Name**: ytzg_iot_server - **Description**: 元泰智感项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-03 - **Last Updated**: 2026-03-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # BedBot - 智能床位监护系统 基于物联网传感器的医院患者实时监护系统,提供生命体征监测、报警管理和床位管理等功能。 ## 项目结构 ``` bedbot_new/ ├── patient_monitoring/ # React 前端 (主要交付项目) │ ├── src/ │ │ ├── app/ │ │ │ ├── components/ # UI 组件 │ │ │ ├── pages/ # 页面组件 │ │ │ └── contexts/ # React Context │ │ ├── api/ # API 接口 │ │ └── styles/ # 样式文件 │ └── package.json │ ├── RuoYi-Vue-Plus-5.X/ # Java Spring Boot 后端 │ ├── ruoyi-admin/ # 主应用入口 │ ├── ruoyi-common/ # 公共模块 │ ├── ruoyi-modules/ # 业务模块 │ └── ruoyi-extend/ # 扩展服务 │ ├── docker-deploy/ # Docker 部署配置 (MySQL + Redis + Nginx) ├── test-scripts/ # 测试脚本 ├── plus-ui/ # Vue 管理后台 (备用) ├── bnk/ # 设计资源 └── ruoyi-auto-code/ # 代码生成工具 ``` ## 技术栈 ### 前端 (patient_monitoring) - **框架**: React 18 + Vite 6 - **样式**: Tailwind CSS v4 - **路由**: react-router v7 - **UI组件**: Radix UI (shadcn/ui) - **图表**: Recharts - **动画**: motion (framer-motion) ### 后端 (RuoYi-Vue-Plus-5.X) - **框架**: Spring Boot 3.5.x + JDK 17/21 - **认证**: Sa-Token + JWT - **ORM**: MyBatis-Plus - **缓存**: Redis + Redisson - **数据库**: MySQL 8.0 - **任务调度**: SnailJob 1.9.0 - **时序数据库**: InfluxDB 1.8 (传感器数据) - **实时推送**: SSE (Server-Sent Events) ## 快速开始 ### 前端开发 ```bash cd patient_monitoring npm install npm run dev # 启动开发服务器 (http://localhost:5173) npm run build # 生产构建 ``` ### 后端开发 ```bash cd RuoYi-Vue-Plus-5.X/RuoYi-Vue-Plus-5.X mvn clean package -DskipTests java -jar ruoyi-admin/target/ruoyi-admin.jar ``` ### Docker 部署 ```bash # 复制部署包到目标服务器,然后执行 cd docker-deploy start-all.bat # Windows ./start-all.sh # Linux/Mac ``` 包含服务: - MySQL 8.0 (端口 3306, 密码: 123456) - Redis 7.4 (端口 6379, 密码: kmo2024) - Nginx (前端静态文件) ### 数据库配置 1. 创建 MySQL 数据库 `ry-vue` 2. 执行 SQL 脚本: - `script/sql/ry_vue_5.X.sql` - 主数据库架构 - `script/sql/dots_alert.sql` - 告警相关表 - `script/sql/dots_alert_default_rules.sql` - 默认告警规则 3. 配置 `application-dev.yml` 中的数据库连接 4. 配置 InfluxDB 连接(见下方传感器集成) ## 主要功能 ### 患者监护 - 实时生命体征监测 (心率、血压、血氧、呼吸、体温) - ECG 心电图波形显示 - 大屏多患者监控墙 - 患者历史数据查询 ### 告警管理 ⭐ - **告警规则配置**: 支持心率、血压、血氧等多指标阈值设置,前端页面可配置 - **自动告警检测**: SnailJob 定时任务每10秒检测异常 - **实时告警推送**: SSE 推送告警到前端,支持声音提示和 Toast 弹窗 - **告警处理**: 告警确认、恢复、忽略等状态管理 - **防抖机制**: 连续N次异常才触发告警,避免误报 - **告警列表**: 实时展示所有告警记录,支持筛选和导出 ### 床位管理 - 床位与患者绑定/解绑 - **床位绑定设备**: 在床位管理页绑定/解绑设备 - 病房楼层管理 - 设备状态监控 ### 设备管理 - 设备增删改查 - Excel 批量导入设备 - MAC 地址关联 InfluxDB 传感器数据 - 设备在线/离线状态监控 ### 系统管理 - 多租户医院管理 - 员工管理 (医生/护士) - 角色权限管理 - 操作日志审计 ## 🔗 传感器数据与告警检测 ### 架构流程 ``` 振动传感器 → InfluxDB → SnailJob 定时采集 → 告警检测 → SSE 推送 → 前端 ↓ Redis 缓存 → 前端 API ``` ### 告警检测机制 1. **数据采集**: SnailJob 每10秒从 InfluxDB 读取患者生命体征 2. **规则匹配**: 根据配置的告警规则检测异常 3. **防抖处理**: 连续N次异常才触发告警(避免误报) 4. **实时推送**: 通过 SSE 推送到前端,播放声音提示 5. **状态管理**: 告警确认后停止声音,可填写处理备注 ### API 端点 ```bash # 传感器数据查询 GET /monitor/sensor/latest # 获取所有设备最新数据 GET /monitor/sensor/latest/{mac} # 获取指定设备最新数据 # 告警管理 GET /system/alert/list # 告警列表 POST /system/alert/{id}/ack # 确认告警 GET /system/alert/sse # SSE 实时告警推送 (EventSource) # 告警规则 GET /system/alertRule/list # 告警规则列表 POST /system/alertRule # 创建规则 PUT /system/alertRule # 更新规则 ``` ### 配置说明 见 `SNAILJOB_CONFIG.md` 了解 SnailJob 定时任务配置详情。 ## 用户角色 | 角色 | 权限 | |------|------| | 超级管理员 | 全局管理、所有医院 | | 医院管理员 | 本医院管理 | | 医生 | 查看患者、病历管理 | | 护士 | 患者监护、床位管理 | ## 默认账号 - 超级管理员: `admin` / `admin123` - 医院管理员: 创建医院时自动生成 ## 环境要求 - Node.js >= 18 - JDK >= 17 - MySQL >= 8.0 - Redis >= 6.0 - Maven >= 3.8 ## 项目截图 ### 实时监控 - 患者列表实时展示生命体征数据 - 大屏监控墙支持全屏显示 - 告警时自动播放声音提示 ### 告警管理 - 告警规则配置页面支持多指标阈值设置 - 告警列表展示待处理、已确认、已恢复状态 - 实时告警推送,支持 Toast 通知 ### 设备与床位管理 - 床位管理页面可绑定设备和患者 - 设备列表展示在线/离线状态 - 支持 Excel 批量导入设备 ## 文档索引 | 文档 | 说明 | |------|------| | `AGENTS.md` | 完整项目架构和开发指南 | | `CLAUDE.md` | Claude Code 工作指引 | | `DEPLOY.md` | 部署指南 | | `DEVICE_INTEGRATION_PLAN.md` | 设备集成方案 | | `SNAILJOB_CONFIG.md` | SnailJob 配置说明 | | `docs/dev/ISSUES_*.md` | 开发问题记录 | ## License MIT