Sistema de Monitoramento de Pacientes COVID-19 com LoRa para Saúde Remota
Componentes e materiais
| Componente | Quantidade |
|---|---|
| The Things Network The Things Uno | 1 |
| The Things Network The Things Gateway | 1 |
| Maxim Integrated MAXREFDES117# Monitor de Frequência Cardíaca e Oxímetro de Pulso | 1 |
| Seeed Grove - Sensor de Temperatura | 1 |
| Fios jumper (genéricos) | 1 |
| DFRobot Gravity: Botão Digital (Amarelo) | 1 |
| Seeed Grove - Sensor de Vibração (SW-420) | 1 |
| Buzzer | 1 |
| LED (genérico) | 1 |
| Seeed Grove - Sensor Temperatura, Umidade, Pressão e Gás (BME680) | 1 |
Ferramentas necessárias
- Pistola de cola quente (genérica)
- Ferro de solda (genérico)
Aplicativos e serviços online
- Android Studio
- Arduino Web Editor
- Amazon Web Services AWS IoT
- Microsoft Visual Studio Code Extension for Arduino
Sobre o projeto
Resumo
Propomos um sistema inteligente de monitoramento de pacientes para monitorar automaticamente a condição de saúde dos pacientes através de redes conectadas baseadas em sensores. Este sistema é especialmente desenhado para pacientes com COVID-19. Vários sensores são usados para coletar os comportamentos biológicos de um paciente. As informações biológicas significativas são então encaminhadas para a nuvem IoT. O sistema é inteligente o suficiente para detectar a condição crítica de um paciente processando dados dos sensores e instantaneamente fornece notificação push para médicos/enfermeiros, bem como pessoal responsável do hospital. Médicos e enfermeiros se beneficiam deste sistema observando seus pacientes correspondentes remotamente sem visitar pessoalmente. Familiares dos pacientes também podem se beneficiar com acesso limitado.
Descrição
Usamos um Things UNO (placa de desenvolvimento LoRa) como controlador principal deste sistema de monitoramento. A placa Things UNO coleta informações sobre parâmetros de saúde do paciente de vários sensores (descritos na lista de componentes de hardware). O Things UNO também é responsável por transmitir dados para o Gateway LoRa (The Things Gateway). O gateway LoRa está conectado com a nuvem AWS. A plataforma AWS IoT é usada como nuvem IoT para este sistema.
Lista de Componentes de Hardware
A condição de emergência de um paciente é determinada através da equação matemática simples (Equação I), onde a notação matemática detalhada sobre nível de limiar é elaborada na Tabela 1.
Aplicação Móvel e Desktop
Desenvolvemos um aplicativo móvel para visualizar os dados dos sensores. Vários gráficos e medidores foram usados para exibir dados dos sensores em tempo real, que contêm parâmetros de saúde atuais (condição de saúde presente) de um paciente. Através deste aplicativo, médicos ou enfermeiros podem monitorar seus pacientes remotamente sem visitar a UTI. Devido à natureza inteligente, o sistema envia notificação push para médicos ou enfermeiros correspondentes sobre a situação de emergência do paciente, onde a Equação I determina a condição de emergência processando os dados dos sensores. O pessoal responsável do hospital (pessoa responsável pela UTI) também monitora constantemente mais de um paciente ao mesmo tempo através de nossa aplicação desktop baseada em web conectada à nuvem, o que melhora a eficiência da UTI. Todas as aplicações estavam conectadas à nuvem IoT e visualizavam dados em tempo real usando diferentes tipos de gráficos como gauge, sparkline, texto, etc.
Conclusão
Nosso sistema proposto descrito neste projeto permite que médicos ou enfermeiros, bem como pessoal responsável do hospital, monitorem o paciente na UTI em tempo real, o que melhora a eficiência e qualidade do serviço. Há uma enorme oportunidade de modificar este sistema como um dispositivo vestível, que nos permite monitorar idosos ou bebês remotamente de qualquer lugar.
Referência
1. Uddin, M. S., Alam, J. B., & Banu, S. (2017, September). Real time patient monitoring system based on internet of things. In 2017 4th International Conference on Advances in Electrical Engineering (ICAEE) (pp. 516-521). IEEE. DOI: 10.1109/ICAEE.2017.8255410
Código
Código Fonte (Arduino)
#include
#include
#include
#include
#include
// Set your AppEUI and AppKey
const char *appEui = "0000000000000000";
const char *appKey = "00000000000000000000000000000000";
#define loraSerial Serial1
#define debugSerial Serial
#define freqPlan REPLACE_ME
// VARIÁVEIS PARA GUARDAR DADOS DOS SENSORES
int bpm;
int spo2;
float temp;
Adafruit_BME280 bme;
unsigned long currentMillis;
#define REPORTING_PERIOD_MS 1000
PulseOximeter pox;
uint32_t tsLastReport = 0;
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);
while (!debugSerial && millis() < 10000);
debugSerial.println("-- STATUS");
ttn.showStatus();
debugSerial.println("-- JOIN");
ttn.join(appEui, appKey);
Serial.println(F("BME280 test"));
Serial.println("Inicializando 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");
int h_rate = analogRead(A0);
int button = digitalRead(8);
float temperature = pox.getTemperature();
spo2 = pox.getSpO2();
bpm = bpm;
float humidity = bme.readHumidity();
int movement = digitalRead(6);
byte payload[7];
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("Temperatura: "); debugSerial.println(temperature);
debugSerial.print("Umidade: "); 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("Botão: "); debugSerial.println(button);
debugSerial.print("Movimento: "); debugSerial.println(movement);
ttn.sendBytes(payload, sizeof(payload));
delay(20000);
}
Esquemáticos
Consulte o diagrama de conexões no projeto original.
Processo de manufatura
- Dominando Gestão de IoT: Superando Desafios de Conectividade e Largura de Banda em 2024
- Eclipse Hono Lança Registro de Dispositivos Baseado em MongoDB — Escalável, Pronto para Produção
- Autenticação Segura de Dispositivos com Certificados X.509 no Eclipse Hono
- Acompanhando Avanços em Tecnologia de Dispositivos Médicos
- Sistema de Controle de Temperatura Baseado em LM35 com Microcontrolador AT89S52
- Monitorando a Internet das Coisas: Garantindo Redes IoT Seguras e Confiáveis
- Por Que a Escala Impulsiona a Rentabilidade em Redes NB‑IoT e LoRa
- Conectividade Celular Impulsiona o Futuro da Telemedicina
- 5 Passos Essenciais para Dominar o Account-Based Marketing
- Principais Considerações para Desenvolver Dispositivos Médicos de Sucesso