element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Better World with Arduino
  • Challenges & Projects
  • Project14
  • Better World with Arduino
  • More
  • Cancel
Better World with Arduino
Blog Tele vaidya - Remote health monitoring for developing nations
  • Blog
  • Forum
  • Documents
  • Events
  • Leaderboard
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Better World with Arduino to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: vishwasn
  • Date Created: 21 May 2022 7:13 AM Date Created
  • Views 1195 views
  • Likes 5 likes
  • Comments 0 comments
  • healthcare
  • better world with Arduino
  • arduino
  • betterworldch
Related
Recommended

Tele vaidya - Remote health monitoring for developing nations

vishwasn
vishwasn
21 May 2022
Health care is one of the necessities or a basic need for every human being. But many developing countries fail to meet the requirements due to the scarcity of medical health professionals or doctors and hygienic places hospitals. These are the major challenges that need to be addressed as soon as possible.
image
The experimental setup
image
Image Source: Wikipedia
With the growing technology and very high-speed internet connectivity, it is possible for us to communicate with anyone on the other side of the globe almost instantaneously or in real-time. But developing nations still lack a lot of infrastructures like cell phone towers and fibre internet connectivity. Satellite-based internet aims to address these issues. However, the deployment of satellites to provide internet access to the whole globe will be a challenging task.
“One billion people live in developing countries on less than US$1 a day, and 2.5 billion are living on less than $2 a day; more than 2.6 billion people lack access to toilets and other sanitation facilities; and 30, 000 children under five years of age die every day, mainly from dehydration, undernourishment, and preventable diseases.” – Bale, Global Economic Symposium. Improving Access to Health Care for the Poor, Especially in Developing Countries
Low- and middle-income countries bear 90% of the world’s diseases but compose only 12% of the world’s health expenditures, according to a 2008 article in the Annals of the New York Academy of Sciences.
In this project, I would like to demonstrate, by using simple electronic components and microcontrollers how we can address major healthcare challenges in the world.
Let's get started,
STEP 1: The architecture
image
The basic block diagram of the system is as shown in the below figure, there are two major blocks in the system one data acquisition and transmission system and one reception system which will be placed at the location where there is internet connectivity. The transmission between the node and the gateway will be done with the help of LoRa technology which can transmit and receive information
image
The gateway with internet connectivity will directly update the information on the Azure cloud. Which can be diagnosed by Doctors sitting anywhere on the globe. A person with a basic understanding of English and some education can help these unprivileged people to get basic health care access. For demonstration and Proof of concept [POC] purpose, I'm using the simple Heartrate and Blood Oxygen measurement system, This can be upgraded to many more sensors and other data acquisition systems.
STEP 2: Required components
Get all the required components.
I'll be using a thermistor
Note: I'll be using Arduino Mega 2560 as the main brain of the system as the Atmel chip on the Arduino Mega is manufactured by the Microchip which is one of the contest rules.
Also, I need to interface multiple sensors I would need something like Mega to cater to my memory needs.
STEP 3: Connection Diagram
The connection diagram for the data acquisition and transmission system is as shown in the figure below,
image
Here the Arduino Mega has a serial connection to the biometric fingerprinting device and I2C connection to the temperature sensor in the case of MLX90614 and MAX30100 IC for the heart rate and the blood oxygen level measurement. The display is used for representation purpose.
Note that 1k resistors are needed as the display 1.44 inch is of low voltage standard i.e 3.3V
The whole setup can be connected to a portable power bank which can run the whole device till months [20000mAh]
image
Temperature sensor:
  • Thermistor +ve to 5V
  • Thermistor -ve to 10k resistor
  • Resistor to ground
  • Junction of thermistor and resistor to A0.
The calculation will be like this:
image
In terms of the voltage divider in a thermistor circuit, the variables in the equation above are:
image
Vo = analogRead(ThermistorPin);
R2 = R1 * (1023.0 / (float)Vo - 1.0);
logR2 = log(R2);
T = (1.0 / (c1 + c2*logR2 + c3*logR2*logR2*logR2));
T = T - 273.15; T = (T * 9.0)/ 5.0 + 32.0;
The Receiver:
image
The receiver consists of a LoRa receiver device along with a nodeMCU (ESP8266) to send the data to the Azure cloud
STEP 4: Programming
I have chosen the Arduino Mega running in an Arduino environment because the project can be replicated easily as it is very easy to implement using Arduino IDE and most of the materials are easily available. I had applied for the hardware and got CEC1702 but could not write and complete the required libraries within the contest period hence I saw the rule saying this "Use any Microchip product in your project to qualify for the contest!"
Basically, the code involves the interfacing of different sensor devices and acquiring data and sending it to the nearest gateway.
The Idea of involving LoRa is to increase the range of communication. The amount of infrastructure to setup LoRa communication is far lesser than that of Mobile communication using cell phone towers.
In the case there is no way to deploy the gateways then the gateways can be mobile and can serve using drones flying
image
Setting up Azure IoT is simple and can be done using tutorials available on Github and various other platforms.
image
Once the communication is established we can make a dashboard for recording and visualising the parameters such as temperature, blood oxygen level, heart rate etc.
STEP 5: Testing and deploying.
Setting up Azure IoT Hub,
Register using the given link to get one-month free access.
  • Go to portal.azure.com after registration.
  • Create a new resource group under resource groups and name it. for eg. NodeMCU
image
image
  • Once the IoT hub is provisioned, go to the resource. Select the IoT device under Explorer and Add a new device.
image
Here's the working video containing the demonstration of the whole project
These are thing needed to be filled in the code once you create the device.
Installing Device Explorer twin
Device explorer twin is a graphical tool for interacting with and test your devices with Azure IoT hub. After Installing the tool on your local machine you can connect to the IoT hub and view the telemetry, the devices are sending. use this tool to send messages to the device and receive messages from the device.
You can download the Device explorer install package from the below link.
https://github.com/Azure/azure-iot-sdks/releases
Creating a SAS token with Device Explorer
Open the device explorer that you have installed in the previous steps and connect it to the Azure IoT Hub using the connection string from the Azure portal. Get the connection string by navigating to the IoT hub and from Shared access policies => iothubowner => Connection string — primary key.
//Azure IoT Hub Credentials const char* THUMBPRINT = "xxxxx";
const char* DEVICE_ID = "xxxxx";
const char* MQTT_HOST = "xxxxx.azure-devices.net";
const char* MQTT_USER = "xxxxx.azure-devices.net/<device-name>/?api-version=2018-06-30";
const char* MQTT_PASS = "SharedAccessSignature sr=xxxxx.azure-devices.net%2Fdevices%2F<device-name>&sig=xxxxx&se=xxxxx";
const char* MQTT_SUB_TOPIC = "devices/<device-name>/messages/devicebound/#";
const char* MQTT_PUB_TOPIC = "devices/<device-name>/messages/events/";
image
 
image
Demo video:
You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image
STEP 6: Future Enhancements
  • Adding GSM/GPRS connectivity at the gateway to enhance connectivity
  • Adding LoRa satellite-based unit for hassle-free connection to the network
  • Improving battery life by implementing sleep functions
  • Adding Solar panel for charging
  • Sign in to reply
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube