This page describes the Remote Patient Monitoring System project, which is a part of the Embedded Systems-1 course. The aim of this project is to obtain data from Pulse Oximeter and Temperature sensor, interpret it, display it and upload it onto an MQTT server in real-time.
Motivation
Patients suffering from chronic diseases need monitoring on a very regular basis. To admit such patients in hospitals would wasteful in terms of hospital resources and in terms of money for the patient since they need minimal attention. Remote patient monitoring offers a flexibility for both doctor (Doctor can analyse the data at his ease) and for the patient (Patient can upload the data regular intervals from his own residence). The data uploaded on the server can also be accessed anytime, anywhere.
Sensors
Pulse Oximeter
A pulse oximeter is a medical device that indirectly monitors the oxygen saturation of a patient’s blood (as opposed to measuring oxygen saturation directly through a blood sample), and measure the heart rate of a patient.
Temperature sensor
It is a NTC(negative temperature co-efficient) thermistor which is of 10KΩ resistance at 25°C.
MQTT server
Mosquitto is an open source (BSD licensed) message broker that implements the MQ Telemetry Transport protocol version 3.1. MQTT provides a lightweight method of carrying out messaging using a publish/subscribe model. This makes it suitable for “machine to machine” messaging such as with low power sensors or mobile devices such as phones, embedded computers and microcontrollers. The advantage of a publish subscribe model is that the person who wants to publish can upload the data onto the server any time immaterial of whether there is any listener or not, and the subscriber can access the subsccribed messages at any time. By having user ID and password, multiple users can subscribe to the same topic and access the messages at any time.
ALGORITHM
1. Start USART1 and USART2
2. Start ADC
3. Take two frames of data from USART1
4. Extract 1 proper frame from the data
5. Display value of HeartRate and SPO2 on USART2
6. Sample channel0 of ADC
7. Sample channel1 of ADC
8. Convert the readings of ADC to temprature using the formula given in the GE’s datasheet
9. Display the temprature value on USART2
10. UPLOAD all the three values on MQTT server
Complete Setup
Video
A video of project can be found at http://youtu.be/3qJRXio1PG0
Challenges faced
1)The pulse oximeter continously transmits data to the RS232 and hence fills up the buffer and it continously transmits onto the terminal even when the USART is not initialized. Recognising this junk and segregating is very difficult and tedious. To avoid this a power gate IC can be used block this unnecessary data
2)The ADC gets loaded if the buffers are not used and keeps giving incorrect values.
Future Scope
1. Apply Power Gating to Nonin sensor since it is continuously sending the data and filling the buffer of USART
2. Set up MQTT server locally. We are now using Public domain server set up in US
3. Set up the server such that it accepts user name and password
References
- http://in.mouser.com/ProductDetail/GE-MC-Thermometrics/MC65F103A/?qs=sGAEpiMZZMud6ugn6h0MdsnyoBLZZ%252b5N5zOjdU8yMLE=
- stm32f207vg
Project Team members
- Harshwardhan Rungta
- Vignesh.D.Kudva
Recent Comments