0

$USD

$USD
PROJECTS ArduinoIoT

IoT_Smart_Health

DFRobot Feb 11 2020 1520

Project Maker: Pratik_Roy98

Things used in this project

Hardware components

STMicroelectronics DISCO-L475VG-IOT01A ×1

DFRobot Gravity: Analog LM35 Temperature Sensor For Arduino ×2

ProtoCentral Pulse Oximeter & Heart Rate Sensor based on MAX30100 ×2

SparkFun Single Lead Heart Rate Monitor - AD8232 ×1

SparkFun GPS Module - Copernicus II DIP (12 Channel) ×1


Software apps and online services

Arm Mbed Mbed Studio

Node-RED

Arduino IDE

TensorFlow

Jupyter Notebook

Blynk

IFTTT Maker service


Story

Overview

Real-time monitoring of the health conditions and general human-body parameters on a particular workstation of an intensive care unit. A scalable and secure IoT-based solution that will reduce the chances of human errors while keeping a track of the parameters of individual patients. Any sudden anomaly in the monitoring parameters will raise an alarm in the particular workstation along with a local display of the suggested actions to be taken immediately by the workstation incharge/nurse.


Goals

1. Data acquisition from sensors and visualisation on node-red

2. Detecting anomalies in the parameters and raising an alarm along with real-time values to concerned doctor's phone.

3. Smart Ambulance.


Data acquisition from sensors and visualisation on node-red


Workflow

I have used 2 sensors for now to acquire the data of human body health parameters.

Parameters to be monitored

1. Heart Beat

2. Body Temperature

The mbed online compiler is used to generate the bin file for DISCO_L475VG_IOT01A to gather the sensor. Separate resoruce URIs are being created for the LEDs and to read the analog pins of the MCU.

Normal Status LED /3201/1/5853

Abnormal Status LED /3201/0/5853

Alarm Button /3201/2/5853

Heart Rate Sensor /3303/4/5700

Temperature Sensor /3303/3/5700

The python-mbed cloud SDK is used to get the parameter values from the pelion cloud and make the OS system calls for MQTT broker to send the values to node-red MQTT node using the publish command.

The same parameters are used real-time to send the values as prediction parameters for the trained ML model. The output from ML model comes in 0 or 1, or 0=abnormal status and 1= normal status. The status is also sent by making OS system calls to a separate MQTT node of node-red.

All the patients' status is shown on the dashboard

paraneters of the patient with abnormal status is visualised

Detecting anomalies in the parameters and raising an alarm along with real-time feedback in concerned doctor's phone

A real-time notification is sent to the concerned doctor of the particular patient. The doctor can visualise the parameters real-time on different network.

IFTTT notification

Real-time parameters display on Blynk

Smart Ambulance
Workflow
Idea is to eliminate the wastage of time after a critical patient arrives at the emergency of a hospital. This can be done efficiently, by utilising the travel time in an ambulance. Health parameters of the patient can be sent to the hospital, real-time throughout the duration to reach the hospital. This will give enough time to the doctors to take some early measures before the patient arrives.

The ambulance also has a live location tracking from the hospital's end.

Ambulance Dashboard
The parameters are also also stored in a relational database, MySql for future reference of critical health data.


Future Scope

Local display of suggested actions by trained models.

Data Security.

Availability of this technology in semi-urban hospitals.


Code

Github link to codes
roypratik / IOT_Smart_Health             Download as zip