Welcome IOT VAIDYA! - an IOT doctor for you.The project is all set to check rural(as well as urban) patients and send their reports to a doctor who may be sitting in a totally different part of the world.We are finally finished with the project.Please take a look here.
What you will see in the video is the patient has sensors attached to his body and the program will start with the double click on the IOT VAIDYA launcher icon.A form opens up on this PiTFT 3.5'' Touchscreen and the basic information of the patient are filled.On clicking Submit, the diagnosis will begin.The audio from the speaker will guide the patient while diagnosis.Later on,after diagnosis, a "Success" message on the screen shows successful publishing of data.
The doctor in some other corner of the world(here, other corner of the room!) logs into his account on http://iotvaidya.mybluemix.net/ and sees ONE new patient has been added on the notification-bell.
He clicks on the patient's report and sees a page with all the data shown : Pulse, ECG, GSR and Temperature.Then he finds out the probable disease and intimates the same to the patient via SMS. He writes in a language in which he is comfortable but the message is received by the patient in his regional language.
While this is the main functionality, we also have added calendar with drop-able events which doctor can write and drop on the desired dates to be considered as a reminder in future.
While most of the details of the project have been covered in the last two updates : #Update9 and #Update8 , this blog will highlight what we have not covered so far.
1. Installing PiTFT and bringing up X Windows Desktop:
What you will see in the video is the patient has sensors attached to his body and the program will start with the double click on the IOT VAIDYA launcher icon.A form opens up on this PiTFT 3.5'' Touchscreen and the basic information of the patient are filled.On clicking Submit, the diagnosis will begin.The audio from the speaker will guide the patient while diagnosis.Later on,after diagnosis, a "Success" message on the screen shows successful publishing of data.
The doctor in some other corner of the world(here, other corner of the room!) logs into his account on http://iotvaidya.mybluemix.net/ and sees ONE new patient has been added on the notification-bell.
He clicks on the patient's report and sees a page with all the data shown : Pulse, ECG, GSR and Temperature.Then he finds out the probable disease and intimates the same to the patient via SMS. He writes in a language in which he is comfortable but the message is received by the patient in his regional language.
While this is the main functionality, we also have added calendar with drop-able events which doctor can write and drop on the desired dates to be considered as a reminder in future.
While most of the details of the project have been covered in the last two updates : #Update9 and #Update8 , this blog will highlight what we have not covered so far.
1. Installing PiTFT and bringing up X Windows Desktop:
Using PiTFT 3.5'' from Adafruit is very easy to use and install.We followed this easy install instruction.
Next, this link was quite helpful in getting things right with x windows desktop you see in the above picture.
2.Creating launcher: Using gnome panel.
sudo apt-get install --no-install-recommends gnome-panel
3.Patient form on the the display : Using python code and tkinter package.
sudo apt-get install python-tk
4.When we hit "Submit" in the form, the python code runs a system call to take "Name","Age","Contact" and "Village" as arguments and pass it to the the java application.
5.The sensors data does not look very accurate because we were still working on improving our algorithm to properly reconstruct the values.
6.The digital temperature sensor is quite accurate though.
Challenges were faced!
1.Sending image over MQTT was problematic due to the 4096B payload limit with IBM Bluemix IOTF service.It is interesting because it used to work few days back.Nevertheless we went ahead and used HTTP for the same.
2.Plotly for plotting Sensor data and using Mongo DB by Compose was causing the website to load slow.So we switched to Chartjs and MongoLab.
3.Finding translation API : Wanted something very easy to integrate in our project. https://mymemory.translated.net/ APIs were very easy and required just a single line of code.
4.What we really wanted was to add IBM Watson Q&A API for enhancing the capability of IOT VAIDYA and to make it some what cognitive.Sadly, the API is not open in trial period.We will keep on searching new methods to give it cognitive aspect.
5. Interfacing Analog sensors to Pi. As raspberry pi itself doesn't have analog pins, hence we were compelled to use external ADC. (MCP3008)
Amazing experience using open IoT standards:
1.Eclipse Kura:
Though Reactive Blocks allow the application to be built for various target platforms, it has got support for Kura too.
After using Kura for running applications on raspberry pi,these are the features which make it unique and impressive:
- Run/Debug from eclipse
- One Click Deployment
- Web Based Console
- Remote OSGI
2. Paho MQTT:
Implementation of Paho project into various languages make it plug and play.We used Java and python implementation of paho project in our application.
3.Github:
We have uploaded all the codes of our project in Github repository.iot_vaidya
4.Reactive Blocks:
Team reactive blocks is just awesome, they helped us a lot throughout this challenge. We have shared 60+ mails in last 45 days.
Response to project:
It's been an amazing journey so far. We have got close to 1500 hits on our blog, 15+ followers on twitter, 50+ likes and 25+ retweets.
Especially tweets from Benjamin Kabe, Ian Skerett, Anne Nevein motivated a lot.
We would keep the project going, do keep supporting us.
Follow us on twitter:@iot_vaidya