项目简介
本项目是基于Contiki操作系统的智能ICU监测系统,借助物联网技术实现对重症监护病房(ICU)患者生命体征的实时监测与控制。系统可检测患者健康状况的早期恶化,并及时发出警报。项目包含边界路由器、Java数据收集器以及基于MQTT和CoAP协议的体征监测器。
项目的主要特性和功能
- 边界路由器:基于Contiki - NG操作系统,负责将传感器数据从ICU设备转发到Java收集器。
- Java收集器:使用Java编写,接收、存储和分析从边界路由器发送的遥测数据,定期检测患者健康状况的恶化。
- 体征监测器:支持MQTT和CoAP协议,从传感器收集数据并发送到Java收集器,还能启动和停止警报系统。
- 模拟环境:提供Cooja模拟器中的仿真场景,方便开发和测试。
安装使用步骤
环境准备
- 安装Contiki - NG操作系统和Cooja模拟器。
- 安装Java 8和Maven。
- 安装MQTT代理(如
mosquitto
)和MySQL数据库。
项目配置
- 将项目文件夹移动到
contiki - ng/examples
目录下。 - 修改
vital - signs - monitor/coap - monitor/project - conf.h
和vital - signs - monitor/mqtt - monitor/project - conf.h
文件中的日志级别和患者ID自动配置。 - 在
collector
文件夹中,使用以下命令编译收集器:bash mvn clean install
- 运行MQTT代理。
- 导入或创建MySQL数据库,数据库脚本位于
smartICU_db.sql
。
配置收集器
- 创建一个JSON配置文件(如
configuration.json
),配置MQTT代理、CoAP收集器、数据库连接等信息。 - 若MQTT代理和CoAP收集器的端口不是默认的1883和5683,需在
vital - signs - monitor/mqtt - monitor/utils/mqtt - monitor - constants.h
和vital - signs - monitor/coap - monitor/utils/coap - monitor - constants.h
中修改相应端口。
启动模拟
- 在Cooja中导入
simulations/example.csc
仿真场景。 - 配置边界路由器,使用
tunslip6
工具启动串行套接字:bash Tools > Serial Socket (SERVER) > Contiki 1 Start
- 在
border - router
文件夹中执行以下命令:bash make TARGET = cooja connect - router - cooja
启动收集器
- 在
collector
文件夹中,使用以下命令启动收集器:bash java -jar target/smartICU - collector - 1.0 - SNAPSHOT - jar - with - dependencies.jar -c configuration.json
运行监测器
- 在Cooja中启动仿真,并通过串行接口输入患者ID。
- 观察监测器的数据收集与传输过程。
修改节点行为
可通过修改以下文件调整节点行为,包括传感器的采样率等参数:
- vital - signs - monitor/mqtt - monitor/project - conf.h
- vital - signs - monitor/mqtt - monitor/utils/mqtt - monitor - constants.h
- vital - signs - monitor/coap - monitor/project - conf.h
- vital - signs - monitor/coap - monitor/utils/coap - monitor - constants.h
- vital - signs - monitor/common/alarm - constants.h
- vital - signs - monitor/common/sensors/utils/sensor - constants.h
此项目适合具备一定网络知识和编程基础的用户使用,建议根据代码中的注释和文档进行配置和调试。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】