Software apps and online services
With the COVID-19 pandemic grasping the whole world and affecting millions of lives within such a short period of time, it has become the need of the hour for continuous health monitoring and medication management of the people. With the symptoms like normal flu in mild cases, it becomes very hard to diagnose COVID-19. People with comorbidities and the elderly are at a higher risk of severe contraction of the COVID-19, which can result in losing many lives that could be saved. With an ecosystem that provides proper medication management and real-time health monitoring of the people. With improper medicine intake health condition of people might get worse and that can be life-threatening in the times of COVID-19. With the fall detection feature, people can take care, especially of the elderly if they feel uncomfortable or are experiencing drastic changes in vitals or breathing problems which may lead to falls and fatality. With this feature, emergency response can be initiated which may help to save the lives.Prototype Architecture
DPS310: A digital barometric air pressure sensor by “Infineon”. It is much miniaturized in terms of size and has high accuracy and low current consumption.
// Dps310 Opject
Dps310 Dps310PressureSensor = Dps310();
Creating a dps310 object that will be used in the rest of the code.
we have used the DPS310 breakout board which is cheap and highly accurate. The library used for this breakout board is different from the projects created using the other dps310 sensor module(integrated Bluetooth and lipo battery).
Pulse Sensor: It is a well-designed Plug and Play sensor through which users can take live pulse rate data
NodeMCU: It is an open-source microcontroller or development board with firmware based on the ESP8266 Wi-Fi module to provide Wi-Fi capabilities in a microcontroller with ESP8266 Wi-Fi embedded in it.
Servo Motor: This is an electrical device that can push or rotate an object with high precision. It helps us to rotate and object at some specific angles or distance
Please refer to the schematics for connections, all schematics are custom made for the project.
Connecting to Blynk App:
Create a project in Blynk app
Choose the board and the connection type
For this project - Nodemcu and WiFi is chosen
An id is sent to the email id
The id is used for the communication of hardware and Blynk app
#define BLYNK_PRINT Serial
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth = "1MctIWtYqw_*********NIpIYEL1FS";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid = "*****";
char pass = "*********";
It becomes quite difficult to remember what pills to take when and how much the correct dosage is. To overcome this issue, the smart pill dispenser will be able to take several pills of 2 or 3 kinds, sort them into the correct dosage, and dispense them at the correct interval. This takes the potential for error each day and moves it upstream to a single task: correctly inputting the prescription information into the pill sorter. With proper medication management, people can take care of their health and hence reduces the chance of being affected by COVID-19.
Using the temperature and pressure sensor data to calculate height and fall detection.
If there seems to be a sudden fall due to heart attacks or losing balance, or abnormal fall or rise in pulse rate it alters the nearby ones of the person to get immediate attention, the Health band also measures the temperature of the person in order to understand the person's health condition.
Checking for the pressure change while falling and getting up
Notifications are sent accordingly
p_new = pressure;
diff = p_new - p_prev;
p_prev = p_new;
Serial.print(" Pressure Difference: ");
if(diff > 2.0)
Serial.println(" Person might had a fall");
//Blynk.notify(" Person might had a fall, Waiting for 3 secs.... to detect if the fall truly happened ");
Serial.println(" Waiting for 3 secs.... to detect if the fall truly happened ");
ret = Dps310PressureSensor.measurePressureOnce(fall_pressure, oversampling);
if (ret != 0)
//Something went wrong.
//Look at the library code for more information about return codes
Serial.print("FAIL! ret = ");
Serial.print(" Fall Pressure: ");
// float fall_pressure = f_pressure;
// Serial.print(" Fall pressure: ");
if(abs(p_prev - fall_pressure) < 1.0)
Serial.println(" Help needed for the person. ");
Blynk.notify(" Person had a fall, needs help!! ");
float alt_pressure = b; // in Si units for Pascal
// alt_pressure = alt_pressure/100;
altitude = 44330 * (1.0 - pow((alt_pressure/1013.25), 0.1903));
//altitude = altitude/1000;
Real-time temperature and pulse data is really important for detecting COVID-19 as major symptoms are fever, tiredness, shortness of breathing. With this data, we can have an emergency plan and readily consult the required person,Arduino IDE :
Output of data from band on serial monitor
With Alexa integration, the pill dispenser can provide reminders through Alexa devices and with further improvement, can be used to initiate a conversation about the medicines in the dispensers.
We have created an ON/OFF skill for the pill dispenser. After successfully setting up the environments in required cloud services - ASD, Amazon AWS, Amazon Lambda which allows us to run functions without using servers. Lambda produces the GET requests for the commands given to Alexa. After entering the console of the ADS, we create a custom skill using the JSON editor.
AWS Lambda is set up for processing the commands from the skill interface.
The code is written for the Lambda function, which executes the Blynk API connecting it with the dispenser. Finally, the Skill is integrated with the Blynk API using the lambda function to control the pill dispenser.
With this ecosystem, we aim to help people battle COVID-19 by maintaining their health through proper medicine intake and real-time monitoring of their health and taking necessary actions required,