Full text
ProyectoFindeCarrera Desarrollodeunsistemaderecogidaautomática dedatosaplicadoaequiposautónomos Autor AdriánPeñaLapuente Directoryponente DavidIzquierdoNúñez CarlosDavidHerasVila EscueladeIngenieríayArquitectura Septiembre2013
Desarrollodeunsistemaderecogidaautomáticadedatosaplicadoaequipos autónomos RESUMEN LagranevoluciónsufridaporlasTecnologíasdelaInformaciónydelasComunicacionesy porInternet,hanpropiciadosuusoparaelcontrolremotodetodotipodeinstalaciones. Enesteámbito,elGrupodeTecnologíasFotónicasdelaUniversidaddeZaragoza,quedesde haceunosañosdiseñasensoresparaplantastermosolares,quiereobtenerdatosycontrolar remotamentelosequiposqueinstala,yesahídondeseenmarcaesteproyecto. Esteproyectoconsisteeneldesarrollodeunsistema,capazdetransmitirlosdatostomados porunossensoressituadosencampo,apoyadoenlatecnologíaGPRSdecomunicaciones inalámbricascomerciales,hastaunservidor,capazdealmacenarlosyprocesarlos. Paraello,sehainstaladoyconfiguradounservidorquealojaunawebderecepciónde datos,unawebdegestiónycontroldelosdatosrecibidos,yunawebdeconfiguraciónde losequiposremotos. Tambiénsehadesarrolladoelhardwareyelsoftwaredeldispositivodemedida,quese encargadeestablecerlacomunicaciónconelservidor.Estehardwareseintegraenunade lasplacasdecontrolyadesarrolladasporelGTF. Además,sehanestudiadotantoeltráficodedatosquegeneraránestosequipos,comoel consumoenergéticoqueestesistemaañadiráalconsumoqueyateníalaplacadecontrol existente,ademásdecaracterizarelsistemadecargadebateríasainstalar.
Agradecimientos Amifamilia,pordarmelaposibilidadde estudiarestacarrerayporaguantarmeenlos periodosdeexámenes. Amisamigos,porelapoyoqueherecibidode suparte,yenespecialaJuan,porquesinél habríacostadomásestudiar. AlGTFyenespecialaDavidyCarlos,director yponentedeesteproyecto,pordarmela posibilidaddehaceresteproyecto,yporla ayudaprestadaentodomomento.
ÍNDICE I.MEMORIA…………………………………………………………………………………………….3 1.Introducción…………………………………………………………………………………………………....3 2.Análisisdetecnologías,protocolosyplataformas…………………………………………….7 2.1.Tecnologíasinalámbricasmóvilescomerciales………………………………………..7 2.2.Tecnologíasparalacreaciónderedesinalámbricas…………………………………8 2.3.Protocolodeniveldetransporte……………………………………………………………..9 2.4.Protocolodeniveldeaplicación………………………………………………………………10 2.5.Estudiodeservidores……………………………………………………………………………….11 2.6.Conclusionesydiagramafinaldelacomunicación…………………………………..12 3.Desarrollodelsistemaderecogidaautomáticadedatos………………………………….13 3.1.Desarrollodelservidor…………………………………………………………………………….13 3.1.1.Montajeyconfiguracióndelservidor………………………………………………………….13 3.1.2.Webdeinteracciónconlosdispositivosautónomos……………………………………15 3.1.3.Webdeinteracciónconlosusuarios…………………………………………………………..17 3.2.Desarrollodeldispositivoautomático……………………………………………………..18 3.2.1.Hardware……………………………………………………………………………………………………18 3.2.2.Software……………………………………………………………………………………………………..20 3.3.Pruebasdelsistemaderecogidaautónomadedatos………………………………22 3.3.1.Estudiodetráficogenerado………………………………………………………………………..22 3.3.2.Estudiodeconsumoenergético………………………………………………………………….23 3.3.3.Estudiodecargadelpanelsolar………………………………………………………………….25 3.4.Adaptaciónparaelmódulo3G…………………………………………………………………26 4.Conclusionesylíneasfuturas……………………………………………………………………………27 II.ANEXOS……………………………………………………………………………………………….29 1.Análisisdetecnologíasyprotocolos…………………………………………………………………………………31 2.ProtocoloHTTP………………………………………………………………………………………………………………..37 3.Montajeyconfiguracióndelservidor………………………………………………………………………………41 4.Creacióndelaswebs……………………………………………………………………………………………………….43 5.Estudiodetráficogenerado…………………………………………………………………………………………….49 6.Estudiodeconsumoenergético……………………………………………………………………………………….57 7.Caracterizacióndelsistemadecargayalimentación……………………………………………………….63 8.Modificacionesparalainsercióndelmódulo3G……………………………………………...................67 III.BIBLIOGRAFÍA……………………………………………………………………………………..73
PARTEI MEMORIA
Capítulo2:Análisisdetecnologías,protocolosyplataformas 8 menorprobabilidaddebloqueoteórica.Sicomparamoslascoberturas,UMTStieneunacobertura ligeramentemenorqueGPRS,aunqueladiferenciaentrelasdostecnologíasnoesdemasiado significativaconrespectoaestefactor. Tabla2:Comparacióndecaracterísticasdelasprincipalestecnologíasmóvilescomerciales. Deestaforma,elprincipalfactorquediferenciaestasdostecnologíasseráelconsumo energético.Así,destacarqueelcontroldepotenciaenGPRSlorealizaeldispositivomóvil, adaptandolapotenciatransmitidasegúnelnivelylacalidaddelaseñalrecibidaporuncanalcomún. Porelcontrario,enUMTSsehaceusodeuncontroldepotenciaenelquetantoeldispositivomóvil comolaestaciónbasetomanmedidas,deformaquelaestaciónbasepuedehacerquetodoslos equiposdeusuarioconectadosaellareduzcansuniveldepotencia,parapoderofrecermayor calidad.Además,enUMTS,paraconseguirmayorestasasdetransmisiónsereducelacodificación, porloqueserequieredelenvíodemayorespotencias,haciendoqueUMTSposeamayorconsumo energéticoqueGPRS. Finalmente,conrespectoalaseguridadrequeridaenlatransmisión,sehadecomentarque loschipsetsGPRSnoimplementanelprotocolodeseguridaddelacapaTLS(TransportLayer Security),situadaentreelniveldeaplicaciónyelniveldetransportemostradosenlatabla1.Porel contrario,losdeUMTSsíquelacontemplan,porloqueconestosúltimossepuedeestableceruna comunicaciónconnivelesmuyelevadosdeintegridadyseguridad. Así,seconcluyequeambastecnologíaspodríanserválidas,pudiéndoseelegirunauotra dependiendodeaquénecesidadesselesdémáspeso. 2.2.Tecnologíasparalacreaciónderedesinalámbricas Seguidamente,secomentanlastecnologíasexistentesenelmercadoparalacreaciónde redesinalámbricas,concretamentelastecnologíasmásextendidasenestetipodeaplicaciones,que sonBluetooth[4]yZigBee[5].Estastecnologíassonespecialmenterecomendablesparasuusoenla interconexióndelosnodosdeunareddeequipos. Porotraparte,sehadescartadoentraraanalizartecnologíascomoWiFioWiMax,debidoa quedisponendegrandescantidadesderecursos,queparaestaaplicaciónvanaquedarsinuso,a costadeungranincremento,tantoenlacomplejidaddelsistema,comoenelconsumoenergético. Analizandolatopologíadered,Bluetoothofreceunaúnicaposibilidadalahoradeestablecer unared,queseríadeltipoestrella,yconunmáximode8dispositivos.Sinembargo,ZigBeepermite hasta65535dispositivos,convariasposiblesjerarquías,repartidosenhasta255subredesy pudiéndosehacerusodecualquiertopologíadered,comosemuestraenlafigura1.
ParteI:Memoria 9 Figura1:ComparaciónentreposibleredBluetoothyposibleredZigBee. Porelcontrario,Bluetoothpermitetasasdetransmisióndehasta3000kbpsmientrasquelas tasasdetransmisiónquepuedecursarZigBeesondeentre100y250kbps,loquenoresulta demasiadosignificativodebidoaque,comosehacomentadoanteriormente,nosehandetransmitir grandescantidadesdedatos,yademásnosetratadeunsistemadetiemporeal. Conrespectoalahorroenergético,ambossistemastieneconsumoseléctricosbajos,pero ZigBeealgomenor.Además,éstealcanzacoberturasmayoresqueBluetooth,dehasta1500metros frentea100metros.SiaelloselesumaqueZigBee,alpoderconectarmuchosmásequipos,puede emplearnodoscuyoúnicopropósitoseahacerderepetidororouter,setienequeeltamaño alcanzableporestasredesesmuysuperioralasredesBluetooth,cubriendoasíáreasmuyextensas. Eldesarrollodeestafuncionalidadnoformapartedeesteproyectoyaqueseestá desarrollandoenparaleloenuntrabajofindemasterdentrodelGTF,enelquesehaceusode ZigBee.Síquesecontemplaenelproyectoelrediseñodelapartehardwareparalainclusióndela funcionalidadZigBee. 2.3.Protocolodeniveldetransporte Enestepunto,seanalizandosprotocolosdeniveldetransporte,paradeterminarcuálesel másadecuadoparasuutilizaciónenelsistemaadesarrollar.Setratanlosdosprotocolosdeeste nivelmásutilizadosenlatransmisióndedatos:TCP(TransferControlProtocol)[6]yUDP(User DatagramProtocol)[7]. TCPesunprotocoloqueproporcionafiabilidaddebidoalsistemadeaceptaciones(ACK’s) queutiliza.UDPnoimplementanadaparecido,porloqueensustransmisionespuedenaparecer erroresaniveldeaplicación.Estafiabilidad,TCPlaconsigueacostadeincrementareltráficocursado enlascomunicaciones,porloqueUDPúnicamentecuentaconelincrementodetráficodebidoalas cabecerasqueincluye.Dichoincrementodetráficogeneraunapérdidadeeficienciaenla comunicación,peroestonoresultademasiadosignificativo,sobretodoparatransmisionesgrandes, osiseempleanventanasdeslizantesdeuntamañoóptimo.
Capítulo2:Análisisdetecnologías,protocolosyplataformas 10 TCP,alincluirtráficodecontrol,permiteunmenornúmerodeconexionesaunservidor, puespartedelosrecursosdelosqueéstedisponeseempleanendichotráfico,cosaquenoocurre enUDP.Porelcontrario,comoTCPincorporacontroldeflujo,encasodequelosrecursos empleadosentrevariascomunicacionessuperasenlosqueposeeenservidor,sereduciríanlastasas detransmisión,evitandoasíincrementarloserroresaparecidos,mientrasqueUDPnocontrolael flujodedatos,pudiendosaturarelservidor,perdiéndosedatosyapareciendoerroresenlos recibidos. Así,comoenlaaplicaciónparalaquesevanarequerirloqueinteresaprincipalmenteesla correccióndelosdatosobtenidosparasucorrectoanálisis,yademáseltráficocursadonovaaser unparámetrolimitantenisevaarequeriralaaplicaciónlatransmisiónentiemporeal,elprotocolo deniveldetransportemásadecuadoseráTCP. 2.4.Protocolodeniveldeaplicación PuestoqueelprotocolodeniveldetransporteelegidoesTCP,enestepuntosesometena análisisdosprotocolosdiferentesdeniveldeaplicaciónqueseapoyansobreéste,comosonFTP(File TransferProtocol)[8]yHTTP(Hyper‐TextTransferProtocol)[9],destacandolascaracterísticasmás importantesparalaaplicaciónadesarrollar,yasídeterminarcuálesmásrecomendableenestecaso. ElprotocoloHTTPesunprotocoloeficienteparaelenvíodedatos,puesresultamuyflexible yadaptable,debidoalasmuchasformasderealizarpeticionesqueposee.Además,permiteelenvío, tantodegrandesbloquesdeinformacióndentrodearchivosdetodotipo,comodeunospocosbytes aislados,incluidosdirectamenteenelcuerpodeunapetición.Sinembargo,FTPestápensadoparala transmisióndearchivos,porloqueparatransmitirpequeñosbloquesdeinformaciónresulta ineficiente.Ésteúltimo,además,necesitadosconexionesTCPpararealizarunenvío,unapara controlarelenvíoyotraparaenviaruobtenerelarchivo,mientrasqueHTTPsólorequiereuna. Además,laspeticionesHTTPconllevanunarespuestaporpartedelservidorqueincluyeuncódigode error,enlaquesepuedeintroducirinformaciónparacrearalgoparecidoaunsistemadeaceptación, loquenopermiteelprotocoloFTP. Porotraparte,hayquedestacarqueFTPincluyeautenticaciónaliniciodelacomunicación, deformaquenopuederealizarunenvíocualquierpersonaodispositivo,únicamentequiendisponga delacontraseñaparaacceder,mientrasqueconHTTPsetendríaqueimplementarunsistemade autenticación. Comúnaambosprotocoloseslafaltadeseguridadpormediodeencriptacióndedatos, aunqueenamboscasossepuedesolucionardelamismamanera,queesimplementandolacapade seguridadTLScomentadaanteriormente,lacualproveedeencriptaciónalosprotocolosdenivelde aplicación,dandolugaralosprotocolosHTTPS(Hyper‐TextTransferProtocolSecure)ySFTP(Secure FileTransferProtocol).Comosehacomentadoanteriormente,estacapasóloseimplementaenlos chipsetsdeUMTS,porloquehaciendousodeGPRSnosepuedenencriptarlosdatos. Porúltimo,destacarquelavisualizacióndeunapáginawebconllevaelusodelprotocolo HTTP,porloqueparecelógicoemplearlotambiénenelenvíodelasmedidas,yevitarmezclar protocolos.Además,permitirátratarlosdatosdirectamenteenelinstantederecepción,enelscript
ParteI:Memoria 11 delapáginaprogramadaparaello,sintenerqueesperaralanzarningúnprogramaquelosprocese, comosedeberíahacersiserecibiesenatravésdeFTP. Así,apesardequeFTPfacilitalaautenticaciónenlosenvíos,seharáusodeHTTPparael envíodedatosalservidor,yrecepcióndeparámetrosenlosequipos,puessimplificaelprocesadoy almacenamientodelosdatos,llevándoseestoacaboautomáticamente,enelmismoinstantede recepcióndelasmedidas. 2.5.Estudiodeservidores Paralarealizacióndelservidor,sehaoptadopordesarrollarunopropio.Sinembargo,antes deacometerestatarea,sehanevaluadoservidoresyplataformasdealmacenajededatos comerciales.DichosservidorescomercialeshacenusodelprotocoloHTTP,porloquelaelección anteriorseríacompatibleconelusodelosmismos. Existenenelmercadoservidorescomercialesqueintegranplataformasespecialmente dedicadasalInternetofThings(IoT),deformaquepermitenelalmacenajeyvisualizacióndelos datosqueselesremite,delasquesehanestudiadotres:Xively[10],Exosite[11]yCarriots[12].De éstas,destacaXivelydebidoalusodeHTTPSenlanavegaciónporlaweb. Inicialmente,elusodeservidorescomercialesposeelaventajadequelaspáginaswebya estánprogramadas,ysuelensermuyintuitivasyestarbienexplicadas,poseyendoenalgunoscasos extensasguíasdeaplicación.Además,nosehadegestionarymantenerelservidor,tareaquepuede resultarmuycompleja. Porotraparte,tienenungraninconvenienteparalaaplicaciónadesarrollaryesquelos datosenviadospuedanserpúblicos,pudiendoaccederaelloscualquiera,ademásdequelos gestionaríapersonalajenoalgrupo.Otradesventajaimportantequeconllevaelusodeservidores comerciales,eselnotenercontrolsobreladirecciónIPdelservidor,quepuedencambiar,porloque habríaqueestarpendienteparavariarlamanualmenteenlaconfiguracióndelequiporemoto. Así,debidoalcontrolquepermitemantenerdetodoelprocesoylaprivacidadyseguridad delaquesepuededotaralosdatos,apesardelincrementodecomplejidadquesupone,seinstala unservidorpropio,alquehabráquedotardelosmódulosnecesariospararealizarlastareasquese implementenenlasdistintasseccionesdelaweb.Además,laprogramacióncompletadelas diferenteswebspermitealcanzarlaversatilidadnecesariaparapodervariarparámetrosyextender elserviciotodoloquehagafalta. 2.6.Conclusionesydiagramafinaldelacomunicación Enlafigura2,semuestrandosesquemas,amododepilasdeprotocolos,delacomunicación quesehadeestablecer,diferenciandolaposibilidaddeteneronounareddesensoresconectadaa unnodocolector(coordinador),quetambiénessensor.Además,sedistinguendosposiblescasos,
Capítulo2:Análisisdetecnologías,protocolosyplataformas 12 dependiendodesisehaceusodeGPRScomotecnologíadecomunicaciónmóvil,osiporelcontrario seempleaUMTS. Figura2:Representaciónesquemáticadelacomunicaciónresultante,segúnseempleeGPRSóUMTS. EnestafiguraseobservaquelaúnicadiferenciaentreelempleodeGPRSyUMTS,yaque conésteúltimo,sepuedeimplementarlacapadeseguridadTLS,proveyendoalacomunicaciónde encriptación,quemejoralaseguridadylaintegridaddelosdatoseneltránsitoentreequipoy servidor.Porotraparte,GPRSposeeunmenorconsumo,permitiendounamayorduracióndelas baterías,porloqueesestatecnologíalaquesevaaempleareneldesarrollodelaaplicación objetivodeesteproyecto. Enamboscasos,elrestodeprotocolossoncomunes,empezandoporTCP,queseencargade darlealacomunicaciónlafiabilidadnecesaria,ademásdeciertaintegridad.Elprotocolodenivelde aplicaciónseráHTTP,quepermiteflexibilidadalahoraderealizarenvíosyrecepcionesdedatos, ademásdeserelmásusadoparaestetipodeacciones,yelqueseempleaenservidoresy navegadoresdeinternet.
ParteI:Memoria 13 Capítulo3: Desarrollodelsistemaderecogidaautomáticadedatos Acontinuación,sedescribelafasedelproyecto,enlaquesedesarrollalaaplicaciónfinal segúnlaseleccionesdelcapítuloanterior. Primero,sevaadesarrollarunservidorpropio,enelquesevaaprogramarunaweb destinadaalarecolección,descargayvisualizacióndelosdatosobtenidosporlossensores,asícomo laconfiguraciónremotadelosequiposdecampo.Laprogramacióndecadaseccióndelawebse encuentradetalladaenelanexo4.Sehaprogramadoelconjuntodepáginaswebqueprecisael servidorusandolenguajesdeprogramacióndepáginaswebcomoHTML[13],PHP[14]oJavascript [15],ypartiendodeejemplosencontradosenmanualesdeusuariodedichoslenguajes. Segundo,sedebeincluirelsistemadecomunicaciónenlasplacasdelosequiposdemediday reorganizarlaplacaexistente,ademásdegenerarunasfuncionesparaelmicrocontroladorquelleva elequipo,queconfigurenyrealicenlascomunicacionesconelservidor. Tercero,seestimarátantoeltráficocursadocomoelconsumoenergéticoquevaaañadiral equipolapartedecomunicación,ademásdecaracterizarelsistemadecargaautilizar. 3.1.Desarrollodelservidor Acontinuaciónsedescribenlastresfasesdeldesarrollodelservidor.Laprimera,enlaquese montayconfiguraelservidor.Lasegunda,enlaquesecreaelconjuntodewebsqueseprecisan paralainteracciónconlosdispositivosautónomos,destinadaalarecepción,elprocesadoyel almacenadodelosdatos.Latercera,enlaquesecrealawebrequeridaparalainteracciónconlos usuarios,destinadaalagestióndelosdatosylosequiposremotos. 3.1.1.Montajeyconfiguracióndelservidor Acontinuación,sedescribeelprocesoseguidoparaelestablecimientodeunservidor,a partirdeunordenadorconsistemaoperativoWindows,procesoquesedetallamásextensamente enelanexo3.Comoseprecisadeunservidorconcapacidadparagenerarpáginaswebdinámicas, hayquedarsoporteallenguajedeprogramaciónPHP.
Capítulo3:Desarrollodelsistemaderecogidaautomáticadedatos 14 Paralainstalacióndelservidor,sehaceusodeApache[16]frentealaposibilidaddeutilizar paraelloISS(InternetInformationService),yaqueelprimero,alserdecódigoabierto,cuentacon revisionesdeseguridadcadaciertotiempoyesmuyutilizadoparaelestablecimientodeservidores personales,deformaqueexistemuchainformaciónacercadesuinstalaciónyconfiguración. Comosoportedebasesdedatos,seempleaMySQL[17],quepermiteunagestióneficazde lasbasesdedatosquealberga,alasquesólosepermitiráelaccesodesdeelentornolocal,para evitarataquesdirectosalasmismas.Elprincipalinconvenienteesque,alnocontarconinterfaz gráfica,escomplejodemanipularyconfigurar,peroparaesosetienensolucionesprogramadasen PHP.EnestecasoseempleaPHPMyAdmin[18],elcualproveedeinterfazgráficaaMySQLypermite visualizarlosdatosdirectamenteenlastablas. ParalarepresentaciónengráficasdelosdatossehaceusodeFusionCharts[19],cuyaversión gratuitapermiteelusodegranvariedaddetiposdegráficas.Suprogramaciónresultabastante sencillaalhacerusodecódigoPHPquegenerainstruccionesinterpretadasporJavascript,porloque lasfuncionesautilizarpuedenserincluidasdirectamenteenelcódigodelapágina. DemodoqueseinstalaApachecomoservicioenelordenador,realizandolaconfiguraciónde ésteydelosmódulosPHP,MySQLyPHPMyAdmin,ademásdeinstalarFusionChartsysecurizardicho servidorylosmódulosinstalados[20][21][22][23]. Ladistribucióndelosficherosqueconformanelservidorylapáginawebgarantizala seguridaddelosdatosenviadosylosarchivoscondatosconfidenciales.Éstasemuestraenlafigura 3,enlaqueseencuentraencolorazullaúnicazonadeldiscodurodelordenadoralaquetiene accesoelservidorApache.Endichazonaseencuentralawebconlasseccionesdevisualización, descargaygestióndelared(webs),accesibleparalosusuarios.Losdispositivosautónomosacceden aundirectorio(sens)queseencuentraenlazonamarcadayquecontienelawebderecogidade datos.Además,seencuentratambiénendichodirectoriounazonadeadministraciónconelentorno gráficoparaMySQLdestinadoalagestióndelastablasdedatosyunscriptdegestión,quepermite lacreacióntantodenuevosusuariosdelawebcomodesensores.Estasherramientasde administraciónsólosonaccesiblesparaeladministradorydesdeelentornolocal(modolocalhost). Figura3:Esquemageneraldelaorganizacióndelosficherosdentrodeldiscoduro.Losficherosencolorazulsonlosúnicos accesiblesparaelservidor.
ParteI:Memoria 15 Porúltimo,lasbasesdedatosseorganizandemodoqueseseparanlastablasentresbases dedatos.Enuna,sealmacenalatablaconlosusuariosycontraseñasdeaccesoalawebylatabla conlosidentificadoresdesensorytokensparaelenvíodelosdatosyreconfiguración.Enotra,se guardanlastablasdemedidasyenlaúltimaseguardanlastablasconlasconfiguracionesdelos equiposremotos.Deestaforma,sepuedetenerunusuariodeMySQLespecialdedicadoalacceso desdelaswebsalasbasesdedatos,paraprotegerlasdeataquesquetratendeborrarlas.Porello, dichousuariotienediferentesprivilegiossobrelasdistintasbasesdedatos,limitadossegúnlosdatos quealmacenenyelusoquetengaquehacerdelosmismos. 3.1.2.Webdeinteracciónconlosdispositivosautónomos Acontinuación,sedetallalawebencargadadelainteracciónconlosequiposremotos. Primerohayquedefinircómoseenvíanlosdatosdelosequiposautónomos,atravésdelprotocolo HTTP,delquesedetallanalgunostiposdepeticionesenelanexo2.Estaspeticiones,debenllevar ciertascabecerasquepermitanqueelreceptordelmensajesepadescifrarelcontenidodelcuerpo delapetición.Así,detodoelconjuntodepeticionesqueposeeesteprotocolo,seempleanGET,para elenvíodeltokenquerealizalasfuncionesdecontraseña,yPOST,usadaparaelenvíodel identificadordesensorylosdatos,ambasenlamismapeticióndeenvíodedatos,comosemuestra acontinuación: POST/camino_script/script.php?token=<token>HTTP/1.1 Host:<IP_servidor> Connection:close Content‐Type:application/x‐www‐form‐urlencoded; Content‐Length:<longitud_cuerpo> Dato1=22&Dato2=22&Dato3=22 Lapeticiónnecesariapararealizarelenvíodelarchivodecomprobación,requierecambiarla estructuradelapartecorrespondientealmétodoPOST,deformaquequeda: POST/camino_script/script.php?token=<token>HTTP/1.1 Host:<IP_servidor> Connection:close Content‐Type:multipart/form‐data;boundary=<boundary> Content‐Length:<longitud_cuerpo> ‐‐<boundary> Content‐Disposition:form‐data;name="sensor" <nombre_sensor> ‐‐<boundary> Content‐Disposition:form‐data;name="archivo";filename=<nombre_archivo> Content‐Type:text/plain <fecha>\t<dato1>\t<dato2> <fecha>\t<dato1>\t<dato2> ‐‐<boundary>‐‐ Esteusoconjuntodeambosprotocolosseempleamuchoenlaspáginaswebparala generacióndesesionesdeconexión.Destacarquedebidoalainclusióndelacabecera“Connection”, lasesiónsecierradeformacontroladadesdeelservidor,porloquehayquetenerestoencuentaen elsoftwaredeldispositivoremoto.
Capítulo3:Desarrollodelsistemaderecogidaautomáticadedatos 16 Eldiagramadeflujoseguidoenlawebdedicadaalarecepcióndelasmedidastomadaspor losequiposremotos,eselmostradoenlafigura4,dondesepuedeverquehayqueautenticarel sensorconsuidentificadorysutoken,deformaqueencasodenosercorrectos,sedesechanlos datosrecibidosenesacomunicación. Figura4:Esquemadelawebalaqueseenvíanlosdatosparaquelosproceseyalmaceneenlabasededatos. Comoseobserva,eltratamientorecibidoporlosdatosencasoderecibirsedentrodeun archivoorecibirseaisladosdentrodelcuerpodelapetición,esdiferente,deformaquesilosdatos serecibenaislados,hayqueasegurarsedequepertenecenaunintervalodetiempoposterioral últimodatorecibidodesdeesesensor,porloqueseinterrogaalabasededatosenbuscadeéste. Siporelcontrario,llegandentrodeunarchivo,alsertomadoscomoconfirmacióndelos datosenviadosesedía,secompruebaquetodosestánenlabasededatos,yquetodoslosqueestán enlabasededatosestántambiénenelarchivo.Siestonoocurre,setomacomounerrorocurrido enlacomunicación,yparatenerlosorganizadosyfacilitarsuanálisis,éstossecarganenarchivos diferentes,dependiendodesisondebidosaunamedidaqueapareceenelarchivoynoenlabasede datos,oalrevés. Comorespuestaalaspeticionesdeingresodedatos,elservidortransmiteunacadenaque, encasodequenohayaquereconfigurarparámetrosdelequipo,es:
ParteI:Memoria 17 HTTP/1.1200OK Date:Wed,15May201314:32:17GMT Server:Apache Content‐Length:16 Connection:close Content‐Type:text/html Datosprocesados Encasodetenersequeañadirreconfiguracionesenlarespuesta,éstassesituaríanenla cadena,detrásde“Datosprocesados”. Porotraparte,sehacreadounscriptencargadodedarlahoradelservidor.Estescriptsólo seráaccesibledesdelosequiposremotos,puessepuedenecesitarconfigurarlafechaylahoradesu relojdeformaremota,demodoquelapodríanobtenerautomáticamentedeestescript. 3.1.3.Webdeinteracciónconlosusuarios Acontinuación,secomentalacreacióndelawebdestinadaalainteracciónconlosusuarios. Destacarquetodaslasseccionesdeésta,cuyaestructurasepresentaenlafigura5,encasodeno haberiniciadosesiónpreviamente,redireccionanalusuariohacialapáginadelogin.Enestapágina, secompruebaquealgunadelasparejasusuariodewebycontraseña,guardadasenlabasededatos, secorrespondeconlaintroducidaenelformulariodeaccesoporelusuario,deformaquese restringeelaccesoaintrusos.Porotraparte,yunaveziniciadalasesiónconelusuarioyla contraseñacorrectos,seaccedeaunawebquedisponedediferentessecciones,dondesepueden visualizarydescargarlosdatos,completosoporrangodefechas,asícomocontrolarloserrores encontradosyreconfigurarelequiporemoto.Tambiénseincluyeunenlacealapáginadelogout, queeslaquedestruyelascookiesquegeneranlasesióndenavegación. Figura5:Esquemageneraldelawebacrear.Losenlacesazulesverdesunentodaslasseccionesdelaweb,puesdesdeuna deellassepuedeaccederacualquieradelasotras. Deestaforma,seconcluyeconeltrabajorealizadosobreelservidor,quedandopor realizarseeldesarrollodelapartecorrespondientealequiporemoto. 3.2.Desarrollodeldispositivoautónomo Finalmente,sepresentaeldesarrollodelaunidaddecomunicacionespropiamentedicha, quedebeintegrarsetantoenelsoftwarecomoenelhardwareexistentedelosequiposdemedida, conlasmenoresmodificacionesposibles.
Capítulo3:Desarrollodelsistemaderecogidaautomáticadedatos 24 sumarletambiénelconsumototaldelmicrocontroloador,queesdeunos40‐45mA.Así,sepuede establecerunconsumomedioaproximadodeunos50mA,elcualsepuedesimular,teniendoen cuentaquelaplacadecircuitotrabajaa3.3V,conunaresistenciadeaproximadamente66Ω. Elpanelsolarutilizadopuedegenerarunatensióndeunos7.5Ventresusterminales,porlo que,teniendoencuentaqueelcargadorausartrabajacorrectamentecontensionesmenoresa7V, secolocaunreguladordetensiónde5Vasusalidaparamaximizarlacorrientedecarga. Conesto,semontaunsistemadecargadebaterías,conlaresistenciacomentada consumiendounos50mA,paramedirprincipalmentelatensióndebateríaylacorrientedecarga, obteniendolosresultadosmostradosenlafigura11: Figura11:Tensionesdebateríaycorrientedecargaobtenidasdelmontajeexpuesto. Enestagráfica,seobservacomoenlosprimerosdías,latensióndelabateríaalfinaldecada díaesmayorquelatensiónquesetenía24horasantes,porloqueseestácargandomásdeloque seestágastando.Enlosdosúltimosdías,comoconsecuenciadeunaumentodelanubosidad,quese vereflejadacomodescensodecorrientedecarga,labateríavaperdiendocargadíaadía.Porotra parte,tambiénseobservaquelacorrientedecargallegaacaeraunos‐50mAdenoche,cuandoel panelnoestácargando,queeslacorrientequeconsumelaresistencia.Además,seobservan tambiéndosirregularidades.Unadeellasesquelaintensidaddecarganocrecealprincipiodeldía linealmentehastaelpuntomáximo,defectoprovocadoporelhechodequeelpanelsolarestáen sombraalprincipiodeldía,ocurriendolomismoalfinaldeldía.Laotraesquelaintensidadllegaal puntomáximo,yvacayendoconformeavanzaeldía,loquesehaidentificadoconelhechodequela bateríaestécasicargada,deformaquerequiereunmenorcargado.Lomismoseobservatambiénen latensióndebatería,yaquevaaumentandomáslentamente.Estohabrádesertomadoen consideración,puesencampo,elentornopuedesermáscomplejo,apareciendosombras indeseadas.Además,eninviernolosdíassonmáscortos,ypuedendarsedíasmásnubladosocon nieblaquenopermitanalcanzarlacapacidaddecargaobservadaenlafigura11. 3.4.Adaptaciónparaelmódulo3G Sehanestudiadotambiénlasvariacionesquehabríaquerealizarparalainsercióndel módulo3G/GPRSdeArduino(figura12),enellugarqueocupaelmóduloGPRS,encasodequese requieraencriptarlosdatosusandoelprotocoloHTTPS.Enelanexo8setieneundesarrollomás completodeloscambiosnecesariosparaadaptarelsistemacompletoalmódulo3G.
ParteI:Memoria 25 Figura12:Módulo3G/GPRSdeArduino,conelchipdecomunicacionesSIM5218deSIMcommontado. Porunlado,habráquereconfigurarelservidorparaqueseacapazdedesencriptarlas peticionesHTTPS.Estasehaderealizarenelarchivoexistenteexpresamenteparaello,yque posteriormenteseincluiráeneldeconfiguracióngeneral,dondeademáshabráqueactivarelusodel módulocorrespondiente.Paraelusodeestemódulo,setendráquecrearuncertificadodigitaldel servidorparalasconexionesdesdenavegador,yunaclavedeencriptadodedatosqueseutilizaráen todaslascomunicaciones. Porotrolado,dentrodelequiporemoto,habráqueadaptarelhardware.Estemóduloposee máspinesqueelmóduloGPRS,delosquesóloseusaránelpuertoserie,elpindeencendido,ylos pinesdealimentación,quealestardiseñadosambosmódulosparaArduino,enambosserálos mismospines,porloqueseráncompatiblesenesteaspecto.Sinembargo,eltamañodelmódulo3G esmayor,porloque,enlalibreríadeloscomponentesdecomunicaciones,habríaquecrearun elementonuevo. Conrespectoalsoftware,noseiniciaráunasesiónTCPtalcual,yaqueparapoderhaceruso delaencriptaciónproporcionadaporlacapaTLShayqueemplearloscomandospropiosdela conexiónHTTPS,deformaqueéstosseencargandeconfigurartodalaconexiónennivelde transporte,ydenegociarlaencriptaciónconelservidor.Dichanegociación,sellevaráacaboalinicio delacomunicación,paraestablecerlosparámetrosdeencriptaciónquesevanautilizar,porloque segeneraráuntráficoextraencadacomunicación.Comoestetráficoextraserárelativamente grandecomparadoconlascantidadesdedatosmanejadasenlamayoríadeconexiones,se incrementarábastanteelconsumodedatos,reduciéndoseasílacantidaddesensoresquesepodrán establecerenunaredcontroladaporunúnicodispositivo.Porelcontrario,seconseguiráunamayor seguridadenlacomunicación,ademásdeunagranmejoraenlaintegridaddelosdatos transportados. Conesto,quedaríandefinidastodaslasvariaciones,tantohardwarecomosoftware,quese handellevaracaboparaadaptareldiseñocompletoalusodelnuevomódulo.
Capítulo3:Desarrollodelsistemaderecogidaautomáticadedatos 26
ParteI:Memoria 27 Capítulo4: Conclusionesylíneasfuturas Enesteproyectosehadesarrolladounsistemadecomunicacionesinalámbrico,apoyadoen elaccesoalasredesdedatosproporcionadoporlastecnologíasmóvilescomerciales,quepermite tantolaobtencióndelosdatostomadosporlossensoresremotoscomolaconfiguracióndelos propiosequiposyquesehaincluidoenunadelasplacasdecontroldiseñadaporestegrupo. Además,estosdatosyvariablessepuedenconsultarrápidamentedesdecualquierubicación,y almacenarsedeformasegurayprivadaenunservidoralejadodelossensores. Paraello,sehadesarrolladounservidorquealbergaunconjuntodepáginaswebdedicadas, alarecepcióndelosdatosdelosequiposautónomosyalagestióndelosdatosylosequipos. TambiénsehaimplementadolacomunicaciónmediantepeticionesHTTPrealizadassobre conexionesTCPatravésdelaccesoalasredesdedatosproporcionadoporlatecnologíade comunicacionesinalámbricasGPRS.Además,sehadesarrolladoeldispositivoautónomoquetiene queestablecerlacomunicacióndesdeelequiporemotoyqueescompatibleconlossensoresdel grupo. Estesistemacumpleconelrequisitodeunconsumoeléctricominimizadoquegaranticela máximaautonomíaenergéticadelequipomedianteelusodebateríasypanelessolares.Paraello,se hanoptimizadolostiemposdeesperanecesariosentrelosdiferentescomandosysehansolapado algunasacciones,reduciendoasíeltiempoempleadoenlacomunicación.Elsistemadesarrollado tambiéncumpleconelrequisitodeestablecerunacomunicaciónfiableyquegaranticeunbuennivel deintegridaddedatosmedianteelusodelprotocoloTCPsobrelareddeconmutacióndepaquetes accesiblemedianteGPRS.Elsistemacumpleconelrequisitodeseguridadyprivacidaddedatosenel almacenamientodeéstos.Elsistemacumpleconelrequisitodecompatibilidadconlossensoresy conZigBee. Coneldesarrollorealizado,laadaptaciónparaunafuturainsercióndelmódulo3Genellugar delmóduloGPRSnoresultacomplicada,deformaqueconestecambioseconseguiríadarsoportea laencriptacióndelosdatos,maximizandolaintegridadyseguridaddelosdatos.Porotraparte, quedaabiertalaposibilidaddedesarrollarunafuncionalidaddereconfiguracióndelosequipos remotosentiemporeal.
Capítulo4:Conclusionesylíneasfuturas 28
PARTEII ANEXOS
ParteII:Anexos 31 Anexo1: Análisisdetecnologíasyprotocolos Enesteanexosepretendeexponerlascaracterísticasprincipalesdecadaunadelas tecnologíascomparadasenelcapítulo2delamemoria. GPRS(GeneralPacketRadioService) PuestoqueelsistemaGPRSseapoyaensupredecesor,elsistemaGSM(GlobalSystemfor Mobilecommunications),secomenzarápordefinirésteúltimo,queesunsistemade comunicacionesdigitalesdesegundageneración(2G)basadoenredescelularesradio,cuyascélulas seagrupanenclústeresdondenosereúsanfrecuencias.Estesistemaestádiseñadoparacursar principalmentetráficodevoz,porloquesebasaenconmutacióndecircuitos.Empleaacceso FDMA/TDMA/FDD(bandaspareadas),con8slotstemporalesparacadaportadorafrecuencial.Posee 500portadorasfrecuencialespordúplex,repartidasenlasbandasde900MHzy1800MHz,de200Khz deanchodebandacadauna.Paralatransmisiónyrecepcióndelainformación,haceusodeunúnico slottemporalencadadúplex,deformaquepermitetasasdedatosdehasta9.6kbps,suficientes paratráficodevoz,debidoalmuestreoycodificaciónquesellevaacabo. GPRSesunsistemadecomunicacionesdigitalesintermedioentrelasegundaytercera generación(2.5G)basadoenGSM(figura13),ycuyopropósitoprincipaleraeldepermitirtráficode datosconrelativaeficiencia,porloquesebasaenconmutacióndepaquetes.GPRSpuedellegara hacerusodehasta4slotstemporalesparalarecepcióndedatos,y2paralatransmisión(clase multislot4+2),loquelepermitealcanzartasasdedatosdehasta144kbps. Figura13:ArquitecturaderedGPRS.Enverde,módulosqueagregaGPRSalaarquitecturadeGSMyaexistente.
Anexo1:Análisisdetecnologíasyprotocolos 32 Cabedestacartambién,quelaprobabilidaddebloqueodelosrecursosnoesnula,aunquesí muybaja,yaquelasredescelularessediseñansuponiendoprobabilidadesdebloqueotípicamente del2%,ocomomuchodel5%. Enestageneración,sellevaacaboelcontroldepotenciaporpartedeldispositivomóvil, adaptandolapotenciatransmitida,segúnelnivelylacalidaddelaseñalrecibidaporuncanalcomún decontrol,conlaqueestimalaspérdidasdelaseñalenlatransmisiónentreequipoyestaciónbase. Graciasaesto,lossistemasdesegundageneraciónconsiguengrandesahorrosdeenergía, permitiendo,tantoreducireltamaño,comoalargarlavidayduracióndelasbaterías. Acercadeestossistemas,esdestacableelhechodequelatecnologíaestéyaenfasede madurez,loquepermitequesepuedagarantizarlaexistenciadecoberturaenprácticamentela totalidaddelterritorionacional,manteniendoademásnivelesdedisponibilidadelevados.Porotra parte,elnúmerodeportadorasencadaestaciónbasevienelimitadoporladistanciadereúsode frecuenciasquesetenga,nopudiendotenersetodaslasportadorasdisponiblesentodoelárea.Es porestoporloqueladisponibilidadderecursosestábastantelimitada,haciendoqueel funcionamientodelsistemaestésupeditadoaqueladisponibilidad,enlacélulaenlaqueseinscriba alaccederalared,nocayesedemasiado,loqueporotraparteespocoprobable. UMTS(UniversalMobileTelecommunicationsSystem) ElsistemaUMTSesunsistemadecomunicacionesdigitalesdetercerageneración(3G) basadoenredescelularesradio,eideadoparapoderintegrardiferentesservicios,porloquecuenta contasasdetransmisióndeentre144kbpsy2Mbps,dependiendodelniveldecalidadrequerido paracadaserviciooquepuedagarantizarlaredenesemomento.EmpleaaccesoCDMApor secuenciadirecta(DS‐CDMA(DirectSequenceCodeDomainMultipleAccess)),destinandounancho debandade60+60MHzparaaccesoCDMAdebandaancha(WCDMA(WidebandCodeDomain MultipleAccess))enbandapareada(FDD(FrequencyDivisionDuplex)),y20+15MHzparaacceso CDMApordivisióntemporal(TD‐CDMA(TimeDivixionCodeDivisionMultipleAccess))enlabandano pareada(TDD(TimeDivisionDuplex)). UMTSrequierequetodoslosusuarioslleguenalaestaciónbaseconlamismapotenciapara podermaximizarlacalidad.Asípues,utilizauncontroldepotenciaenelquetantoeldispositivo móvilcomolaestaciónbasetomanmedidas,deformaquelaestaciónbasepuedehacerquetodos losequipodeusuarioconectadosaellareduzcansuniveldepotenciaparapoderofrecerlamayor calidadposible.Comoademás,paraconseguirmayorestasasdetransmisión,sehadereducirla codificación,serequieredelenvíodemayorespotenciasquecontrarrestenlareduccióndeganancia decódigo,porloqueestatecnologíavaatenerunconsumoenergéticoconsiderable,haciendoque laduracióndelasbateríasseveamermada. SisetienenencuentaelcontroldepotenciayelusodeCDMAenUMTS,elreúsode frecuenciasserátotal,disponiendodetodaslasfrecuenciasentodaslasestacionesbase,porloque lacantidadderecursosdisponiblesaumentaconsiderablemente.Porotraparte,comoconel aumentodelnúmerodeusuariosenunáreadeterminadasereducenlosrecursosolacalidadde servicioasignadoacadausuarioparamantenerunniveldeerroresaceptable,laprobabilidadde bloqueodecanalesnula.
ParteII:Anexos 33 Apesardeserunatecnologíarelativamentejoven,elniveldepenetraciónenelmercado, debidoalagranaceptaciónobtenidaenlasociedad,eselevado,porloquelacoberturagarantizada porlascompañíastelefónicasabarcacasiporcompletoelterritorionacional.Además,loschips UMTSsuelenimplementarlacapadeseguridadenlatransmisión(TLS),quepermiteelencriptadode losdatos,proveyendoasídeseguridadyprivacidadalacomunicación. Bluetooth Bluetoothesunprotocolodetransmisiónempleadoenredesinalámbricasprivadasque trabajaenlabandadefrecuenciasde2.4GHz,yhaceusodeespectroensanchadoporsaltode frecuencias,paraevitareldeteriorodelaseñal.Suprincipalobjetivoeselservirdeestándarpara comunicacionesdemuycortadistancia(máximounos100metros),yaquehasidoideadoparatener unreducidoconsumoenergéticoyunbajocoste.Estetipodesistemassoncapacesdecursartasas dedatosdehasta3000kbps,yaqueseempleaprincipalmenteenaplicacionesentiemporeal. ElusodeBluetoothpermiteúnicamentelacreaciónderedescontopologíaenestrella,como semuestraenlafigura14,yaqueparaqueelsistemafuncionedebeexistirunmaestroquesirva comoreferenciadesincronismo,loquelimitamucholasposibilidadesdeéstossistemasparaeltipo deaplicaciónquesevaadesarrollar.Además,permiteunmáximode8dispositivos,loqueacota mucholaescalabilidaddelsistema. Figura14:Bluetoothúnicamentepermitelaimplantacióndetopologíasdetipoestrella. EsdestacabletambiénqueBluetoothcuentaconencriptacióndedatos,yrequierede autenticacióntraselestablecimientodelaconexión,paraeliniciodelatransmisióndelosdatos,de formaquesemaximizalaproteccióndelosdatosendichoenlace.Además,consideraqueelcanal físiconoesfiable,porloquerealizacorreccióndeerroreshaciaadelanteycompruebalaintegridad decabecerasyCRC(CyclicRedundancyCheck),deformaqueproveedeunserviciocongran integridadenlosdatos. ZigBee ElestándarZigBeedefineunconjuntodeprotocolosdealtonivel,quesonutilizadossobre losprotocolosdebajoniveldefinidosporelestándarIEEE802.15.4.Esteúltimoestándar,definela capafísicayelniveldecontroldeaccesoalmedio(MAC)desistemasdecomunicacióninalámbrica privados,cuyastasasdetransmisiónsonbajas.Trabajaenlasbandasdefrecuenciade868MHzy 2.4GHzobteniendotasasdetransmisióndeentre100y250kbps.Puestoquenodisponedecanales decontrol,comoocurríaconlastecnologíasmóviles,paracontrolarelaccesoalmedioimplementa CSMA/CA,evitandoasílascolisionesenelmedio.
Anexo2:ProtocoloHTTP 40
ParteII:Anexos 41 Anexo3: Montajeyconfiguracióndelservidor Enesteanexoseprofundizamásenlospasosseguidosparaelmontajeylaconfiguracióndel servidor,deformaquepuedaservircomomanualaquienseocupedesugestiónfuturadentrodel GTF. ParalainstalacióndeApacheenelordenador,sedescargadelapáginaweboficialel paquetequenorequieredeejecutable,detalformaquedichacarpetasesitúaeneldirectorio deseado,yseinstalaApachecomoserviciodeWindows,mediantelíneadecomandos.A continuación,hayquerealizarlaconfiguraciónbásicaylainstalacióndelrestodemódulos[20][21]. Parainstalarelcomplementodecreacióndegráficas,sólohayquedescomprimirlacarpeta descargadadelsitiooficial[19]enelfuturodirectoriodelaweb. ElmayorinconvenientedelosservidoresnocomercialescomoApache,esqueestán pensadosparasuusosobresistemasUnix.Poreso,parasusecurización,existenguías[22]pero estánpensadasparaestossistemasynoparaWindows.Apesardeesto,serealizanalgunasacciones quepermitenincrementarlaseguridaddelservidor. Laprimeraacciónallevaracaboesdenegarelacceso,pordefecto,deApacheatodoel sistema,parapermitiracontinuaciónelaccesoúnicamentealdirectoriodondesesituarálapágina web,perosóloaciertotipodearchivos,yaqueesrecomendableprohibirelaccesoaarchivosde configuracióndeusuariosycontraseñas.Tambiénsedeberálimitaralgunasopciones,comopuede sernopermitiraApachelaresolucióndeenlacessimbólicosquepudieranpermitirleaccederazonas dememoriarestringida.Tambiénesconvenienteelevitarmostrartodalainformaciónposibleacerca delservidor,puesseestaríarevelandoinformacióndelasdebilidadesdeéste,evitandotambiénque elservidormuestrequeposeePHPinstalado,ysuversión,deformaqueademás,seahorrarán25 bytesdetráficoencadaconexiónalservidor.Apachenopermiteeliminartodalainformación,ya queenlascabecerasdelasrespuestassiempremuestraqueelservidoresApache.Tambiénes recomendabledesactivar,tantolaopcióndelistarficheroseneldirectorioweb,comodeejecutarlos archivos“.cgi”,ademásdedeshabilitartodaslasopcionesenelrestodedirectorios.Hayquetener encuentaquelaspeticionestipoTRACEdesvelaninformacióndelsistema,porloqueserá recomendabledeshabilitarlas,deformaqueelservidornolasresponda. Acontinuación,tambiénsepuederealizaralgúnajustealaconfiguracióndePHPque permitaganaralgodeseguridadenelsistema.Porejemplo,selepuedepermitirelacceso únicamentealdirectorioquecontienelosarchivosdelaweb,ademásdepermitirelaccesoalas
Anexo3:Montajeyconfiguracióndelservidor 42 cookiesúnicamentealprotocoloHTTP,evitarqueseabranarchivosalojadosenotrosservidores,y activarelmodosegurodePHP. Paraevitarenlamedidadeloposibleataquesdedenegacióndeservicio,esconveniente tambiénlimitar,tantoeltamañodelosarchivosquepuedeadmitirelservidor,comolacantidadde conexionessimultáneasquepuedecursar,yeltiempomáximodedicadoacadapetición. Conrespectoalagestióndelosdatos,esnecesarioasegurarsedenomostrarelcódigoPHP delaswebsenningúnmomento,peroporsiestoocurriese,unabuenaprácticaseríainiciarlas conexionesaMySQLenarchivosPHPfueradeldirectorioaccesibleporApache,eincluirloenel códigodelapágina,deformaquedichocódigoseejecute,peronuncasepuedaaccederaél.Otra protecciónmásqueselepuedeincluiralabasededatos,esocultarlatraselcortafuegos,yaquesólo cargaremosdatosdesdeelpropioservidor,porloquenonosinteresaquesupuertoquedeaccesible desdeelexterior.Porúltimo,esrecomendablecrearunusuariodeMySQL,únicamenteconlos privilegiosnecesariosparaelenvíodedatosylavisualizacióndelawebdegestión,deformaqueun atacantenopuedaborrarunabasededatosatravésdelaspropiaspáginasweb.Tambiénsehade configurarPHPparaquedestruyalascookiesquegeneranlasesióndenavegación,cuandosecierre elnavegador,evitandoqueéstasepuedaquedarabierta. Conrespectoalapropiapáginaweb,esrecomendableelusodeladirectivameta“robots” denegandolaindexaciónyelseguimientodeenlaces,queevitaquelosrobotsbuscadores,comoel deGoogle,puedanlistarlawebysusenlaces,yaqueenestecasoconcreto,esparaunusoprivado,y nointeresaquetercerospuedanconocerlaoaccederaella.Porotraparte,paraevitarlainserción SQL,esrecomendableescapartodosloscaracteresespecialesdeMySQL.Además,lasconexionesa lasbasesdedatosdesdePHP,esrecomendablehacerlasconlasfuncionesdelalibrería“mysqli”,en vezdelasde“mysql”,pueslasfuncionesdelaprimeraimplementanmejorasenlaseguridad.
ParteII:Anexos 43 Anexo4: Creacióndelaswebs Enesteanexo,aligualqueenelanexodelservidor,sepretendecrearunpequeñomanual explicativodecómosehanprogramadoslasdistintaswebylasdiferentesseccionesdelasmismas, parafacilitarsucomprensiónalfuturogestordelasmismas. Webdeinteracciónconlosdispositivosautónomos Inicialmente,sehabrádetenerencuentaqueserequieredeprocesarlosdatosrecibidos, paraloqueprimerohabrándeserextraídosdelapetición.Estoseconsiguegraciasalaexistenciade lasvariablespreestablecidasdePHPcomo“$_POST[´<etiqueta_dato>´]”,delasquesegenerauna porcadadatointroducidoenelcuerpodelapeticiónPOST.Asípues,unapeticiónPOSTcuyocuerpo sea“dato1=22&dato2=17”,generalasvariables“$_POST[´dato1´]”y“$_POST[´dato2´]”,convalores 22y17respectivamente.Apartirdeesto,sepuedenfragmentarfácilmentelosdatos,parapoder construirlapeticiónaMySQLquelosalmaceneenlatabladelabasededatoscorrecta.Esnecesaria latransmisióndelidentificadordelsensor,queeselprimercampoenelcuerpodelapetición,yque vieneseguidodelafechaylahoraalaquehansidotomadaslasmedidas,traslosqueseinsertanlas medidas.Porotraparte,comoyasehacomentado,parahacerlafuncióndecontraseña,sevaa asignaruntokenparacadaequipo,deformaqueéste,seenvíapormediodelapeticiónGET,quese unealapeticiónPOSTenlaquevanlosdatos.Paralarecuperacióndeesetokenenelscript,aligual queocurreconlaspeticionesPOST,existeunavariablepreestablecida“$_GET[‘<etiqueta_dato>’]”, cuyocontenidohayquecompararconeltokenalmacenadoenlatabladeidentificadoresdeequipos. Conrespectoalaspeticionesqueserealizanalabasededatos,sepuedendestacardos,que sonlasmásusadasenestaaplicación.Laprimera,pararealizarelenvíodelosdatosaunatablade unabasededatosconcreta,debeserdelestilode: INSERTINTO<base_datos>.<tabla>(fecha,dato1,dato2)VALUES('<fecha>','<dato1>','<dato2>'); Enella,laparte“(fecha,dato1,dato2)”marcaelordenenqueseenvíanlosdatos(nombres delascolumnasdelatabla),cuyosvaloresseenumerantraslamarca“VALUES”. Siloquesepretendeesobtenerdatosdelamisma,deunintervalotemporalyporordende fechascrecientes,lapeticiónsería: SELECT*FROM<base_datos>.<tabla>WHEREfecha>='<fecha_desde>'ANDfecha<='<fecha_hasta>'ORDERBYfechaASC;
Anexo4:Creacióndelaswebs 44 Enestecaso,apareceunasterisco,queseencargademarcarquesequierenobtenertodos loselementoscompletosquecumplanlacondicióndelintervalodefechas.Dichoselementos,sonlos correspondientesconlasfilasdelatabladelabasededatos.Porotraparte,lapeticiónnotienepor quéespecificarningúnintervalotemporal,eliminándoseenesecasolaparte“WHEREfecha>= '<fecha_desde>'ANDfecha<='<fecha_hasta>'”,niesnecesarioquesedescarguenordenados, eliminándoselaparte“ORDERBYfechaASC”. ConrespectoalaspeticionesaMySQL,hayquetenerencuentaquetrashacerunapetición, nosecierralaconexiónconesteservidordebasesdedatos,porloqueencasodequererhacerotra peticiónalamismabasededatos,nohayqueiniciarunanuevaconexión.Igualmente,porseguridad, esrecomendablecerrartodaslasconexionesiniciadasconelservidordebasesdedatosantesde terminarelscript. Elesquemaaseguirenelscriptderecepcióndelasmedidasseríaelmostradoenlafigura17, dondesepuedeverque,trascomprobarquehansidoenviadosdatos,habráqueautenticarel sensorconsuidentificadorysutoken. Figura17:Esquemadelscriptalqueseenvíanlosdatosparaquelosproceseyalmaceneenlabasededatos. Comoseobserva,eltratamientorecibidoporlosdatosencasoderecibirsedentrodeun archivoorecibirseaislados(dentrodelcuerpodeunapetición)esdiferente,deformaquesise recibenaislados,habráqueasegurarsedequesondeunintervalodetiemporazonable,esdecir,que sonposterioresalúltimodatorecibidoporesesensor,porloquehabráqueprocesarycompararlas fechasdelabasededatosconlafechadelenvío.Paraobtenerlafechadelúltimoenvíoregistrado
ParteII:Anexos 45 enlabasededatos,serealizaaMySQLunapeticiónqueesvariacióndeladeobtencióndedatos, quedandounapeticióncomoésta: SELECTfechaFROM<tabla>ORDERBYfechaDESCLIMIT1; Éstaquieredecirqueseseleccionansólolasfechas,queenestecasoesloúnicoque interesa,enordendefechasdescendentes,ytomandocomomáximouna,sólolaprimera.También sepodríarevisarquenofuesedemasiadoposterioralúltimodato,peroesopodríaresultar contraproducenteencasodequeapareciesealgúnerrorqueevitaseelenvíodealgunadelas medidas. Silosdatosllegandentrodeunarchivo,alsertomadoscomocomprobacióndelosdatos enviadosesedía,secomprobaráquetodosestánenlabasededatos,yquetodoslosqueestánenla basededatosestántambiénenelarchivo.Encasodequeestonofueseasí,seanotaríaenun archivodetexto,quesemuestraensucorrespondienteseccióndelaweb.Además,paratener organizadosloserroresaparecidosyfacilitarsuanálisis,éstossecarganenarchivosdiferentes, dependiendosisondebidosaunamedidaqueapareceenelarchivoynoenlabasededatos,o viceversa.Porotraparte,sepuederealizarlacomprobacióndequelaextensióndelarchivoesla correcta,yqueelarchivonoesdeuntamañoexcesivo,paraevitarrecibirpeticionesdeatacantes quetratendesobrecargarelservidor. Webdeinteracciónconlosusuarios Laestructuradelapáginadegestiónycontroleslamostradaenlafigura18: Figura18:Esquemageneraldelawebacrear.Losenlacesazulessesiguenensentidodescendente,losverdesunentodas lasseccionesdeunmismonivel,ylosnaranjassesiguenensentidoascendente. Todaslassecciones,encasodenohaberiniciadosesiónpreviamente,redireccionanal usuariohacialapáginadelogin.Traselloggeodelusuario,seaccedeaunawebquedisponede diferentessecciones,desdelasquesepuedetambiéniralapáginadelogout,queeslaquedestruye lasesión. Asípues,comosehacomentado,pararestringirelaccesoalapáginaprincipalylassecciones degestiónycontroldedatos,sehadeimplementarunapáginaencargadadeloggearalos visitantes,asegurándosedequesonusuariospermitidos.Aestaweb,además,sonredireccionados todosaquellosusuariosquetratendeaccederacualquiersecciónsinhaberiniciadosesión. Enella,inicialmenteserevisasielusuarioyaharellenadoonoelformulariodeingreso,yen casodenohaberlohecho,losacaporpantalla.Trasrellenarsedichoformulario,aligualqueocurre
Anexo4:Creacióndelaswebs 46 conelrestodeseleccionesyformulariosdelaspáginas,seenvíanlosdatosdeinscripciónalmismo scriptqueseestabaejecutando,deformaqueenestecaso,secomienzaconelanálisisdedichos datos.Sisólosehubiesenenviadoamedias,elscriptdireccionaríaaunawebqueimprimiríapor pantallaelformulariodeentradadedatosyunavisodequealgúncampoestabavacío. Encasodequetodoslosdatossehayanenviado,comosehacomentado,seprocesan, comenzandoporescaparloscaracterespeligrososparalasbasesdedatos,paraevitarqueauna peticiónqueselanceaMySQLlleguencaracteresquepuedanpermitirunataquequeexpongala basededatos.Estosepuedellevaracaboconlafunción“mysqli_real_escape_string”. Trasesto,sepuedepediralabasededatoslosdatosdetodosaquellosusuarioscuyo nombredeusuariocoincidaconeldequientratadeacceder,paraasí,trascodificarlacontraseña provenientedelformulario,compararlaconlasdelosusuariostomadosdelabasededatos.Encaso dereconocimientoafirmativo,segeneraunacookieconelusuarioycontraseñautilizadospara acceder,quesealmacenaenelequipodelusuario,deformaqueselepuedaidentificarcadavezque tratadeaccederaunapáginaoseccióndelaweb.Encasodequedichacontraseñanocoincidacon ningunadelastraídasdelabasededatos,oqueelusuarionoexista,seledireccionaaunscriptque imprimeporpantallaelformulariodeentradadedatosyunavisodequealmenosundatodelos introducidoseserróneo. Porotraparte,enelscriptqueseencargadecerrarlasesióniniciada,laacciónquerealizaes cambiareldatodefechadelacookieporunafechaantigua,quehagaquedichacookieesté caducada. Unavezsetienenlosdatosenlabasededatosysepuedeaccederdeformacontrolada,se puedeprocederasudescarga,paraloqueprimerosedebenobtenerdelabasededatos correspondiente,conlapeticiónquesehadescritoanteriormenteparalaobtencióndelasmedidas. Paracualquierdescarga,esnecesariodecirlealnavegadorqueloquevieneacontinuaciónnoesuna páginaweb,sinoqueesunarchivoquedebeguardarconciertonombreyciertaextensión,ya continuaciónmandarledirectamenteelarchivo. Enestaseccióndelaweb,asícomoocurreencasitodaslasdemás,segeneraunmenú dondeelegirelsensordelquesequierenobtenerdatos.Estemenúsegeneradinámicamente,pues lossensoresinstaladospuedencrecerennúmero,yhacersecomplicadoytediosoelreprogramar todoslosmenúsdelasdistintasseccionesdelaweb.Paraello,sehaceusodelapeticiónalabasede datos“SHOWTABLES;”,quemuestralosnombresdelastablasqueseencuentrandentrodeuna basededatos.Puestoquelosnombresdelastablascoincidenconlosidentificadoresdelosequipos, selistanlosnombresdetodaslastablas,permitiendoasísuselección. Tambiénsehadetenerencuentaquenotodoslossensoresenvíanelmismotipode información,porloquetambiénsepuedeautomatizarlaobtencióndeéstadelabasededatos, haciendousodelapetición: DESCRIBE'<nombre_tabla>'; Estapeticióndevuelvelacomposicióndelatabla,deformaquepermiteconocerdecuántas columnassecompone,ylasetiquetasdelasmismas,paraasípodergenerarlascadenasdedatos requeridasparalasvisualizacionesydescargasdeformamásgenéricayconmenoscódigo.
ParteII:Anexos 47 Paraenviarlosdatosalusuario,secreaunarchivodeExcelqueseenvíaalnavegador.Hay quetenerencuenta,quedependiendodelaconfiguraciónregionaldelordenador,elseparador decimalpuedeserpuntoocoma,porloqueseimplementaunselectorenlaweb,antesderealizar ladescarga,deformaqueelusuariopuedaelegirdichoseparador,yasíserepresentenlosdatosen Excelcorrectamente.Así,volviendoaladescargadelosdatos,deloquesetrataesdegeneraruna cadenadedatosquesimuleunatablaquecontengalosdatosadescargar,porloquehayque introduciretiquetasquemarquenelinicioyelfinaldelatabla,asícomodelimitarlasfilasylas columnas.Unejemplosencillodelaestructurasemuestraacontinuación: <table> <tr> <th>Cosa1</th><th>Cosa2</th> </tr> <tr> <th>16</th><th>15,24</th> </tr> </table> Seobservacómolatablavienedelimitadaporlasetiquetas<table>y</table>,mientrasque lascolumnassemarcancon<th>y</th>,ylasfilascon<tr>y</tr>.Porotraparte,lascabecerasque hayqueenviarson: Content‐type:application/vnd.ms‐excel Content‐Disposition:attachment;filename=<nombre_archivo>.xls Laprimera,indicaalexploradorqueloquevaarecibiresunarchivodeExcelynounapágina web,ylasegundaleindicaquedeberecogerloyguardarloconelnombre<nombre_archivo>yla extensión“.xls”. Finalmente,comotodoloqueseintroduzcaacontinuaciónenlawebvaasertomadocomo partedelarchivo,simplementesecierraelscript. Tambiénsepuedequererúnicamenterepasarlaevolucióndelasmedidassinnecesidadde descargarlas,porloqueotraopciónqueseincluyeenlawebesladevisualizarlosdatosgraficados. Estaeslaopciónalaqueseentrapordefectoalaccederalapágina.Paravisualizarlosdatos, primeramenteseobtienendelamismaformaqueseobtienenparaladescarga,sóloqueeneste caso,setienequecrearunacadenadiferenteconlosdatos,yaqueelformatodelosdatos introducidosenlasfuncionesdecreacióndelasgráficasesdiferentedelusadoparalacreacióndel Excel.Enestecaso,elformatodelacadenadebesercomoelsiguiente: <chart> <categories> <categorylabel='dia1'/> <categorylabel='dia2'/> </categories> <datasetseriesName='<nombre_serie>'parentYAxis='P'> <setvalue='13'/> <setvalue='39.7'/> </dataset> </chart> Enestecaso,lasetiquetas<chart>y</chart>delimitanelconjuntodedatosutilizadospara generarelgráfico,mientrasqueaquí,laseparacióndelasdoscolumnas,puestoqueseidentifican concadaunodelosejes,estámuydefinida,marcándoseelejeXdelagráficaconlasetiquetas <categories>y</categories>ylosejesverticalescon<dataset>y</dataset>.ElatributoparentYAxis
Anexo4:Creacióndelaswebs 48 marcasidichosdatossonrepresentadosconrespectoalaescalamarcadaenelejeprimario(P)oen elsecundario(S). Así,yasetienenlosdatospreparadosparasurepresentación,locualsellevaacaboconla siguienteinstrucción: echorenderChart("<path>","",<datos>,"<nombre_grafica>",<anchura_pixels>,<altura_pixels>,false,true); “echo”envíatalcualloquelesiguealcódigoHTMLqueformalapáginaweb,demodoque, enelnavegador,Javascriptinterpretaestafunciónylaejecuta,puesanteriormentehasido declaradaenlacabeceradelaweb.Porotraparte,en<path>seintroduceladireccióndelosscripts quecontienenlasfunciones,en<datos>seintroducelavariablequecontienelacadenadedatos, mientrasque<altura/anchura_pixels>marcaneltamañodelagráfica,falseindicaquenoestáactivo elmododedepuración,ytrueseponeyaqueesunaopciónpordefectoquenoestáactiva.Elcampo enblanco(“”)eselcampoenelqueseintroduciríalaURLdelaqueseobtendríanlosdatosen formatoXML(eXtensibleMarkupLanguage)oJSON(JavaScriptObjectNotation)siéstossetomasen desdeotrapáginaweb,envezdeintroducirsedesdeunacadena. Comosehacomentadoanteriormente,tambiéncabelaposibilidaddellevaruncontrolde loserroresaparecidosenlarecepcióndedatos,almacenandoéstosenarchivosdetexto.Mediante unbuclequerecorretodoslosarchivosdeldirectoriodeerrores,seabrenlosarchivosyseimprimen porpantallaelnombredelarchivoysucontenido.Paraaplicacionesfuturasconmuchossensores instalados,seránecesarioorganizarestedirectorio,pudiéndosegenerarunacarpetaporsensor. Trasesto,tansóloquedalacreacióndelaseccióndeconfiguraciónremotadelosequipos. Dichaconfiguraciónseharállegaraldispositivoenlarespuestadelservidoralapeticiónde almacenamientodedatos.Comopuededarselasituacióndequeúnicamentesereconfigurealguno delosparámetros,sealmacenanenunabasededatosdichosparámetros,marcadosconunflag,de formaquesidichoflagestáauno,sehacambiadoynohasidoenviadoalequipotodavía,porloque sedeberáhacerenlasiguientepetición.Así,seconsiguereducirlacantidaddedatoscursados,a costadeunmayorcostedeprocesadoeneldispositivoremoto,puesdebeevaluarquéparámetros lellegan,parareconfigurarlos. Conesto,secompletalaprogramacióndelasfuncionesbásicasdelapáginaweb,que garantizaunaccesoadichawebsóloausuariospermitidos,protegiendoasíelsistema,decambios maliciososdelaconfiguracióndelosequipos,oaccesosdeextrañosalosdatosalmacenados, ademásdeevitarengranmedidaelenvíodedatosporpartedeterceros. Además,seincluyeenelmismodirectorio,peronoaccesibledesdeningunadeestas páginas,unscriptquepermitealsensorremotoobtenerlafechaylahoralocaldelservidor,porsi llegaseahacerfaltaparalaconfiguracióninicialdelequipo. Trasesto,serealizanunaseriedepruebasparacomprobarelfuncionamientodelservidoren determinadassituacionesquegenerasenerrorenalgúnpunto.Unadeestassituacionesfuerealizar unenvíoaunadireccióninexistente,encuyocasoseobservóquerespondeconelcódigodeerror “404:NotFound”.Otrafueelenvíoerróneodealgunadelascabeceras,aloquerespondeconun “400:BadRequest”,mientrasquesiseintroducemalalgunaetiquetadedatos,daporbuenala peticiónconuncódigodeerror“200:OK”,peroPHPdevolveráunerrorenelcuerpodelarespuesta.
ParteII:Anexos 49 Anexo5: Estudiodetráficogenerado Comosehacomentado,enesteanexosevaarealizarunestudiodeltráficogenerado, profundizandoenloscálculosrealizados.EstoscálculossehanllevadoacaboenunahojadeExcel, quesehapreparadoparaefectuarlassimulacionesdetráficoexpuestas. Paralaestimacióndeltráficodedatosquevaagenerarelequipo,hadetenerseencuenta que,debidoaquelascompañíastelefónicasfacturantantoeltráficodedatosgeneradocomoel recibido,sehaderealizarelcálculodeltotaldedatosteniendoencuentaambostráficos.Asimismo, losdatosquesetomansonlosdeniveldeenlace,presumiblemente,pueslascabecerasdeestenivel variaráneneltranscursodelosdatagramasIPporlasdiferentesredes(redesX.25,Ethernet…) (figura19),porloqueesdesuponerqueelniveldeenlaceseaenelqueserealiceelcálculodel consumo. Figura19:Nivelesimplementadosenlosdistintosdispositivosdered.Eldispositivoremotoirágenerandodatosdetodoslos niveles.Losrouters,porsuspropiascaracterísticas,deberánleerlascabecerasdeniveldered,mientrasquelosbridges tendránqueleerlascabecerasdelniveldeenlace. Comoseobservaenlafigura19,losrouterstrabajananiveldered,esdecir,conlos datagramasIP,porloquecomoelprimerelementoquetienenqueatravesaréstosenlaestación baseesunrouter(elmóduloSGSNdeGPRS,comoseveenlafigura13delanexo1)quegeneralos datagramasqueseintroducenenlared,caminodeldestino,seanesoslosdatosquesecontabilicen, ylosquesetomenparalatarificación. Así,setendránquecontabilizarlosdatosdeniveldeenlace,queincluiránlosdatosdenivel dered(protocoloIP)ysuscabeceras.Losdatosdenivelderedestaránformadosporlosdatosde niveldetransporte(protocoloTCP),correspondientesconlosdatosgeneradosporlapeticiónHTTP deniveldeaplicación,máslascabecerasdeTCP.Detodosestosdatos,losúnicosquesegenerarán directamenteporpartedelmicroprocesadorquecontrolaelequipodemedida,seránlosdatosde
Anexo5:Estudiodetráficogenerado 56
ParteII:Anexos 57 Anexo6: Estudiodeconsumoenergético Paralarealizacióndeesteestudio,sehapreparadounahojadecálculodondese estableceránloscálculosarealizarapartirdelperiododemedidaydelosdatosobtenidosdelas medidasrealizadas.Porotraparte,debidoalasdiferenciasdeconsumosegúnlaacciónqueesté llevandoacaboelmóduloencadamomento,seharáncapturasdelosciloscopioquepermitan analizarencadamomentoquéestáocurriendoyaquéesdebido,paracomprendermejorel comportamientodelosdispositivosGPRS. LaimportanciaderealizarunminuciosoanálisisdelconsumodelmóduloGPRSradica principalmenteenlavariabilidaddedichoconsumoysualtonivelenalgunasocasiones,porloque resultainteresantepoderpreverdiferentessituacionesdeconsumo,debidoaquesevaainstalaren módulosquedebenserautónomos,ycuyasbateríasdebenmantenercargasuficienteparadar servicioatodosloscomponentes.Porlotanto,secaracterizará,tantoelconsumomientrasse mantieneelmódulodormido,comoelconsumocuandoseapagaelmódulo,paraasípoder determinarsiresultamejoropcióndormirlooapagarlo. Paraello,serealizaráunmontajeenelcual,elmóduloGPRSiráconectadoaunArduinoUno rev3deCookingHacks[24],queseráusadocomogateway,paraqueasíselepuedanenviarlos comandosalmódulodirectamentedesdeunpuertoseriecualquiera.ElmóduloGPRSsealimentará conunafuenteexterna(E3649AdeAgilent),paraasípodermedirlacorrientedeentradaenun osciloscopio(MSO3034deTektronix)conunasondadecorriente(TCP0030deTektronix),loque determinaráelconsumoqueseestádandoencadamomento. Enlashojasdecaracterísticasdelmódulosepuedeobservarqueelconsumopuedellegara valoresde2.2Adurantelospicosproducidosporlatransmisión,cuandoladistanciaalaestación baserequieradichapotencia. Comoejemplodealgunascapturasdelosciloscopioanalizadasparaobtenerlosconsumos portramos,sepresentanacontinuaciónlascapturascorrespondientesalaintroduccióndelPIN (figura24)yelapagadodelmódulo(figura25). AnalizandoelconsumodecorrientegeneradoalenviarelPIN(figura24),seobservaqueal principiodelacapturasetieneunconsumoimportante.Esto,presumiblemente,esdebidoaqueal notenersetodavíaconstanciadelaoperadoraalaquesedebeconectar,mantieneunanálisisde todaslasoperadorasalasquepuedeacceder,paraacelerarelprocesodenegociaciónqueseinicie conlaintroduccióndelPIN.Trasesto,seintroduceelPIN,conloqueaparecenpicosgrandesde
Anexo6:Estudiodeconsumoenergético 58 consumo,debidosatransmisiones.Estastransmisionessondebidasalaccesodelmódulo,alared deloperadorcorrespondientealatarjetaSIMqueseacabadeactivar.Finalmente,cuandoyaha completadotodalanegociacióndeparámetrosyconfiguracióndelosmismosenelmódulo,se mantienealaespera,conmenorconsumo,puessólodebeatenderalosslotsporlosquelellegan loscanalesdecontroldelaoperadoraalaquehaaccedido. Figura24:CapturaenlaqueserepresentaelconsumoprevioalaintroduccióndelPIN,elconsumodurantelanegociación deingresoalared,yelconsumoenreposotrasesto. Igualmente,siseanalizalacapturacorrespondientealapagadodelmódulo(figura25),se puedeverqueantesdeapagarse,setieneunperiododereposo,enelqueelmóduloyahaavisadoa lareddequesevaaapagar,hastaquerecibelaconfirmaciónyenvíalarespuesta“OK”porelpuerto serie. Figura25:Capturaenlaqueseobservaelperiododereposoanterioralapagadodelmódulo. Faltaporcomentarqueenelprocesodedormir/despertardelmódulo,seobservaque partiendodelmóduloapagado,eldespertadosehaceendosfases.Enunprincipio,elmódulo consumepocoduranteunossegundos,previsiblementemientrasactivalasdiferentes funcionalidades,hastaqueporfinsedespiertadeltodo,mientrasqueeldormidodelmóduloselleva acabodegolpe.Entodaslasfases,dormido,despiertoydespertándose,siguemanteniendoel contactoconlaestaciónbase,comoenreposo.Además,eldormidolorealizacuandollevaunos segundossinrecibircomandos,mientrasqueparadespertarse,necesitarecibiralgúncomandopor elpuertoserie,quenoserácapazdeinterpretar.
ParteII:Anexos 59 Destacartambiénqueenlarecepcióndelosdatos,seobtienentambiénunospicosde consumocomoentransmisión,perosinllegaralniveldeestosotros,yaqueelmódulosólotiene queamplificarlaseñalrecibidaydecodificarla,ynohacerlallegarhastalaestaciónbase. Porotraparte,elconsumodelmódulodurantelarecepcióndeuncomando,escomoel consumoaparecidojustoantesdelapagadodefinitivodelmismoenlafigura25,ligeramente superioralconsumoenreposo. Deestascapturas,sepuedenobtenerlosconsumosmediosquetienecadapartedela conexión,obteniéndoselosresultadosdetiemposyconsumosdecorrientereflejadosenlatabla4: Consumoapagado 4.7mA Consumodormido 8.4mA Consumodespertándose 20mA Consumoencendido 34.4mA Consumorecibiendouncomando 50mA ConsumoantesdeintroducirelPIN 74.9mA ConsumotrasintroducirelPIN 106.41mA Consumotransmitiendodatos 183.6mA Consumorecibiendodatos 146.88mA Tiempoquetardaendespertarse 1.4segs. Tiempoempleadopor PIN 6segs. Tiempoempleadoentransmitir 15segs. Tiempoempleadoenrecibir 8segs. Tabla4:Resultadosobtenidosenlassimulacionesrealizadasparaelcálculodelconsumo Estosresultadossepuedenreflejarenunasimulacióndeunatransmisión,deformaquese puedaobtenerelconsumomedioyunperfildeconsumodelatransmisión.Dichoperfildeconsumo semuestraenlafigura26,dondesepuedenobservardiferenteszonasdeconsumo: ZonaA:Duranteelprocesodeencendido,mientrasseconfiguraelmóduloyseactivantodas lasfuncionalidades,tieneunconsumomediodeunos50mA. ZonaB:Acontinuación,elsistemaestáencendidoyleyendolainformacióndetodoslos operadoresquelellegandesdelaestaciónbase,consumiendounos74.9mAdemedia. ZonaC:CuandoseintroduceelPIN,comienzaunintercambiodeinformacióndelmódulocon laestaciónbase,deformaqueéstesesuscribealaredmóvildeloperadormarcadoporla tarjetaSIM,yobtienelosdatosdelamisma,consumiendounos106.41mAdemedia. ZonaD:Unavezactivadoelaccesoalared,comienzaelenvíodecomandosparaconfigurarel accesodedatosantesdeiniciarlatransmisión.Porotraparte,lazonaDqueaparecetrasla recepción(zonaF),correspondealenvíodelcomandoqueapagaelmódulo.Enestazona,se consumenunos50mAdemediamientrasinterpretaelcomandoyunos34.4mAentreellos. ZonaE:Trasesto,serealizalatransmisióndelosdatosalservidor,porloquesedaelmayor consumoenergético,consumiendounos183.6mAdemedia. ZonaF:Unavezseharealizadoelenvío,elservidorresponde,yelmóduloprocesalosdatos recibidos,consumiendounos146.88mAdemedia. ZonaG:Traslarecepcióndelaordendeapagado,elmóduloconcluyesuconexiónalared móvildeloperadorcorrespondiente,antesdeapagarse,consumiendounos34.4mAde media.
Anexo6:Estudiodeconsumoenergético 60 Figura26:Perfildeconsumomediodeunatransmisiónterminadaapagandoelmódulo. Conesto,sepuederealizaruncálculoaproximadodelconsumomediodelmódulo,llegando aque,sisuponemosqueserealizaunenvíocada15minutos,setieneunconsumodeunos10.86mA apagandoelmódulo,yunos12.87mAsiseduermeelmóduloenvezdeapagarlo.Asípues,eneste casosepuedeverque,aunqueladiferenciaparecepequeña,puesesde2mA,suponeunahorrode bateríademásdel15%,porloqueparecelógicopensarquelamejoropciónesapagarelmódulo. Porotraparte,comosepuedeverenlafigura27,conformesereduzcaelperiododeenvío, lamejoraquesuponeelapagadodelmódulofrenteadormirloseveráreducido,yllegadocierto punto,espreferibledormirlo,pueslaconfiguraciónsemantiene,haciendoqueelmódulotengaque estarmenostiempoencendido.Estarelaciónsepuedeobservarenlafigura27,dondeseobserva queparaperiodosmenoresde7minutos,espreferibledormirelmódulomanteniendola configuración.Estopermiteobservarquesiseusaelmódulocomoelementofinalenunaredde equiposremotos,comonosesabecuándovaatenerselanecesidaddeestableceruna comunicación,pudiendoserperiodosmuypequeños,resultamásconvenientedormirelmódulo. Figura27:Enelejedeladerecha,comparacióndelconsumomedioapagandoelmódulo(rojo)frentealconsumomedio durmiéndolo(verde);Enelejedelaizquierdayenazul,elporcentajedemejoraquesuponeapagarelmódulo Tambiénsepuederealizaresteanálisismanteniendoelmódulodespierto,obteniendomejor resultadoalapagarelmódulosiempreycuandoelperiodoseamayorque1minuto35segundos, perosiemprevaasermejordormireldispositivo,puesenamboscasosseahorraráreintroducirla
ParteII:Anexos 61 mismaconfiguración.Delperfildeconsumodelatransmisiónsepuedetambiénllegarala conclusióndequenotienesentidoreducirelperiododemediciónpordebajode40segundos,pues enesecasoyacasinosetienetiempoparaqueeldispositivosepuedaapagar. Comoseestimaqueelconsumodelmódulosiguesiendomuyelevado,debidoalconsumo delregulador,seoptaporcortarlaalimentacióncuandoseapagueelmóduloreduciendoasídicho consumo.Deestaforma,seobtieneunconsumomedio,apagandoelmódulo,de6.43mA. Igualmente,comosecomentaenlamemoria,enlaspruebasfinalesrealizadasdelsistema completo,sehanoptimizadolostiemposdeesperaentrecomandos,solapandotambiénla ejecución,porpartedelmódulo,dealgunodeellos,consiguiendoasíreducireltiempoquerequiere estarencendidoelmódulo.Deestaforma,sehareducidoelconsumoenergéticomedio,queerade 6.43mA,hasta2.3mA,queesunconsumomuypequeñocomparadoconelquegeneranelrestode loscomponentes.
Anexo6:Estudiodeconsumoenergético 62
ParteII:Anexos 63 Anexo7: Caracterizacióndelsistemadecargayalimentación Enesteanexosecomentaelmontajerealizadoparalamedidadelosparámetrosdecarga delpanelsolaryelcargadorutilizadosenelequipofinal.Tambiénsemostrarányanalizaránlos resultadosobtenidosdeestemontaje. Comopuntodepartidasehadetenerencuentaqueelconsumomedioestimadodel móduloestaentornoalos2.3mA,comoseexponeenlamemoria,pudiéndosellegarapicosde hasta2.2Aencasodequeelcaminoentreeltransmisorylaestaciónbasepresentasemuchas pérdidas,debidasaladistancia,desvanecimientos,uotrascausas.Aesteconsumo,hayquesumarle tambiénelconsumodelosdistintoscomponentesdelaplaca,queesdeunos40‐45mA,porloque sepuedeestablecerunconsumomedioaproximadodeunos50mAentotal. Pararealizarlaspruebasdecargadelabatería,seempleaelcargadorfinal,conectándoleen laentradaelpanelsolar,yenlasalida,labateríayunregulador,alqueseconectaunacargaque simulaelconjuntodelequipo.Dichacarga,debegenerarunflujode50mAporella,porloque,como elreguladordaensusalida3.3V,seutilizaunaresistenciade0.25W,yaqueelconsumoesde aproximadamente0.165W,conunvalorde66Ω.Alnodisponersedeunaresistenciadedichovalor exacto,seempleaunade64.9Ω,simulandoasíunacorrientecasiidéntica,másconcretamentede unos50.84mA,peroconunconsumoaunasímenorde0.25W. Elpanelsolarutilizadopuedellegaragenerarunatensióndeunos7.5Ventresusterminales, porloque,teniendoencuentaqueelcargadorausartrabajacorrectamentecontensionesmenores a7V,secolocaunreguladordetensiónde5Vasusalida,deformaqueasísepuedaaprovecharal máximolacapacidaddecargaproporcionadaporelpanelyelcargador. Así,haciendousodeundatalogger(34972ALXIDataAcquisition/DataLoggerSwitchUnitde Agilent),semedirán,durantevariosdías,lastensionesdebatería,delreguladordelacarga,del reguladordelcargadorylaproporcionadaporelpanelsolar,ylascorrientesalaentradaylasalida delcargador.Latensióndelabateríaproporcionaunamedidadelacargaqueéstaalmacena, mientrasquelacorrientealasalidadelcargadordalamedidadecuántoseestácargandoenese instantelabatería,quedeberíaseraproximadamentealgomenorquelaintensidadalaentradadel cargador,puesantesdelcargadorsederivapartedelacorrientealacarga.Latensióndelregulador delacargaindicasiempreelmismovalor,anoserqueenalgúnmomentolabateríasedescargue tantoquenoseacapazdeproporcionarlacorrientesuficientealacarga.Latensiónproporcionada porelpanelsolarpermiteobservarlasdiferenciasdecargaenciertosmomentosdeldía.
Anexo7:Caracterizacióndelsistemadecargayalimentación 64 Conesto,semontauncircuitocomoelmostradoenlafigura28,dondelosvoltímetrosy amperímetrossonlasentradasdetensiónycorrientedeldatalogger,montajequesepuedeverenla figura29. Figura28:Esquemadelmontajerealizadoparalatomademedidasdecargadelabateríapormediodelpanelsolar. Figura29:(a)colocacióndelpanelsolarendirecciónalsuryconunainclinaciónde56º.(b)montajeparaefectuarlas medidasconeldatalogger. Conesto,seobtienenlasmedidasmostradasenlasfiguras30,31y32: Figura30:Tensionesdebateríayalasalidadelreguladorobtenidasdelmontajeexpuesto. (b) (a)
ParteII:Anexos 65 Figura31:Corrientesdecargayproporcionadaporelpaneldelmontajeexpuesto. Enlafigura31,seobservacómoenlosprimerosdías,latensióndelabateríaalfinaldecada díaesmayorquelatensiónqueseteníaeldíaanterior,porloqueseestácargandomásdeloquese estágastando.Enlosdosúltimosdías,comoconsecuenciadeunaumentodelanubosidad,la corrientetotaldecargadisminuye,haciendoquelabateríapierdacargadíaadía.Comoestatensión nodecaedemasiadoenningunodelosdías,latensiónsuministradaporelreguladorestáfija entornoalos3.3V,comocabíaesperar.Porotraparte,enlafigura32,seobservaquelacorrientede cargaessiempreunos50mAmenorquelacorrientesuministradaporelpanel,loquese correspondeconlaintensidadqueestáconsumiendolaresistencia.Además,seobservantambién dosnoidealidades.Unadeellasesquelaintensidaddecarganocrecealprincipiodeldía linealmente,nicaelinealmentealfinaldeldía,hastaelpuntomáximo,defectoquesehaidentificado conqueelpanelsolarestáensombraalprincipioyalfinaldeldía.Laotranoidealidadesquela intensidadllegaalpuntomáximo,yvacayendoconformeavanzaeldía,loquesehaidentificadocon elhechodequelabateríaestécasicargada,deformaquerequiereunmenorcargado.Estose observatambiénenlatensióndebatería,yaquevaaumentandomáslentamente.Aestemismo respecto,comentartambiénqueelmáximodeintensidaddecargaobtenidoenlagráficaestáen tornoalos200mA,mientrasqueenunaspruebasprevias,seobteníanvaloresdecorrientedecarga dehasta280mA,porloquesepuedesuponerqueencasodequelacargadelabateríafuesemenor, sepodríallegaragenerarunacorrientedecargasuperior.Además,seapreciatambiénelefectode lasnubes,quehacenquelaintensidaddecargadisminuyacuandoéstastapanelsol.Estosdos últimosefectosseobservanmásclaramenteenlafigura33: Figura33:Tensionesdepanelydecargaobtenidasdelmontajeexpuesto. Enellasepuedeverquetantoalprincipiocomoalfinaldeldíasedancambiosbruscosde tensióndepanel,debidocomosehacomentadoaqueeledificiohacesombraalpanel.Esmuy
ParteIII:Bibliografía 73 BIBLIOGRAFÍA [1]EspecificacionestécnicasdeGSM: http://www.3gpp.org/ftp/Specs/html‐info/45‐series.htm [2]ManualdeGPRS: http://www.radio‐electronics.com/info/cellulartelecomms/gprs/gprs_tutorial.php [3]ManualdeUMTS: http://www.radio‐electronics.com/info/cellulartelecomms/umts/umts_wcdma_tutorial.php [4]InformacióntécnicaacercadeBluetooth: http://www.bluetooth.com/Pages/Tech‐Info.aspx [5]EspecificacionestécnicasdeZigBee: http://www.zigbee.org/Specifications.aspx [6]EstándarTCP: http://www.rfc‐es.org/rfc/rfc0793‐es.txt [7]EstándarUDP: http://www.ietf.org/rfc/rfc0768.txt [8]EstándarFTP: http://tools.ietf.org/html/rfc959 [9]EstándarHTTP: http://www.w3.org/Protocols/rfc2616/rfc2616.html [10]WeboficialdelaplataformaXively: https://xively.com/ [11]WeboficialdelaplataformaExosite: http://exosite.com/ [12]WeboficialdelaplataformaCarriots: https://www.carriots.com/ [13]ManualdeusuariodeHTML: http://www.desarrolloweb.com/manuales/21/
Bibliografía 74 [14]ManualdeusuariodePHP: http://php.net/manual/es/index.php [15]TutorialdeJavascript: http://www.w3schools.com/js/ [16]WeboficialdelproyectodelservidorwebApache: http://httpd.apache.org/ [17]WeboficialdelservidordebasesdedatosMySQL: http://www.mysql.com/ [18]WeboficialdelaherramientadeadministracióndeMySQL,PHPMyAdmin: http://www.phpmyadmin.net/ [19]WeboficialdelmódulodecreacióndegráficasFusionCharts: http://www.fusioncharts.com/ [20]ManualnooficialdeinstalacióndeApache,PHP,MySQL,yPHPMyAdmin: http://www.lawebdelphp.com/manuales/lampp.pdf [21]ManualnooficialdeinstalacióndeApache,PHP,MySQL,yPHPMyAdmin: http://www.maestrosdelweb.com/editorial/phpmysqlap/ [22]GuíabásicaparalasecurizacióndelservidorwebApache(InstitutoNacionaldeTecnologíasdela Comunicación): http://www.inteco.es/guias/guia_apache [23]Gestióndesesionesweb:ataquesymedidasdeseguridad(InstitutoNacionaldeTecnologíasde laComunicación): http://www.inteco.es/guias/guia_sesiones_web [24]WeboficialdeLibelium: http://www.libelium.com/es/