Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

LoRa-gestuurd COVID-19 patiëntmonitoringssysteem voor thuiszorg

Onderdelen en benodigdheden

The Things Uno (LoRa-ontwikkelbord) 1
The Things Gateway (LoRa-gateway) 1
MAXREFDES117# hartslag & pulsoximeter ontwikkelplatform (Maxim Integrated) 1
Grove Temperatuursensor 1
Grove BME680 (temperatuur, vochtigheid, druk, gas) 1
DFRobot Digitale drukknop (geel) 1
Groeptrillingsensor SW-420 1
Buzzer 1
LED 1
Draadjes 1 set

Benodigde tools

  • Lijmpistool
  • Solderbout

Apps en online diensten

  • Android Studio – mobiele app voor artsen/verpleegkundigen
  • Arduino Web Editor
  • AWS IoT – cloudplatform
  • VS Code met Arduino-extensie

Over dit project

Samenvatting

Een intelligente patiëntmonitoring voor COVID-19-patiënten. Sensoren meten vitale parameters → data via LoRa (The Things Network) naar AWS IoT Cloud → real-time visualisatie op mobiele app (artsen/verpleegkundigen) en desktop-dashboard (ICU-coördinatoren). Bij kritieke waarden: push-notificaties.

Beschrijving

De The Things Uno verzamelt data van alle sensoren en stuurt deze via LoRa naar de The Things Gateway, die verbonden is met AWS IoT.

Hardware-overzicht

  • Hartslag & SpO2: MAXREFDES117#
  • Omgevingstemperatuur: Grove Temperatuursensor
  • Omgevingsparameters: BME680 (temp/vocht/druk/gas)
  • Beweging: SW-420 trillingsensor
  • Handmatige alarmknop: DFRobot drukknop
  • Lokale signalering: Buzzer + LED

Nooddetectie-algoritme

Eenvoudige formule (Vergelijking-I) bepaalt of een patiënt in kritieke toestand verkeert, gebaseerd op drempelwaarden voor hartslag, SpO2, temperatuur, enz. (zie Tabel-1 in origineel).

Toepassingen

  • Mobiele app (Android): Real-time grafieken (gauges, sparklines, tekst) per patiënt. Push-notificaties bij noodgevallen.
  • Desktop-dashboard (web): ICU-coördinator monitort meerdere patiënten tegelijk – efficiëntieverhoging.
  • Familie: Beperkte toegang tot status.

Conclusie

Het systeem stelt medisch personeel in staat om ICU-patiënten real-time op afstand te monitoren, wat de zorgkwaliteit verbetert. Toekomst: uitbreiden tot draagbare wearable voor ouderen/baby's.

Referentie

Uddin, M.S., Alam, J.B., & Banu, S. (2017). Real time patient monitoring system based on internet of things. ICAEE 2017. DOI: 10.1109/ICAEE.2017.8255410

Code

Arduino-sketch (The Things Uno)

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

const char *appEui = "0000000000000000";
const char *appKey = "00000000000000000000000000000000";
#define loraSerial Serial1
#define debugSerial Serial
#define freqPlan REPLACE_ME  // TTN_FP_EU868 of TTN_FP_US915

int bpm, 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("Initializing MAX30100");
  pox.begin();
  pox.setOnBeatDetectedCallback(onBeatDetected);

  bool 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 al bijgewerkt via measured_pulse()
  float humidity = bme.readHumidity();
  int movement = digitalRead(6);

  byte payload[7];
  payload[0] = highByte(bpm);
  payload[1] = lowByte((int)temperature);
  payload[2] = highByte((int)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); // 20 seconden interval
}

Schema

Zie schematische tekening: Alle sensoren op I2C (SDA/SCL) + digitale pinnen voor knop/trilling, The Things Uno als LoRa-node.

Productieproces

  1. LM35-gebaseerd temperatuurregelsysteem met AT89S52 microcontroller
  2. Eclipse Hono lanceert MongoDB-gebaseerde Device Registry – Schaalbaar, Productie-klaar
  3. 5 essentiële stappen om Account-Based Marketing te beheersen
  4. Belangrijke overwegingen voor het ontwikkelen van succesvolle medische apparaten
  5. Vooruitgang in medische apparaattechnologie volgen
  6. Geünificeerde COVID-19 test: Detecteer, volg varianten & co-infecties in één procedure
  7. IoT-beheer Meesteren: Connectiviteits- En Bandbreedteuitdagingen Overwinnen In 2024
  8. Veilige apparaatauthenticatie met X.509-certificaten in Eclipse Hono
  9. Het Internet of Things Monitoren: Veilige, Betrouwbare IoT-netwerken Zorgen
  10. Waarom schaal winstgevendheid drijft in NB-IoT en LoRa-netwerken
  11. Cellulaire connectiviteit drijft de toekomst van telehealth