ebook img

Desarrollo de aplicación IoMT sobre Raspberry Pi para monitorización de datos biomédicos PDF

161 Pages·2016·5.76 MB·Spanish
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Desarrollo de aplicación IoMT sobre Raspberry Pi para monitorización de datos biomédicos

Proyecto Fin de Carrera Ingeniería de Telecomunicación Desarrollo de aplicación IoMT sobre Raspberry Pi para monitorización de datos biomédicos Autor: Alfredo Enrique Sáez Pérez de la Lastra Tutor: Antonio Jesús Sierra Collado Equation Chapter 1 Section 1 Departamento de Ingeniería Telemática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2016 Proyecto Fin de Carrera Ingeniería de Telecomunicación Desarrollo de aplicación IoMT sobre Raspberry Pi para monitorización de datos biomédicos Autor: Alfredo Enrique Sáez Pérez de la Lastra Tutor: Antonio Jesús Sierra Collado Profesor titular Departamento de Ingeniería Telemática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2016 Í NDICE 1 Objetivos ............................................................................................................................................. 11 2 Introducción ........................................................................................................................................ 13 Recolección de datos ................................................................................................................................. 13 Almacenamiento e intercambio de la información procedente de dispositivos clínicos ...................... 14 Visualización de las constantes biomédicas del paciente ....................................................................... 14 Diagrama de componentes implicados .................................................................................................... 14 3 Soluciones IoMT alternativas ............................................................................................................... 17 Capsule ....................................................................................................................................................... 17 Picis Hawkeye ............................................................................................................................................. 19 OpenICE ...................................................................................................................................................... 19 Resumen de las soluciones IoMT alternativas ......................................................................................... 21 4 Análisis de tecnologías ......................................................................................................................... 23 Hardware de integración .......................................................................................................................... 23 4.1.1 Descripción ......................................................................................................................................... 23 4.1.2 Análisis de alternativas ...................................................................................................................... 23 Sistema Operativo del Hardware de integración .................................................................................... 25 4.2.1 Descripción ......................................................................................................................................... 25 4.2.2 Análisis de alternativas ...................................................................................................................... 25 4.2.2.1 SO Linux ...................................................................................................................................... 26 4.2.2.2 SO Windows ............................................................................................................................... 26 4.2.2.3 Otros SO ..................................................................................................................................... 26 Clúster de servidores de mensajes ............................................................................................................ 26 4.3.1 Descripción ......................................................................................................................................... 26 4.3.2 Análisis de alternativas ...................................................................................................................... 27 4.3.2.1 Apache Kafka .............................................................................................................................. 27 4.3.2.2 RabbitMQ ................................................................................................................................... 29 Base de datos ............................................................................................................................................. 30 4.4.1 Descripción ......................................................................................................................................... 30 4.4.2 Análisis de alternativas ...................................................................................................................... 30 4.4.2.1 Oracle .......................................................................................................................................... 31 4.4.2.2 MySQL......................................................................................................................................... 32 4.4.2.3 SQL Server .................................................................................................................................. 32 Entorno de desarrollo para BBDD............................................................................................................. 32 4.5.1 Descripción ......................................................................................................................................... 32 4.5.2 Análisis de alternativas ...................................................................................................................... 33 4.5.2.1 Oracle SQL Developer ................................................................................................................ 33 4.5.2.2 TOAD ........................................................................................................................................... 34 Lenguaje de programación ....................................................................................................................... 34 4.6.1 Descripción ......................................................................................................................................... 34 4.6.2 Análisis de alternativas ...................................................................................................................... 34 4.6.2.1 Java ............................................................................................................................................. 34 4.6.2.2 Python......................................................................................................................................... 35 Capa de persistencia .................................................................................................................................. 36 4.7.1 Descripción ......................................................................................................................................... 36 4.7.2 Análisis de alternativas ...................................................................................................................... 36 4.7.2.1 Bajo nivel de abstracción .......................................................................................................... 36 4.7.2.2 ORM: Object-Relational mapping............................................................................................. 36 4.7.2.3 Soluciones mixtas ...................................................................................................................... 38 Gestor de dependencias y construcción del proyecto ............................................................................. 38 4.8.1 Descripción ........................................................................................................................................ 38 4.8.2 Análisis de alternativas...................................................................................................................... 39 4.8.2.1 Ant .............................................................................................................................................. 39 4.8.2.2 Maven ........................................................................................................................................ 39 4.8.2.3 Gradle ......................................................................................................................................... 39 Entorno de desarrollo software ................................................................................................................ 40 4.9.1 Descripción ........................................................................................................................................ 40 4.9.2 Análisis de alternativas...................................................................................................................... 40 4.9.2.1 Eclipse ......................................................................................................................................... 41 4.9.2.2 IntelliJ IDEA ................................................................................................................................ 44 4.9.2.3 NetBeans .................................................................................................................................... 45 4.9.2.4 JDeveloper ................................................................................................................................. 45 Resumen del análisis de tecnologías empleadas en el proyecto............................................................ 46 5 Descripción de la propuesta ................................................................................................................. 47 Arquitectura ............................................................................................................................................... 47 5.1.1 Diseño funcional ................................................................................................................................ 47 5.1.2 Prototipo inicial de la arquitectura del proyecto ............................................................................ 48 5.1.3 Modelo definitivo .............................................................................................................................. 50 Hardware de integración con biodispositivos ......................................................................................... 53 5.2.1 El estándar HL7 .................................................................................................................................. 53 5.2.2 Protocolos propietarios .................................................................................................................... 54 5.2.3 Adaptación entre puertos estándares ............................................................................................. 56 Base de datos ............................................................................................................................................. 58 5.3.1 Tablespace ......................................................................................................................................... 58 5.3.2 Usuarios / Esquemas ......................................................................................................................... 59 5.3.3 Tablas ................................................................................................................................................. 61 5.3.3.1 Información común a todas las tablas ..................................................................................... 62 5.3.3.2 Esquema HEALTH ...................................................................................................................... 63 5.3.3.3 Esquema DATA_ACQ ................................................................................................................. 66 5.3.4 Secuencias .......................................................................................................................................... 71 5.3.5 Índices ................................................................................................................................................ 73 5.3.6 Permisos ............................................................................................................................................. 74 Sistema de intercambio de datos: Kafka ................................................................................................. 76 5.4.1 Nodos ................................................................................................................................................. 77 5.4.2 Topics ................................................................................................................................................. 78 5.4.3 DTOs ................................................................................................................................................... 80 5.4.4 Modelo ............................................................................................................................................... 81 5.4.5 Producers ........................................................................................................................................... 82 5.4.6 Consumers ......................................................................................................................................... 85 Componentes software ............................................................................................................................. 88 5.5.1 Estructura del software del proyecto .............................................................................................. 88 5.5.2 MEDIPI Suite ...................................................................................................................................... 92 5.5.3 MEDIPi-DOM ..................................................................................................................................... 94 5.5.3.1 CORE-DOM ................................................................................................................................. 96 5.5.3.2 HEALTH-DOM .......................................................................................................................... 103 5.5.3.3 DATACQ-DOM ......................................................................................................................... 107 5.5.4 MEDIPI-CLUSTER ............................................................................................................................. 108 5.5.4.1 CORE-CLUSTER ......................................................................................................................... 109 5.5.5 MEDIPI-APP ...................................................................................................................................... 113 5.5.5.1 CORE-APP ................................................................................................................................. 116 5.5.5.2 DDA ........................................................................................................................................... 120 5.5.5.3 SAVER ....................................................................................................................................... 135 5.5.5.4 CHART ....................................................................................................................................... 139 Resumen de la descripción de la propuesta ........................................................................................... 145 6 Validación ........................................................................................................................................... 147 Funcionamiento de la solución ............................................................................................................... 147 Resumen de la validación ........................................................................................................................ 150 7 Planificación........................................................................................................................................ 151 Fases de la planificación .......................................................................................................................... 151 Resumen de la planificación.................................................................................................................... 153 8 Conclusiones y líneas futuras .............................................................................................................. 155 Conclusiones ............................................................................................................................................. 155 Líneas futuras ........................................................................................................................................... 156 Referencias ................................................................................................................................................ 157 ÍNDICE DE FIGURAS FIGURA 2-1. PRIMER ESQUEMA GENERAL DEL PROYECTO.................................................................................................... 14 FIGURA 3-1. ESQUEMA DE SMARTLINX, DE CAPSULE TECH, INC ....................................................................................... 17 FIGURA 3-2. MODELOS DE LA SERIE SMARTLINX AXON ...................................................................................................... 18 FIGURA 3-3. SMARTLINX IQ ............................................................................................................................................ 18 FIGURA 3-4. LOGO DE HAWKEYE, DE LA COMPAÑÍA PICIS CLINICAL SOLUTIONS .................................................................. 19 FIGURA 3-5. INTERFAZ DE USUARIO DE HAWKEYE CON LAS CONSTANTES DE UN PACIENTE. .................................................. 19 FIGURA 3-6. ASTM F-2761 VS IMPLEMENTACIÓN DE OPENICE ......................................................................................... 20 FIGURA 3-7. INTERFAZ SUPERVISOR DE OPENICE .............................................................................................................. 20 FIGURA 3-8. INTERFAZ DISPOSITIVO OPENICE .................................................................................................................. 21 FIGURA 4-1. CATÁLOGO DE SISTEMAS OPERATIVOS PARA LA RASPBERRY PI 2 ....................................................................... 25 FIGURA 4-2. LOGO DE APACHE KAFKA .............................................................................................................................. 27 FIGURA 4-3. ARQUITECTURA BÁSICA JAVA ........................................................................................................................ 27 FIGURA 4-4. CONSUMICIÓN DE MENSAJES DEL CLÚSTER ..................................................................................................... 28 FIGURA 4-5. TOPICS Y PARTICIONES EN KAFKA ................................................................................................................... 28 FIGURA 4-6. LOGO RABBITMQ ....................................................................................................................................... 29 FIGURA 4-7. RANKING DE BASES DE DATOS DE DB-ENGINES. .............................................................................................. 30 FIGURA 4-8. LOGO ORACLE DATABASE ............................................................................................................................. 31 FIGURA 4-9. LOGO MYSQL ............................................................................................................................................ 32 FIGURA 4-10. LOGO SQL SERVER .................................................................................................................................... 32 FIGURA 4-11. LOGO SQL DEVELOPER .............................................................................................................................. 33 FIGURA 4-12. INTERFAZ GRÁFICA SQL DEVELOPER ............................................................................................................ 33 FIGURA 4-13. LOGO DE TOAD ........................................................................................................................................ 34 FIGURA 4-14. LOGO DE JAVA .......................................................................................................................................... 34 FIGURA 4-15. PLATAFORMAS JAVA .................................................................................................................................. 35 FIGURA 4-16. LOGO DE PYTHON ..................................................................................................................................... 35 FIGURA 4-17. LOGO DE JDBC ......................................................................................................................................... 36 FIGURA 4-18. LOGOS DE LAS PRINCIPALES IMPLEMENTACIONES JPA: HIBERNATE, ECLIPSELINK Y OPENJPA ............................ 37 FIGURA 4-19. LOGO DE QUERYDSL ................................................................................................................................. 37 FIGURA 4-20. LOGO DE IBATIS ........................................................................................................................................ 38 FIGURA 4-21. LOGO DE ANT ........................................................................................................................................... 39 FIGURA 4-22. LOGO DE MAVEN ...................................................................................................................................... 39 FIGURA 4-23. LOGO DE GRADLE ...................................................................................................................................... 39 FIGURA 4-24. COMPARATIVA ENTRE LOS IDES JAVA MÁS USADOS ...................................................................................... 41 FIGURA 4-25. ARQUITECTURA DE ECLIPSE. ........................................................................................................................ 41 FIGURA 4-26. INTERFAZ DE ECLIPSE IDE. .......................................................................................................................... 43 FIGURA 4-27. PERSPECTIVAS. .......................................................................................................................................... 43 FIGURA 4-28. VISTA DE GESTIÓN DE PROYECTOS. .............................................................................................................. 43 FIGURA 5-1. TIPOS DE CONSTANTES MÉDICAS, CONTINUAS Y DISCRETAS. .............................................................................. 48 FIGURA 5-2. PRIMER PROTOTIPO DE MEDIPI ................................................................................................................... 48 FIGURA 5-3. LEYENDA PRIMER PROTOTIPO DE MEDIPI ...................................................................................................... 49 FIGURA 5-4. ESQUEMA DEL SISTEMA DE FICHEROS DISTRIBUIDOS HDFS EMPLEADO POR HADOOP. ........................................ 50 FIGURA 5-5. ESQUEMA GENERAL DE LA ARQUITECTURA ..................................................................................................... 51 FIGURA 5-6. LEYENDA ESQUEMA GENERAL DE LA ARQUITECTURA ........................................................................................ 51 FIGURA 5-7. A LA IZQUIERDA, UN SENSOR DE PULSO CARDÍACO. A LA DERECHA, UN VENTILADOR DE GENERAL ELECTRICS ......... 53 FIGURA 5-8. LA RASPBERRY PI 2 B OFRECE 4 PUERTOS USB A BAJO COSTE ........................................................................... 55 FIGURA 5-9. ESQUEMA DE UNA ADAPTACIÓN RS232 (DB9) A USB .................................................................................... 57 FIGURA 5-10. ADAPTADOR EMPLEADO EN EL PROYECTO .................................................................................................... 57 FIGURA 5-11. TABLESPACE INICIALES DE UNA BASE DE DATOS ORACLE XE 11G R2 ................................................................ 58 FIGURA 5-12. PARÁMETROS DE CONEXIÓN POR DEFECTO DE LA BASE DE DATOS ................................................................... 59 FIGURA 5-13. MODELO DE DATOS ................................................................................................................................... 61 FIGURA 5-14. MODELO DE DATOS SOBRE BIODISPOSITIVOS ................................................................................................ 66 FIGURA 5-15. ARQUITECTURA BÁSICA DE KAFKA ............................................................................................................... 76 FIGURA 5-16. MODELO DEL CLÚSTER ............................................................................................................................... 81 FIGURA 5-17. ESTRUCTURA DE PROYECTOS DOM (DOCUMENT OBJECT MODEL) (BASE DE DATOS) ...................................... 89 FIGURA 5-18. ESTRUCTURA DE PROYECTOS CLUSTER (KAFKA) ............................................................................................ 89 FIGURA 5-19. ESTRUCTURA DE PROYECTOS APP (ELEMENTOS COMUNES DE APLICACIONES MEDIPI) .................................... 89 FIGURA 5-20. ESTRUCTURA DE PROYECTOS MEDIPI. REPRESENTACIÓN GRÁFICA................................................................. 90 FIGURA 5-21. ESTRUCTURA DE PROYECTOS MEDIPI. REPRESENTACIÓN EN CARPETAS .......................................................... 91 FIGURA 5-22. PROYECTO CORE-DOM............................................................................................................................... 96 FIGURA 5-23. PATRÓN DAO EN MEDIPI ...................................................................................................................... 101 FIGURA 5-24. PROYECTO HEALTH-DOM ......................................................................................................................... 104 FIGURA 5-25. PROYECTO DATACQ-DOM ........................................................................................................................ 107 FIGURA 5-26. PROYECTO CORE-CLUSTER ....................................................................................................................... 110 FIGURA 5-27. PROYECTO CORE-APP .............................................................................................................................. 117 FIGURA 5-28. ESTRUCTURA DE UN PROYECTO DURANTE EL DESARROLLO VS COMPILADO ..................................................... 118 FIGURA 5-29. PROYECTO DDA ..................................................................................................................................... 120 FIGURA 5-30. ESQUEMA DE DDA ................................................................................................................................. 123 FIGURA 5-31. PROTOCOLREADER.................................................................................................................................. 130 FIGURA 5-32. COMMANDLISTENER ............................................................................................................................... 133 FIGURA 5-33. DATASENDERMANAGER .......................................................................................................................... 134 FIGURA 5-34. PROYECTO SAVER .................................................................................................................................. 136 FIGURA 5-35. ESQUEMA DE SAVER .............................................................................................................................. 137 FIGURA 5-36. PROYECTO CHART ................................................................................................................................. 140 FIGURA 5-37. ESQUEMA DE CHART ............................................................................................................................. 141 FIGURA 6-1. RASPBERRY PI 2 MODELO B CONECTADA A UN BIODISPOSITIVO MEDIANTE UN ADAPTADOR USB – RS232 ........ 147 FIGURA 6-2. MÓDULO DDA DESPLEGADO EN LA RASPBERRY ........................................................................................... 147 FIGURA 6-3. ENTORNO DE DESARROLLO SQL CONECTADO CORRECTAMENTE A LA BASE DE DATOS........................................ 148 FIGURA 6-4. NODOS ZOOKEEPER, BROKER 1 Y BROKER 2 ARRANCADOS SOBRE UNA MISMA MÁQUINA WINDOWS ................ 148 FIGURA 6-5. LOG DE EJECUCIÓN, EN MODO DEBUG, DE DDA EN LA RASPBERRY ................................................................. 148 FIGURA 6-6. LOG DE UN BROKER KAFKA ........................................................................................................................ 149 FIGURA 6-7. LOG DE SAVER ........................................................................................................................................ 149 FIGURA 6-8. TABLA CONSTANT_INFO CON DATOS INSERTADOS POR SAVER ................................................................. 149 FIGURA 6-9. EJECUCIÓN DE CHART, EN LA QUE PODEMOS VER DATOS (SIMULADOS) A TIEMPO REAL ..................................... 150 FIGURA 7-1. PLANIFICACIÓN PLANTEAMIENTO ................................................................................................................ 151 FIGURA 7-2. PLANIFICACIÓN FASE DE ANÁLISIS ................................................................................................................ 151 FIGURA 7-3. PLANIFICACIÓN PRUEBA DE CONCEPTO ........................................................................................................ 152 FIGURA 7-4. PLANIFICACIÓN DESARROLLO I .................................................................................................................... 152 FIGURA 7-5. PLANIFICACIÓN DESARROLLO II ................................................................................................................... 153 FIGURA 7-6. PLANIFICACIÓN POSTDESARROLLO .............................................................................................................. 153

Description:
con Oracle Real Application Clusters (Oracle RAC). - Oracle .. Aunque son motores ORM sólidos se encuentran a demasiada distancia de Hibernate en cuanto a rendimiento, . JDeveloper de Oracle, por los motivos que se argumentarán más adelante. LOG.error("Error creating data senders.", e);.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.