ebook img

Desarrollo de un sistema de adquisición y tratamiento de datos para modelos hidraúlicos PDF

133 Pages·2016·13.69 MB·Spanish
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 un sistema de adquisición y tratamiento de datos para modelos hidraúlicos

UNIVERSIDAD DE EXTREMADURA ESCUELA POLITE´CNICA GRADO EN INGENIER´IA INFORMA´TICA EN INGENIER´IA DE COMPUTADORES TRABAJO FIN DE GRADO T´ıtulo: Desarrollo de un sistema de adquisicio´n y tratamiento de datos para modelos hidrau´licos Nombre: Alberto Iglesias Gonzalo Septiembre, 2016 UNIVERSIDAD DE EXTREMADURA ESCUELA POLITE´CNICA GRADO EN INGENIER´IA INFORMA´TICA EN INGENIER´IA DE COMPUTADORES (GIIIC) TRABAJO FIN DE GRADO T´ıtulo: Desarrollo de un sistema de adquisicio´n y tratamiento de datos para modelos hidrau´licos Autor: Alberto Iglesias Gonzalo. Tutor: Pablo Garc´ıa Rodr´ıguez. Cotutores: Pablo Dura´n Barroso y Jose´ Ceballos. Presidente: Antonio Manuel Silva Luengo. Secretario: Jesu´s Torrecilla Pinero. Vocal: Pilar Bachiller Burgos. Abstract En los u´ltimos an˜os la tendencia de todos los sectores industriales se han basadoenlamonitorizacio´ndesussistemas,realizandoas´ıuncontrolentiempo real de todos los sensores del entorno. Actualmente, con la evolucio´n de la tecnolog´ıasabemosqueesosdatospuedessertratadosyalmacenadosparapoder realizar un ecosistema ma´s sostenible y eficiente, este proyecto da un paso ma´s hayayunificaelcontrolyalmacenamientodedatosenunu´nicoaplicativo. Este proyectosera´utilizadoenellaboratoriodeIngenier´ıacivildehidrolog´ıaportodos los alumnos, siendo u´til para la elaboracio´n de sus pra´cticas. Una vez unificado todoelprocesodemuestreoyprueba,laaplicacio´npodra´serutilizadadentrodela EscuelaPolite´cnicaparamonitorizartodosusistemadeabastecimientodeagua, pudiendorealizarunconsumodeaguama´seficienteyampliandoas´ıelconcepto de SmartPolitech o entornos inteligentes. Todo esto, unido a la utilizacio´n de software libre, lograr´ıa ser un entorno u´nico, ya que conseguir´ıamos tener un sistemaeficiente,sostenibleylibre. Amifamiliayenespecialamiabuela. Gracias. 3 CONTENTS Contents 1 INTRODUCCIO´N 11 1.1 Internetdelascosas . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.2 Softwarelibre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.3 AlmacenamientoNoSQL . . . . . . . . . . . . . . . . . . . . . . . . 14 1.4 Definicio´ndeobjetivos . . . . . . . . . . . . . . . . . . . . . . . . . 15 2 ESTADODELARTE 19 2.1 Sensoresenentornosreales . . . . . . . . . . . . . . . . . . . . . . . 19 2.2 Sistemademedicio´n . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3 TECNOLOGI´ASEMPLEADAS 23 3.1 Aplicacio´nweb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.1.1 Persistenciadedatos . . . . . . . . . . . . . . . . . . . . . . 24 3.1.2 Lo´gicadenegocio . . . . . . . . . . . . . . . . . . . . . . . 26 3.1.3 Presentacio´ndedatos . . . . . . . . . . . . . . . . . . . . . . 28 3.1.4 Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.2 Sistemaderecogidadedatos . . . . . . . . . . . . . . . . . . . . . . 35 3.2.1 Plataformaempleada . . . . . . . . . . . . . . . . . . . . . . 41 3.2.2 Arquitecturahardware . . . . . . . . . . . . . . . . . . . . . 41 3.2.3 Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4 ARQUITECTURAEIMPLEMENTACIO´N 51 4.1 Aplicacio´nweb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.1.1 Backend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.1.2 Frontend . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.1.3 RealTimeFirebase . . . . . . . . . . . . . . . . . . . . . . . 72 4.2 Recogidadedatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.2.1 ArquitecturasoftwareLinino . . . . . . . . . . . . . . . . . . 79 4.2.2 APIRESTarduino . . . . . . . . . . . . . . . . . . . . . . . 80 4 CONTENTS 5 INGENIERI´ADELSOFTWARE 85 5.1 Plandeejecucio´n . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.2 Metodolog´ıaempleada . . . . . . . . . . . . . . . . . . . . . . . . . 86 5.3 Definicio´nderequisitos . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.4 Casosdeusos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 5.5 Diagramadeclases . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 5.6 Diagramadesecuencia . . . . . . . . . . . . . . . . . . . . . . . . . 103 5.7 Pruebasfuncionales . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 6 RESULTADOSYDISCUSIO´N 113 7 CONCLUSIONESYLI´NEASFUTURAS 123 8 BIBLIOGRAFI´A 126 9 Anexos 128 5 LISTOFTABLES List of Tables 1 Requesitofuncional1 . . . . . . . . . . . . . . . . . . . . . . . . . . 87 2 Requisitofuncional2 . . . . . . . . . . . . . . . . . . . . . . . . . . 88 3 Requisitofuncional3 . . . . . . . . . . . . . . . . . . . . . . . . . . 88 4 Requisitofuncional4 . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5 Requisitofuncional5 . . . . . . . . . . . . . . . . . . . . . . . . . . 88 6 Requisitofuncional6 . . . . . . . . . . . . . . . . . . . . . . . . . . 89 7 RequisitoFuncional7 . . . . . . . . . . . . . . . . . . . . . . . . . . 89 8 Requisitofuncional8 . . . . . . . . . . . . . . . . . . . . . . . . . . 89 9 Requesitofuncional9 . . . . . . . . . . . . . . . . . . . . . . . . . . 90 10 Requisitofuncional10 . . . . . . . . . . . . . . . . . . . . . . . . . 90 11 Requesitofuncional11 . . . . . . . . . . . . . . . . . . . . . . . . . 90 12 Requisitofuncional12 . . . . . . . . . . . . . . . . . . . . . . . . . 91 13 Requisitofuncional13 . . . . . . . . . . . . . . . . . . . . . . . . . 91 14 Requesitiofuncional14 . . . . . . . . . . . . . . . . . . . . . . . . . 91 15 Requisitofuncional15 . . . . . . . . . . . . . . . . . . . . . . . . . 91 16 Requisitofuncional16 . . . . . . . . . . . . . . . . . . . . . . . . . 92 17 Requisitofuncional17 . . . . . . . . . . . . . . . . . . . . . . . . . 92 18 Requesitofuncional18 . . . . . . . . . . . . . . . . . . . . . . . . . 92 19 Requisitofuncional19 . . . . . . . . . . . . . . . . . . . . . . . . . 92 20 Requisitofuncional20 . . . . . . . . . . . . . . . . . . . . . . . . . 93 6 LISTOFFIGURES List of Figures 1 MapaconceptualdeSoftwarelibre. . . . . . . . . . . . . . . . . . . 13 2 SistemaSCADA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3 DiferenciaHTML4vsHMTL5. . . . . . . . . . . . . . . . . . . . . 29 4 DiferenciaHTML4vsHMTL5 . . . . . . . . . . . . . . . . . . . . . 30 5 EjemplojQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 6 ArquitecturaAngularJS . . . . . . . . . . . . . . . . . . . . . . . . . 33 7 ArduinoYUN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 8 ArquitecturaarduinoYUN. . . . . . . . . . . . . . . . . . . . . . . . 43 9 ResetarduinoYUN. . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 10 SensorNivel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 11 SalidavoltajevsAlturaagua. . . . . . . . . . . . . . . . . . . . . . . 45 12 SensorPresio´n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 13 SensorCaudal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 14 ArquitecturaCaudal . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 15 SensorUltrasonido . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 16 SensorMPX5010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 17 ArquitecturasensorMPX5010 . . . . . . . . . . . . . . . . . . . . . 49 18 Arquitecturaaplicacio´nweb. . . . . . . . . . . . . . . . . . . . . . . 52 19 AccesoserviciomongoDB. . . . . . . . . . . . . . . . . . . . . . . . 54 20 Accesoabasededatos. . . . . . . . . . . . . . . . . . . . . . . . . . 54 21 ShowCollection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 22 EstructuraproyectoDjango. . . . . . . . . . . . . . . . . . . . . . . 58 23 Estructuraaplicacio´nDjango. . . . . . . . . . . . . . . . . . . . . . . 61 24 EjemplovistaDjango. . . . . . . . . . . . . . . . . . . . . . . . . . 62 25 Ejemplomodelomeasure. . . . . . . . . . . . . . . . . . . . . . . . 63 26 ArquitecturaSoftware. . . . . . . . . . . . . . . . . . . . . . . . . . 63 27 Estructuradirectoriotemplate. . . . . . . . . . . . . . . . . . . . . . 64 28 EjemplorenderPython. . . . . . . . . . . . . . . . . . . . . . . . . . 65 7 LISTOFFIGURES 29 EjemplorenderHTML. . . . . . . . . . . . . . . . . . . . . . . . . . 65 30 EjemploimportHTML. . . . . . . . . . . . . . . . . . . . . . . . . . 66 31 EstructuraBootstrap. . . . . . . . . . . . . . . . . . . . . . . . . . . 67 32 EjemplojQuery. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 33 ModuleangularJS. . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 34 DirectiveangularJS. . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 35 EjemploAngular1. . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 36 EjemploAngular2. . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 37 EjemploAngular3. . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 38 EjemploAngular4. . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 39 EjemploAngular5. . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 40 Nodoproyectofirebase. . . . . . . . . . . . . . . . . . . . . . . . . . 73 41 URLaccesoLinino. . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 42 PantallaaccesoLinino. . . . . . . . . . . . . . . . . . . . . . . . . . 75 43 PantallaajustesLinino. . . . . . . . . . . . . . . . . . . . . . . . . . 75 44 AccesoaLininomedianteSSH. . . . . . . . . . . . . . . . . . . . . 76 45 Expansio´nmemoriaSD1. . . . . . . . . . . . . . . . . . . . . . . . 77 46 Expansio´nmemoriaSD2. . . . . . . . . . . . . . . . . . . . . . . . 77 47 Expansio´nmemoriaSD3. . . . . . . . . . . . . . . . . . . . . . . . 78 48 Expansio´nmemoriaSD4. . . . . . . . . . . . . . . . . . . . . . . . 78 49 Expansio´nmemoriaSD4. . . . . . . . . . . . . . . . . . . . . . . . 78 50 Mo´dulosensorcaudal. . . . . . . . . . . . . . . . . . . . . . . . . . 82 51 Voltajesalidasensorpresio´n. . . . . . . . . . . . . . . . . . . . . . . 83 52 Mo´dulosensorpresio´n. . . . . . . . . . . . . . . . . . . . . . . . . . 83 53 Plandeejecuion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 54 CasosdeusoactorUser. . . . . . . . . . . . . . . . . . . . . . . . . 94 55 CasosdeusoactorAdmin. . . . . . . . . . . . . . . . . . . . . . . . 95 56 Casosdeusoserver. . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 57 CasosdeusoYUN. . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 8 LISTOFFIGURES 58 Diagramaclaselogin. . . . . . . . . . . . . . . . . . . . . . . . . . . 97 59 Diagramaclaselogout. . . . . . . . . . . . . . . . . . . . . . . . . . 98 60 Diagramaclaseinterval. . . . . . . . . . . . . . . . . . . . . . . . . 99 61 Diagramaclasemeasure. . . . . . . . . . . . . . . . . . . . . . . . . 99 62 Diagramaclasecreateuser. . . . . . . . . . . . . . . . . . . . . . . . 100 63 Diagramaclaseupdateuser. . . . . . . . . . . . . . . . . . . . . . . 100 64 Diagramaclaselistuser. . . . . . . . . . . . . . . . . . . . . . . . . 101 65 Diagramaclasedeleteuser. . . . . . . . . . . . . . . . . . . . . . . . 101 66 Diagramaclaseuploadfile. . . . . . . . . . . . . . . . . . . . . . . . 102 67 Diagramaclasereceiveandsavemeasure. . . . . . . . . . . . . . . . 102 68 Diagramasecuencialogin. . . . . . . . . . . . . . . . . . . . . . . . 103 69 Diagramasecuencialogout. . . . . . . . . . . . . . . . . . . . . . . . 104 70 Diagramasecuenciaan˜adirmedida. . . . . . . . . . . . . . . . . . . 104 71 Diagramasecuenciameasure. . . . . . . . . . . . . . . . . . . . . . . 105 72 Diagramasecuenciaadduser. . . . . . . . . . . . . . . . . . . . . . . 105 73 Diagramasecuencialistusers. . . . . . . . . . . . . . . . . . . . . . 106 74 Diagramasecuenciaupdateuser. . . . . . . . . . . . . . . . . . . . . 106 75 Diagramasecuenciadeleteuser. . . . . . . . . . . . . . . . . . . . . 107 76 Diagramasecuenciaupdatefile. . . . . . . . . . . . . . . . . . . . . 107 77 Testfuncionallogin. . . . . . . . . . . . . . . . . . . . . . . . . . . 108 78 Testfuncionallogout. . . . . . . . . . . . . . . . . . . . . . . . . . . 108 79 Testfuncionalcreateinterval. . . . . . . . . . . . . . . . . . . . . . . 109 80 Testfuncionalviewmeasure. . . . . . . . . . . . . . . . . . . . . . . 109 81 Testfuncionaladduser. . . . . . . . . . . . . . . . . . . . . . . . . . 110 82 Testfuncionallistusers. . . . . . . . . . . . . . . . . . . . . . . . . 110 83 Testfuncionalupdateuser. . . . . . . . . . . . . . . . . . . . . . . . 110 84 Testfuncionaldeleteuser. . . . . . . . . . . . . . . . . . . . . . . . . 111 85 Testfuncionaluploadfile. . . . . . . . . . . . . . . . . . . . . . . . . 111 86 Visualizacio´nmedidaspuertoserie. . . . . . . . . . . . . . . . . . . 113 9

Description:
JSON, en documentos AngularJS es un framework javascript de código abierto desarrollado por Google . referencia e iniciación al mundo de arduino. Conexión con mongo: se ha utilizado pymongo (connection.py). de vistas pero, se ha creado una API REST con una librerıa de Django
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.