基于 LoRa 的 Covid-19 患者监测设备
组件和用品
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
必要的工具和机器
| ||||
|
应用和在线服务
| ||||
| ||||
| ||||
|
关于这个项目
夏天
我们提出了一种智能患者监控系统,通过基于传感器的连接网络自动监控患者的健康状况。该系统专为 Covid-19 患者设计。多个传感器用于收集患者的生物行为。然后将有意义的生物信息转发到物联网云。该系统更加智能,能够通过处理传感器数据来检测患者的危急情况,并立即向医生/护士以及医院负责人提供推送通知。医生和护士通过远程观察相应的患者而无需亲自拜访,从而从该系统中受益。患者的亲属也可以在访问受限的情况下从该系统中受益。
说明
我们使用了一个 Things UNO(Lora 开发板)作为这个监控系统的主控制器。 Things UNO 板从各种传感器收集有关患者健康参数的信息(在硬件组件列表部分中进行了描述)。 The Things UNO 还负责将数据传输到 Lora Gateway(The Things Gateway)。 Lora 网关与 AWS 云相连。本系统使用AWS IoT云平台作为物联网云。
硬件组件列表
患者的紧急情况通过简单的数学方程-I确定,
表1详细阐述了阈值水平的数学符号。
我们开发了一个用于可视化传感器数据的移动应用程序。各种图表和仪表已用于显示实时传感器数据,其中包含患者的当前健康参数(当前健康状况)。通过此应用程序,医生或护士无需前往 ICU 病房即可远程监控患者。由于智能的性质,系统向相应的医生或护士发送关于患者紧急情况的推送通知,其中方程-I通过处理传感器数据来确定患者的紧急情况。医院负责人(ICU 负责人)还通过我们基于 Web 的云连接桌面应用程序(如图所示)一次持续监控多名患者,从而提高了 ICU 单元的效率。所有应用程序都连接到物联网云,并使用不同类型的图表(如仪表、迷你图、文本等)将实时数据可视化。
医生护士病人监护系统的移动应用。设备不断地将传感器数据流式传输到物联网云,应用程序直接连接到云,并使用不同类型的图表实时可视化。
结论
我们在该项目中描述的建议系统允许医生或护士以及医院负责人实时监控 ICU 单元中的患者,从而提高效率和服务质量。将这个系统修改为可穿戴设备是一个巨大的机会,让我们可以从任何地方远程监控老年人或婴儿。
参考
1. Uddin, M. S.、Alam, J. B. 和 Banu, S.(2017 年 9 月)。基于物联网的实时病人监护系统。 2017 年第四届国际电气工程进展会议 (ICAEE)(第 516-521 页)。 IEEE。 DOI:10.1109/ICAEE.2017.8255410
代码
- 来源
源Arduino
#include#include #include #include #include // 设置您的 AppEUI 和 AppKeyconst char *appEui =" 0000000000000000";const char *appKey ="00000000000000000000000000000000";#define loraSerial Serial1#define debugSerial Serial // 用 TTN_FP_EU868 或 TTN_FP_EU868 或 TTN_FARINPOINT 替换 REPLACE_ME // 用 TTN_FP_EU868 或 TTN_FREI VARI/FREPLACE //REPLACE_ME 替换为 TTN_FP_EU868 或 TTN_FARIT 数据;您所在地区的海平面压力 (****)Adafruit_BME280 bme; // BME280 Sensnor 声明 unsigned long currentMillis; //保持当前时间//脉搏血氧仪时间段(测量时间段)#define REPORTING_PERIOD_MS 1000PulseOximeter pox;uint32_t tsLastReport =0;//检测到脉搏时触发回调(如下注册)void onBeatDetected(){ // Serial.println ("Beat!");}void measure_pulse(){ pox.update(); if (millis() - tsLastReport> REPORTING_PERIOD_MS) { bpm=pox.getHeartRate(); tsLastReport =毫秒(); } }TheThingsNetwork ttn(loraSerial, debugSerial, freqPlan);void setup(){loraSerial.begin(57600); debugSerial.begin(9600); // 等待串行监视器最多 10 秒 while (!debugSerial &&millis() <10000); debugSerial.println("-- 状态"); ttn.showStatus(); debugSerial.println("-- 加入"); ttn.join(appEui, appKey); Serial.println(F("BME280 测试")); Serial.println("初始化MAX30100"); pox.begin(); pox.setOnBeatDetectedCallback(onBeatDetected);布尔状态;状态 =bme.begin(); if (!status) { Serial.println("找不到有效的 BME280 传感器,请检查接线!");而 (1);引脚模式(7,输出);引脚模式(A0,输入); pinMode(8,输入); pinMode(6,INPUT);}void loop(){ debugSerial.println("-- LOOP"); h_rate =模拟读取(A0);按钮 =数字读取(8);温度 =pox.getTemperature(); spo2 =pox.getSpO2(); bpm =bpm;湿度 =bme.readHumidity();运动 =数字读取(6);字节有效载荷[6];有效载荷[0] =highByte(bpm);有效载荷[1] =低字节(温度);有效载荷[2] =highByte(湿度);有效载荷 [3] =低字节(移动);有效载荷[4] =lowByte(spo2);有效载荷[5] =低字节(按钮);有效载荷[6] =lowByte(h_rate); debugSerial.print("温度:"); debugSerial.println(温度); debugSerial.print("湿度:"); debugSerial.println(湿度); debugSerial.print("BPM:"); debugSerial.println(bpm); debugSerial.print("SPO2:"); debugSerial.println(spo2); debugSerial.print("H_rate:"); debugSerial.println(h_rate); debugSerial.print("按钮:"); debugSerial.println(按钮); debugSerial.print("移动:"); debugSerial.println(移动); ttn.sendBytes(payload, sizeof(payload));延迟(20000);}
示意图
制造工艺