E-Health Sensor Platform V1 PDF

Title E-Health Sensor Platform V1
Author D. Tchouto
Pages 62
File Size 1.4 MB
File Type PDF
Total Downloads 70
Total Views 489

Summary

23/6/2014 e-Health Sensor Platform V1.0 for Arduino and Raspberry Pi [Biometric / Medical Applications] Arduino Waspm ote 3D Printer Raspberry Pi Sensors Actuators Wireless DevTools Robotics Accessories On Dem and Starter Kits Shields Wireless Packs Enclosures Prototyping Converters Books Designed b...


Description

23/6/2014 Arduino

e-Health Sensor Platform V1.0 for Arduino and Raspberry Pi [Biometric / Medical Applications] Waspm ote

Starter Kits

Shields

3D Printer Wireless

Raspberry Pi Packs

Sensors Enclosures

Actuators Prototyping

Wireless Converters

DevTools Books

e-Health Sensor Platform for Arduino and Raspberry Pi [Biometric / Medical Applications]

Robotics

Accessories

On Dem and

Designed by CH

Buy now

In August 2013 Cooking Hacks launched the new version of the first biometric shield for Arduino and Raspberry Pi: the eHealth Sensor Platform V2.0. Thanks to the feedback given by the Community and several projects that have been created with it, we have improved the e-Health platform with new features such as: New muscle sensor New blood pressure sensor Upgraded glucometer New Connection possibilities In this tutorial we will explain how to work with e-Health Sensor Platform V1.0. If you have e-Health V2 you can see how to use it on this link: Tutorial: e-Health Sensor Platform V2.0 for Arduino and Raspberry Pi [Biometric / Medical Applications]

The e-Health Sensor Shield allows Arduino and Raspberry Pi users to perform biometric and medical applications where body monitoring is needed by using 9 different sensors: pulse, oxygen in

••

blood (SPO2), airflow (breathing), body temperature, electrocardiogram (ECG), glucometer, galvanic skin response (GSR - sweating), blood pressure (sphygmomanometer) and patient position (accelerometer). This information can be used to monitor in real time the state of a patient or to get sensitive data in order to be subsequently analysed for medical diagnosis. Biometric information gathered can be wirelessly sent using any of the 6 connectivity options available: WiFi, 3G, GPRS, Bluetooth, 802.15.4 and ZigBee depending on the application.

••

If real time image diagnosis is needed a camera can be attached to the 3G module in order to send photos and videos of the patient to a medical diagnosis center. Data can be sent to the Cloud in order to perform permanent storage or visualized in real time by sending the data directly to a laptop or Smartphone. iPhone and Android applications have been designed in order to easily see the patient's information.

CART You have no items in your shopping cart.

COMPARE PRODUCTS You have no items to compare.

NEWSLETTER Sign up for our new sletter Sign Up for Our New sletter:

Quick FAQ: What does it mean to count with an open medical monitoring platform? Cooking Hacks wants to give Community the necessary tools in order to develop new e-Health applications and products. We want Arduino and Raspberry Pi Community to use this platform as a quick proof of concept and the basis of a new era of open source medical products. How do I ensure the privacy of the b iometric data sent?

http://www.cooking-hacks.com/documentation/tutorials/ehealth-v1-biometric-sensor-platform-arduino-raspberry-pi-medical/

1/62

23/6/2014

e-Health Sensor Platform V1.0 for Arduino and Raspberry Pi [Biometric / Medical Applications] Privacy is one of the key points in this kind of applications. For this reason the platform includes several security levels: In the communication link layer: AES 128 for 802.14.5 / ZigBee and WPA2 for Wifi. In the application layer: by using the HTTPS (secure) protocol we ensure a point to point security tunnel between each sensor node and the web server (this is the same method as used in the bank transfers).

e-Health Sensor Shield over Arduino (left) Raspb erry Pi (right)

IMPORTANT: The e-Health Sensor Platform has been designed by Cooking Hacks (the open hardware division of Libelium) in order to help researchers, developers and artists to measure biometric sensor data for experimentation, fun and test purposes. Cooking Hacks provides a cheap and open alternative compared with the proprietary and price prohibitive medical market solutions. However, as the platform does not have medical certifications it can not be used to monitor critical patients who need accurate medical monitoring or those whose conditions must be accurately measured for an ulterior professional diagnosis.

NOTE: If you are interested in Wireless Sensor Networks (WSN), M2M and the Internet of Things (IoT) projects check our new open source sensor platform: Waspmote which counts with more than 70 sensors available to use and a low consumption mode of just 0.7uA to ensure years of battery life. Know more at: Waspmote Main Page (Libelium) Waspmote Brief Description (Cooking Hacks)

Get the shields and sensors Kit e-Health Sensors Shield e-Health Sensor Platform Complete Kit

Sensors Patient Position Sensor (Accelerometer) Glucometer Sensor Body Temperature Sensor Blood Pressure Sensor (Sphygmomanometer) Pulse and Oxygen in Blood Sensor (SPO2) Airflow Sensor (Breathing) Galvanic Skin Response Sensor (GSR - Sweating)

http://www.cooking-hacks.com/documentation/tutorials/ehealth-v1-biometric-sensor-platform-arduino-raspberry-pi-medical/

2/62

23/6/2014

e-Health Sensor Platform V1.0 for Arduino and Raspberry Pi [Biometric / Medical Applications] Electrocardiogram Sensor (ECG)

Article Index 1. Features Electrical features 2. The shield e-Health PCB 3. The library e-Health shield over Arduino e-Health shield over Raspberry Pi 4. Sensor Platform Pulse and Oxygen in Blood Electrocardiogram (ECG) Airflow: breathing Body temperature Blood pressure Patient position and falls Galvanic Skin Response (GSR) Glucometer 5. Visualizing the data LCD KST: Real-time data viewing and plotting Serial console SmartPhone Application 6. Sending the data to the Cloud Wifi Bluetooth Zigbee / 802.15.4 GPRS 3G Camera for Photo Diagnosis 7. Forum 8. Get the shields and sensors Kits Sensors

1. Features.

Go to Index

The pack we are going to use in this tutorial is the eHealth Sensor platform from Cooking hacks. The e-Health Sensor Shield is fully compatible with Raspberry and new and old Arduino USB versions, Duemilanove and Mega.

7 non-invasive + 1 invasive medical sensors Storage and use of glucose measurements. Monitoring ECG signal. Airflow control of patient. Body temperature data. Galvanic skin response measurements. Body position detection. Pulse and oxygen functions. Blood pressure control device. Multiple data visualization systems. Compatible with all UART device.

Electrical features: The e-Health shield can be powered by the PC or by an external power supply. Some of the USB ports on computers are not able to give all the current the module needs to work, if your module have problems when it work, you can use an external power supply (12V - 2A) on the Arduino/RasberryPi.

2. The shield

Go to Index

e-Health PCB

http://www.cooking-hacks.com/documentation/tutorials/ehealth-v1-biometric-sensor-platform-arduino-raspberry-pi-medical/

3/62

23/6/2014

e-Health Sensor Platform V1.0 for Arduino and Raspberry Pi [Biometric / Medical Applications]

Schematics Download the e-Health Schematics

e-Health shield over Arduino

http://www.cooking-hacks.com/documentation/tutorials/ehealth-v1-biometric-sensor-platform-arduino-raspberry-pi-medical/

4/62

23/6/2014

e-Health Sensor Platform V1.0 for Arduino and Raspberry Pi [Biometric / Medical Applications]

The shields: Get Arduino Get the e-Health sensor shield Get the e-Health complete kit

e-Health shield over Raspberry Pi In order to connect the e-Health Sensor Shield to Raspberry Pi an adaptor shield is needed. Click here to know more about the Raspberry Pi to Arduino Shields Connection board.

http://www.cooking-hacks.com/documentation/tutorials/ehealth-v1-biometric-sensor-platform-arduino-raspberry-pi-medical/

5/62

23/6/2014

e-Health Sensor Platform V1.0 for Arduino and Raspberry Pi [Biometric / Medical Applications]

The shields: Get Raspberry Pi Get the Raspberry Pi to Arduino shields connection bridge Get the e-Health sensor shield Get the e-Health complete kit

Warnings: The LCD, the glucometer and communication modules use the UART port and can't work simultaneously. The LCD and the glucometer use the same connector. The body position sensor and the sphygmomanometer can't work simultaneously. Use the jumpers integrated in the board to use one or other. To use sphygmomanometer, you'll need to have the jumpers in the SPHY position. To use body position sensor, you'll need to have the jumpers in the POS configuration.

3. The library.

Go to Index

The e-health Sensor Platform counts with a C++ library that lets you read easily all the sensors and send the information by using any of the available radio interfaces. This library offers an simple-to-use open source system. In order to ensure the same code is compatible in both platforms (Arduino and Raspberry Pi) we use the ArduPi libraries which allows developers to use the same code. Detailed info can be found here: Raspberry Pi to Arduino shields connection bridge ArduPi library

Using the library with Arduino The eHealth sensor platform includes a high level library functions for a easy manage of the board. Before start using this functions you should download the files from this link. This zip includes all the files needed in two separated folders, “eHealth” and “PinChangeInt”. The “PinChangeInt” library is necessary only when you use the pulsioximeter sensor. Copy this folders in the arduino IDE folder “libraries”. Don't forget include these libraries in your codes. Download the e-Health library for Arduino Libraries are often distributed as a ZIP file or folder. The name of the folder is the name of the library. Inside the folder will be the .cpp files, .h files and often a keywords.txt file, examples folder, and other files required by the library. To install the library, first quit the Arduino application. Then uncompress the ZIP file containing the library. For installing eHealth library , uncompress eHealth.zip. It should contain a folder called “eHealth” and another called “PinChangeInt”, with files like eHealth.cpp and eHealth.h inside. Drag the eHealth and PinChange folders into this folder (your libraries folder). Under Windows, it will likely be called "My Documents\Arduino\libraries". For Mac users, it will likely be called "Documents/Arduino/libraries". On Linux, it will be the "libraries" folder in your sketchbook. The library won't work if you put the .cpp and .h files directly into the libraries folder or if they're nested in an extra folder. Restart the Arduino application. Make sure the new library appears in the Sketch->Import Library menu item of the software. That's it! You've installed a library!

Using the library with Raspberry Pi The e-Health library for Raspberry Pi requires the arduPi library and both libraries should be in the same path. Download the e-Health Libraries for Raspberry Creating a program that uses the library is as simple as putting your code in this template where it says "your arduino code here"

http://www.cooking-hacks.com/documentation/tutorials/ehealth-v1-biometric-sensor-platform-arduino-raspberry-pi-medical/

6/62

23/6/2014

e-Health Sensor Platform V1.0 for Arduino and Raspberry Pi [Biometric / Medical Applications]

Show Code //Include eHealth library (it includes arduPi) #include "eHealth.h" Compilation of the program can be done in two ways: Compiling separately eHealth and arduPi, and using them for compiling the program in a second step: /********************************************************* * IF YOUR ARDUINO CODE HAS OTHER FUNCTIONS APART FROM * g++ -c arduPi.cpp -o arduPi.o * setup() AND loop() YOU MUST DECLARE THEM HERE * * *******************************************************/ g++ -c eHealth.cpp -o eHealth.o

/************************** g++ -lpthread -lrt user-e-health-app.cpp arduPi.o eHealth.o -o user-e-health-app * YOUR ARDUINO CODE HERE * * ************************/ Compiling everithing in one step: int main (){ -lrt user-e-health-app.cpp arduPi.cpp eHealth.cpp -o user-e-health-app g++ -lpthread setup(); Executing your program is as simple as doing: while(1){ loop(); sudo ./user-e-health-app } }

return (0);

General e-Health functions Pulsioximeter sensor functions: initPulsioximeter() // It initialize the pulsioximeter sensor. readPulsioximeter() // It reads a value from pulsioximeter sensor. getBPM() // Returns the heart beats per minute. getOxygenSaturation() // Returns the oxygen saturation in blood in percent. ECG sensor funcion: getECG() // Returns an analogic value to represent the Electrocardiography. AirFlow sensor funcions: getAirFlow() // Returns an analogic value to represent the air flow. airFlowWave() // Prints air flow wave form in the serial monitor. Temperature sensor function: getTemperature() // Returns the corporal temperature. Blood pressure functions // initBloodPressureSensor() // It initialize

the blood pressure sensor.

getSystolicPressure() // Returns the value of the systolic pressure. getDiastolicPressure() // Returns the value of the diastolic pressure. Body position sensor functions: initPositionSensor() // It initialize the position sensor. getBodyPosition() // Returns the body position. printPosition() // Prints the current body position. GSR sensor functions: getSkinConductance() // Returns the value of skin conductance. getSkinResistance() // Returns the value of skin resistance. getSkinConductanceVoltage() // Returns the value of skin conductance in voltage. Glucometer sensor functions: readGlucometer() // Read the values stored in the glucometer. GetGlucometerLength() // Returns the number of data stored in the glucometer. numberToMonth() // Convert month variable from numeric to character.

4. Sensor Platform.

Go to Index

Pulse and Oxygen in Blood (SPO2) SPO2 sensor features Pulse oximetry a noninvasive method of indicating the arterial oxygen saturation of functional hemoglobin. Oxygen saturation is defined as the measurement of the amount of oxygen dissolved in blood, based on the detection of Hemoglobin and Deoxyhemoglobin. Two different light wavelengths are used to measure the actual difference in the absorption spectra of HbO2 and Hb. The bloodstream is affected by the concentration of HbO2 and Hb, and their absorption coefficients are measured using two wavelengths 660 nm (red light spectra) and 940 nm (infrared light spectra). Deoxygenated and oxygenated hemoglobin absorb different wavelengths.

http://www.cooking-hacks.com/documentation/tutorials/ehealth-v1-biometric-sensor-platform-arduino-raspberry-pi-medical/

7/62

23/6/2014

e-Health Sensor Platform V1.0 for Arduino and Raspberry Pi [Biometric / Medical Applications]

Deoxygenated hemoglobin (Hb) has a higher absorption at 660 nm and oxygenated hemoglobin (HbO2) has a higher absorption at 940 nm . Then a photo-detector perceives the non-absorbed light from the LEDs to calculate the arterial oxygen saturation.

A pulse oximeter sensor is useful in any setting where a patient's oxygenation is unstable, including intensive care, operating, recovery, emergency and hospital ward settings, pilots in unpressurized aircraft, for assessment of any patient's oxygenation, and determining the effectiveness of or need for supplemental oxygen.

Acceptable normal ranges for patients are from 95 to 99 percent, those with a hypoxic drive problem would expect values to be between 88 to 94 percent, values of 100 percent can indicate carbon monoxide poisoning.

The sensor needs to be connected to the Arduino or Raspberry Pi, and don't use external/internal battery.

Connecting the sensor Connect the module in the e-Health sensor platform. The sensor have only one way of connection to prevent errors and make the connection easier.

Insert your finger into the sensor and press ON button.

http://www.cooking-hacks.com/documentation/tutorials/ehealth-v1-biometric-sensor-platform-arduino-raspberry-pi-medical/

8/62

23/6/2014

e-Health Sensor Platform V1.0 for Arduino and Raspberry Pi [Biometric / Medical Applications]

After a few seconds you will get the values in the sensor screen.

Library functions Initializing This sensor use interruptions and it is necessary to include a special library when you are going to use it.

#include < PinChangeInt.h >

After this include, you should attach the interruptions in your code to get data from th sensor. The sensor will interrupt the process to refresh the data stored in private variables.

PCintPort::attachInterrupt(6, readPulsioximeter, RISING);

The digital pin 6 of Arduino is the pin where sensor send the interruption and the function readpulsioximeter will be executed.

void readPulsioximeter(){ cont ++;

}

if (cont == 50) { //Get only one 50 measures to reduce the latency eHealth.readPulsioximeter(); cont = 0; }

Before start using the SP02 sensor, it must be initialized. Use the next function in setup to configure some basic parameters and to start the communication between the Arduino/RaspberryPi and sensor. Reading the sensor For reading the current value of the sensor, use the next function. Example: { }

eHealth.readPulsioximeter();

http://www.cooking-hacks.com/documentation/tutorials/ehealth-v1-biometric-sensor-platform-arduino-raspberry-pi-medical/

9/62

23/6/2014

e-Health Sensor Platform V1.0 for Arduino and Raspberry Pi [Biometric / Medical Applications]

This function will store the values of the sensor in private variables. Getting data To view data we can get the values of the sensor stored in private variable by using the next functions. Example: { int SPO2 = eHealth.getOxygenSaturation()

}

int BPM = eHealth.getBPM()

Example Arduino

Upload the next code for seeing data in the serial monitor: Show Code /* * eHealth sensor platform for Arduino and Raspberry from Cooking-hacks. Upload * the code to Arduino and watch the Serial monitor.Here is the USB output using the Arduino IDE serial port terminal: * * * * * * * * * *

Description: "The e-Health Sensor Shield allows Arduino and Raspberry Pi users to perform biometric and medical applications by using 9 different sensors: Pulse and Oxygen in Blood Sensor (SPO2), Airflow Sensor (Breathing), Body Temperature, Electrocardiogram Sensor (ECG), Glucometer, Galvanic Skin Response Sensor (GSR - Sweating), Blood Pressure (Sphygmomanometer) and Patient Position (Accelerometer)."

In this example we read the values of the pulsioximeter sensor and we show this values in the serial monitor

* * *

Copyright (C) 2012 Libelium Comunicaciones Distribuidas S.L. http://www.libelium.com

* * *

it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

*

*

This program is free software: you can redistribute it and/or modify

* This Raspberry Pi program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Show Code

* GNU General Public License f...


Similar Free PDFs