Dispositivo de monitoreo de pacientes Covid-19 basado en redes LoRa

Historia

Hemos propuesto un sistema inteligente de monitoreo de pacientes para seguir el estado de salud de los pacientes automáticamente a través de redes de sensores. Este sistema está especialmente diseñado para pacientes con Covid-19. Se utilizan varios sensores para recopilar los comportamientos biológicos de un paciente. Luego, la información biológica significativa se envía a la nube de IoT. El sistema es inteligente y puede detectar la condición crítica de un paciente procesando los datos de los sensores y proporcionar notificaciones automáticas a los médicos y enfermeras, así como al personal a cargo del hospital. Los médicos y enfermeras se benefician con este sistema al observar a sus pacientes de forma remota sin visitarlos en persona. Los familiares de los pacientes también pueden beneficiarse de este sistema con acceso limitado.

Descripción

Hemos utilizado una placa de desarrollo LoRA Things UNO como controlador principal de este sistema de monitoreo. La placa Things UNO recopila la información sobre los parámetros de salud del paciente por medio de varios sensores. The Things UNO también es responsable de transmitir datos al LoRA Gateway (The Things Gateway). La puerta de enlace Lora está conectada con la nube de AWS. La plataforma en la nube de AWS IoT se utiliza como una nube de IoT para este sistema.

Lista de componentes de hardware

Componente Propósito
The Things UNO Sistema de desarrollo LoRA
BME680 Sensor de temperatura y humedad Para la medición de temperatura y humedad del cuerpo
Sensor De Pulso Cardiaco Oximetro Max30100 Arduino Medición de pulso
MAXREFDES117  Plataforma de desarrollo de monitores de pulsioximetría y frecuencia cardíaca Medición de frecuencia cardíaca
Buzzer Alarma de emergencia
LED Indicador de emergencia
Botón Llamada para asistencia
Sensor de movimiento SW420 Detecta movimientos inesperados
Sensor de presión arterial Mide la presión arterial
Camara 360 opcional Es opcional y hace streaming del video
Otros sensores Calidad de aire y temperatura ambiente
Fuente de 12 voltios

La condición de emergencia de un paciente se determina mediante la ecuación matemática I,

donde la notación matemática detallada sobre el nivel de umbral se elabora en la Tabla-1.

Hemos desarrollado una aplicación móvil para visualizar el estado del sensor. Se han utilizado varios gráficos y medidores para mostrar los datos de los sensores en tiempo real, que contienen los parámetros de salud actuales (estado de salud actual) de un paciente. A través de esta aplicación, los médicos o enfermeras pueden monitorear a sus pacientes de forma remota sin necesidad de visitar la unidad de UCI. Debido a la naturaleza de la inteligencia, el sistema envió la notificación a los médicos o enfermeras correspondientes sobre la situación de emergencia del paciente, donde la Ecuación -I determina la condición de emergencia de un paciente procesando los datos de los sensores. El personal a cargo del hospital (persona a cargo de la UCI) también monitoreó constantemente a más de un paciente a la vez a través de nuestra aplicación de escritorio conectada a la nube y basada en la web (que se muestra en la Figura), que mejora la eficiencia de la unidad de la UCI.

Aplicación móvil

Aplicación web

Conclusión

Nuestro sistema propuesto descrito en este proyecto permite a los médicos o enfermeras, así como al personal a cargo del hospital, monitorear al paciente en la unidad de UCI en tiempo real, lo que mejora la eficiencia y la calidad del servicio. Existe una gran oportunidad de modificar este sistema como un dispositivo portátil, que nos permite monitorear a las personas mayores o bebés de forma remota desde cualquier lugar.

Esquema

Código fuente

#include <TheThingsNetwork.h>
#include <SPI.h>
#include <MAX30100_PulseOximeter.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>

// Set your AppEUI and AppKey
const char *appEui = «0000000000000000»;
const char *appKey = «00000000000000000000000000000000»;

#define loraSerial Serial1
#define debugSerial Serial

// Replace REPLACE_ME with TTN_FP_EU868 or TTN_FP_US915
#define freqPlan REPLACE_ME

//VARIABLE TO HOLD THE SENSORS DATA
int bpm;
int spo2;
float temp;

//the sea level presure in your region (****)
Adafruit_BME280 bme; // BME280 Sensnor declaration
unsigned long currentMillis; //hold the current time

 

//pulse oximeter time period (measurment time period)
#define REPORTING_PERIOD_MS 1000
PulseOximeter pox;
uint32_t tsLastReport = 0;

// Callback (registered below) fired when a pulse is detected
void onBeatDetected()
{
// Serial.println(«Beat!»);
}

void measured_pulse(){

pox.update();
if (millis() – tsLastReport > REPORTING_PERIOD_MS) {
bpm=pox.getHeartRate();
tsLastReport = millis();
}

}

TheThingsNetwork ttn(loraSerial, debugSerial, freqPlan);

void setup()
{
loraSerial.begin(57600);
debugSerial.begin(9600);

// Wait a maximum of 10s for Serial Monitor
while (!debugSerial && millis() < 10000)
;

debugSerial.println(«– STATUS»);
ttn.showStatus();

debugSerial.println(«– JOIN»);
ttn.join(appEui, appKey);

Serial.println(F(«BME280 test»));
Serial.println(«Initializing MAX30100»);

pox.begin();
pox.setOnBeatDetectedCallback(onBeatDetected);

bool status;

status = bme.begin();
if (!status) {
Serial.println(«Could not find a valid BME280 sensor, check wiring!»);
while (1);
}

pinMode(7, OUTPUT);
pinMode(A0,INPUT);
pinMode(8,INPUT);
pinMode(6,INPUT);

}

void loop()
{
debugSerial.println(«– LOOP»);

h_rate = analogRead(A0);
button = digitalRead(8);
temperature = pox.getTemperature();
spo2 = pox.getSpO2();
bpm = bpm;
humidity = bme.readHumidity();
movement = digitalRead(6);

byte payload[6];
payload[0] = highByte(bpm);
payload[1] = lowByte(temperature);
payload[2] = highByte(humidity);
payload[3] = lowByte(movement);
payload[4] = lowByte(spo2);
payload[5] = lowByte(button);
payload[6] = lowByte(h_rate);

debugSerial.print(«Temperature: «);
debugSerial.println(temperature);
debugSerial.print(«Humidity: «);
debugSerial.println(humidity);

debugSerial.print(«BPM: «);
debugSerial.println(bpm);
debugSerial.print(«SPO2: «);
debugSerial.println(spo2);

debugSerial.print(«H_rate: «);
debugSerial.println(h_rate);

debugSerial.print(«Button: «);
debugSerial.println(button);
debugSerial.print(«Movement: «);
debugSerial.println(movement);

ttn.sendBytes(payload, sizeof(payload));

delay(20000);
}


Fuentes:

Uddin, MS, Alam, JB y Banu, S. (2017, septiembre). Sistema de monitorización de pacientes en tiempo real basado en internet de las cosas. En 2017, IV
Conferencia Internacional sobre Avances en Ingeniería Eléctrica (ICAEE) (págs. 516-521). IEEE. DOI: 10.1109 / ICAEE.2017.8255410

Mohammad Salah Uddin
Acerca de Mohammad Salah Uddin 2 Artículos
El Dr. Mohammad Salah Uddin es profesor asistente en el Departamento de Ingeniería y Ciencias de la Computación de la Universidad East West de Dhaka, Bangladesh. Antes de esto, trabajó como investigador (Tradr - proyecto europeo) en la Universidad Sapienza de Roma. Después de completar su licenciatura en Ciencias de la Computación e Ingeniería de la East West University en 2012, se unió como profesor en la Central Women’s University, Bangladesh. En octubre de 2013, se matriculó en la Universidad Sapienza de Roma, Italia, para realizar su doctorado. Licenciatura y Ph.D. Licenciado en Robótica en julio de 2017. Su investigación se centra principalmente en Sistema de Robótica Heterogénea, Planificación / Asignación de Tareas para Sistema Multi-Robótica, IoT-Robótica, Sensores y Sistemas, Sistemas Embebidos, Internet de las Cosas, Visión por Computador, etc. Publicó varias investigaciones artículos en conferencias / revistas revisadas por pares de su trabajo de investigación. En 2018, pronunció un discurso en Maker Faire Shenzhen 2018 como orador del foro. Es miembro de la IEEE Robotics and Automation Society y tiene la membresía profesional de IEEE. También tiene algunos otros miembros nacionales e internacionales.

Sé el primero en comentar

Dejá un Comentario

Tu dirección de correo no será publicada.


*