Upload
truongliem
View
216
Download
0
Embed Size (px)
Citation preview
0
29‐11‐2016
MONITORIZACIÓNDELACALIDADDEAGUASPLUVIALESVERTIDASACAUCEPÚBLICOENENTORNOSINDUSTRIALESMEDIANTETECNOLOGÍALOWCOST
Autor:InmaculadaGonzálezRuiz.Tutor:PabloMatuteMartínDepartamento:IngenieríaQuímicayAmbiental
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
INDICE.
1 INTRODUCCIÓN _______________________________________________________________ 1
2 CAPITULO 1: CALIDAD DEL AGUA PLUVIAL CONTAMINADA EN ENTORNOS INDUSTRIALES. __ 1
2.1 ANTECEDENTES. __________________________________________________________________ 1
2.2 OBJETIVO. _______________________________________________________________________ 2
2.2.1 Objetivo general. _______________________________________________________________________ 2
2.2.2 Objetivo específico. _____________________________________________________________________ 2
2.3 DESCRIPCIÓN DEL PROBLEMA. ______________________________________________________ 3
2.4 CALIDAD DE LAS AGUAS PLUVIALES. __________________________________________________ 6
2.4.1 Parámetros seleccionados para la detección de vertido de aguas pluviales. ________________________ 7
3 CAPITULO 2: DISEÑO DEL SISTEMA DE DETECCIÓN. _________________________________ 10
3.1 DESCRIPCIÓN DE SENSORES UTILIZADOS. ____________________________________________10
3.2 UBICACIÓN DE SENSORES. _________________________________________________________10
3.3 INDICE DE INSTRUMENTOS. _______________________________________________________11
3.4 SISTEMA DE DETECCIÓN DE PH. ____________________________________________________13
3.4.1 Descripción. __________________________________________________________________________ 13
3.4.2 Características. _______________________________________________________________________ 14
3.4.3 Diagrama de bloque ___________________________________________________________________ 15
3.4.4 Esquema de conexionado. ______________________________________________________________ 15
3.4.5 Diagrama de flujo _____________________________________________________________________ 17
3.4.6 Esquema Placa Sensor. _________________________________________________________________ 18
3.5 SISTEMA DE DETECCIÓN DE CONDUCTIVIDAD. ________________________________________19
3.5.1 Descripción. __________________________________________________________________________ 19
3.5.2 Principio de medida. ___________________________________________________________________ 20
3.5.3 Características. _______________________________________________________________________ 22
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
3.5.4 Diagrama de bloque ___________________________________________________________________ 22
3.5.5 Esquema de conexionado _______________________________________________________________ 23
3.5.6 Diagrama de flujo _____________________________________________________________________ 24
3.5.7 Esquema Placa Sensor. _________________________________________________________________ 25
3.6 SISTEMA DE DETECCIÓN DE TURBIDEZ. ______________________________________________26
3.6.1 Descripción. __________________________________________________________________________ 26
3.6.2 Características. _______________________________________________________________________ 27
3.6.3 Diagrama de bloque ___________________________________________________________________ 27
3.6.4 Esquema de conexionado _______________________________________________________________ 28
3.6.5 Diagrama de flujo _____________________________________________________________________ 29
3.6.6 Esquema Placa Sensor. _________________________________________________________________ 30
3.7 SISTEMA DE DETECCIÓN DE TEMPERATURA. __________________________________________31
3.7.1 Descripción. __________________________________________________________________________ 31
3.7.2 Características. _______________________________________________________________________ 33
3.7.3 Diagrama de bloque ___________________________________________________________________ 33
3.7.4 Esquema de conexionado _______________________________________________________________ 34
3.7.5 Esquema Placa Sensor. _________________________________________________________________ 34
3.7.6 Pluviómetro __________________________________________________________________________ 36
3.7.7 Diagrama de bloque ___________________________________________________________________ 36
4 CAPITULO 3: TECNOLOGÍA ARDUINO. ____________________________________________ 37
4.1 INTRODUCCIÓN. _________________________________________________________________37
4.2 ARDUINO: HARDWARE. ___________________________________________________________39
4.2.1 Concepto Arduino. ____________________________________________________________________ 39
4.2.2 Hardware Arduino. ____________________________________________________________________ 40
4.2.3 Partes del Arduino. ____________________________________________________________________ 42
4.3 ARDUINO: SOFTWARE. ___________________________________________________________46
4.3.1 Código abierto. _______________________________________________________________________ 46
4.3.2 Multiplataforma. ______________________________________________________________________ 46
4.3.3 Entorno _____________________________________________________________________________ 46
4.4 DESARROLLO DEL CÓDIGO ARDUINO. _______________________________________________49
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
4.4.1 Estructura. ___________________________________________________________________________ 50
4.4.2 Sintaxis _____________________________________________________________________________ 53
4.5 COMUNICACIONES: PROTOCOLO GRPS. ______________________________________________55
4.5.1 Red GPRS ____________________________________________________________________________ 55
5 CAPITULO 4: PLATAFORMA GRATUITA PARA EL REGISTRO DE LOS VALORES DE SENSORES. _ 57
5.1 INTRODUCCIÓN. _________________________________________________________________57
5.2 TECNOLOGÍA IOT. ________________________________________________________________59
5.3 PLATAFORMAS SOFTWARE: THINGSPEAK. ____________________________________________65
5.3.1 ThingSpeak __________________________________________________________________________ 65
6 CAPITULO 6: PROTOTIPO. ______________________________________________________ 72
6.1 RESUMEN DEL PROTOTIPO DISEÑADO. ______________________________________________72
6.1.1 Objetivo. ____________________________________________________________________________ 72
6.1.2 Hardware. ___________________________________________________________________________ 72
6.1.3 Plataforma IoT. _______________________________________________________________________ 72
6.2 APLICACIÓN IOT USANDO ARDUINO + THINGSPEAK. ___________________________________73
6.2.1 Elección Plataformas ___________________________________________________________________ 74
6.3 FUNCIONALIDAD ________________________________________________________________74
6.3.1 Instalación IDE Arduino. ________________________________________________________________ 75
6.3.2 Código obtención calibración de los sensores. _______________________________________________ 78
6.3.3 Plataforma ThingSpeak _________________________________________________________________ 92
6.4 SOFTWARE MYSCADA. ____________________________________________________________94
6.4.1 Descripción. __________________________________________________________________________ 94
6.4.2 Ámbitos de aplicación. _________________________________________________________________ 97
6.5 PRESUPUESTO DEL PROYECTO. _____________________________________________________98
6.5.1 Comparativa con sistemas tradicionales. ___________________________________________________ 98
7 ANEXO I. MANUAL DE USUARIO DE ARDUINO. ____________________________________ 106
8 ANEXO II. MANUAL DE USUARIO DE THINKSPEAK _________________________________ 107
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
9 ANEXO III. MANUAL DE USUARIO DE LA APLICACIÓN MÓVIL. ________________________ 108
10 ANEXO IV. CÓDIGO ARDUINO. _______________________________________________ 109
11 MANUALES DE LOS SENSORES. ________________________________________________ 99
12 ANEXO IV: GLOSARIO. ______________________________________________________ 100
12.1 ACRONIMOS. _________________________________________________________________ 104
13 BIBLIOGRAFIA COSULTADA: _________________________________________________ 105
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzálezRuiz Páginanº1
1 INTRODUCCIÓN
Adíadehoy,lamonitorizaciónresultaimprescindibleparapodergestionarsistemasyregistrardatos
(detodotipo)deunaformasegurayeficiente.Parapoderllevaracaboestamisión,desdehacetiempo
existe una amplia gama de sensores en elmercado dependiendo de lamagnitud amedir y de las
prestacionesqueserequieran.
Elestudiodelascondicionesambientalesycalidaddelaguasellevarealizandodesdeelpasadosiglo.
Conlaaparicióndeequiposdebajocostequepuedenllevaracaboestatareademanerasencillaysin
muchosrecursos,esnecesarioconocersusaplicaciones,prestacionesylimitacionesquepuedentener
paraelegiradecuadamentecuálesaptoycuálnoparaciertosistema.
Adicionalmente,lainclusióndeestetipodesensoresenunsistemaaisladonosdalaposibilidadde
poder monitorizarlo de forma remota, sin tener acceso físico a él y, con ello, reducir costes de
inspecciónycontrol.
La llegada de soluciones “hardware low cost y de código abierto” ha hecho posible montar,
automatizaryconfigurartodounsistemabajoladireccióndeunaúnicaplataforma,deformasencilla
yeficiente.Lasoluciónqueseplanteaenestedocumentovaencaminadajustamenteenesadirección.
Graciasalgransoportedeestetipodeplataformasporpartedelosusuarios,esposibleencontrartodo
tipodeproyectosenlaRed;desdelosmássencillosalosquemáscomplejidadentraña.Es,graciasa
esta comunidad, que los dispositivos de “hardware” libre están demoda en estos días, facilitando
enormementeeltrabajoenaplicacionesrutinarias,procesosautomatizados,monitorización,etcétera.
Porotroladoelpodercombinarelmediodecomunicaciónderadiofrecuencia,unatecnologíaque
ofrecelaposibilidaddeimplementarunsistemasincables,delargoalcanceyseguro,permitiendo
así independencia del conjunto de medios físicos con el hardware de bajo coste y la nuevas
plataformasbasadasenlatecnologíaIoT,permitendesarrollarnúmerosprototiposquenosdanacceso
aparámetrosambientalesendiversasdisciplinas,comopuedeserlacalidaddelaguaolaemisionesal
aire.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzálezRuiz Páginanº1
2 CAPITULO1:CALIDADDELAGUAPLUVIALCONTAMINADAENENTORNOSINDUSTRIALES.
2.1 ANTECEDENTES.
Lasaguaspluvialesrecogidasendiferentesentornosindustrialesprocedentesdediversasindustrias
comolaminera,vertederos,fertilizantes…,suelenestarcontaminadasconmetales,fosfatos,nitratos,
DQO… Cuando estas aguas llegan al cauce de los ríos o lagos, provocan problemas serios de
contaminaciónambiental.
Los iones disueltos de losmetales pesados, como el plomo, cadmio ymercurio, sonmuy tóxicos y
acumulablesporlosorganismosquelosabsorben,loscualesasuvezsonfuentedecontaminaciónde
lascadenasalimenticiasalseringeridosporalgunodesuseslabones.
Lacontaminacióndelasaguaspluvialesconfosfatosynitratoscuandolleganalasrías,lagos,ríos….,
provocanuntipodecontaminaciónquímicaconocidacomoeutrofización,estohechosedacuandohay
unaporteexcesivodenutrientesaunecosistemaacuático,elcualquedaseveramenteafectadoporello.
Elresultadosonecosistemasconunabiodiversidadreducida,conlasespeciesoportunistasocupando
nichospreviamenteocupadosporotrasespecies.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
2.2 OBJETIVO.
2.2.1 Objetivogeneral.
Obtenerinformaciónentiemporealdediferentesparámetrosrelevantesindicadoresdelacalidaddel
aguapluvialenentornosindustriales,implementandoparaellounprototipobasadosentecnologías
libresquepermitanelmonitoreodedichasaguaysuposibleactuaciónenelcontroldeequiposque
evacuenoimpidanelvertidodeesaaguacontaminadaauncaucepúblico,comopodríaserunaría.
2.2.2 Objetivoespecífico.
Diseño y construcción de un prototipo que contenga un grupo de sensores paramedir los
parámetrosprincipales,siendoestosparámetros:
1. Temperatura
2. pH
3. Conductividad.
4. Turbidez
5. Pluviometría.
Diseño y desarrollo del código en la plataforma Arduino para la monitorización de los
parámetrosseleccionados.
DiseñoydesarrollodeuninterfazrealizadoenlaaplicaciónMyScadaparalavisualizaciónde
losdatosenPC,SamrtPhone.IPad…..
Configuración de la plataforma ThinkSpeak como servidor de datos y visualización de las
mismasdirectamentedesdeInternet.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
2.3 DESCRIPCIÓNDELPROBLEMA.
En la actualidad existen números entornos industriales tratan sus agua de lluvia en tanques de
tormentaobienlasderivandirectamenteacolectoresconectadosauncaucepúblico.
Asimismo, los materiales sólidos de desechos, restos de materia prima dispersa por las zonas de
operación, son generalmente acumulados por las superficies del terreno, y si no está propiamente
dispuesto,seexponenalluviasocorrientesdeaguasuperficialescercanas,siendolavadoporelagua
delalluviayloscontaminantessondisueltosoarrastradosporelagua.
Con laapariciónde las lluviasestasaguassonrecogidasa travésde los imbornalesque finalmente
derivanendiferentes tanquesdetormentassituadosestratégicamenteen lasplantas.Cuandoestas
aguasalcanzanlacotadevertido,dichasaguasvanapararalcaucepúblico.
Enlafotosiguientepuedeobservarseunentornoindustrialdondesevisualizaunsuelocontaminado
deconcentradodecobre,dichoconcentradocuandollueveesrecogidoenlosimbornalesquedirigen
el agua hasta el tanque de tormenta, que finalmente ante el aumento del nivel del tanque el agua
contaminadaderivaenelcaucepúblico.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
Enotrosentornosindustrialescomosonloscentrosdegestiónderesiduosdesólidosurbanosexisten
laproblemáticade lacontaminacióndifusadebidoaque losresiduosconelvientoyel trasiegode
camionessevanesparciendoporelrecinto,ademásenlosparquesdemaduraciónalairelibre,seforma
lixiviadoquecuandollueve,puedellegaralascunetasdepluvialesypuedensalirdelcentrosiestosno
sonbiengestionados.Ademásconlalluviapuedehaberproblemasdecontaminaciónenlosfrentesde
vertidos.
Porelloalasalidadelaguadepluvialesesinteresanteunsensordemonitorizaciónparaavisarencaso
desubidadenivelesdeconductividadypHparapoderactuardeformaadecuada.
Enlassiguientesfotospuedeobservarestaproblemática.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
2.4 CALIDADDELASAGUASPLUVIALES.
Lasaguasnaturales,alestarencontactocondiferentesagentes(aire,suelo,vegetación,subsuelo,etc.),
incorporanpartedelosmismospordisoluciónoarrastre.
Estohacequelasaguasdulcespresentenunelevadonúmerodesustanciasensucomposición
químicanatural.
Entreloscompuestosmáscomunesquesepuedenencontrarenlasaguasdulcesestán:
• como constituyentes mayoritarios: los carbonatos, bicarbonatos, sulfatos, cloruros y
nitratos.
• comoconstituyentesminoritarios:losfosfatosysilicatos,metalescomoelementostrazay
gasesdisueltoscomooxígeno,nitrógenoydióxidodecarbono.
Elaguadelluviapresenta
• loscationes:Na+,K+,Ca2+,Mg2+
• losaniones:HCO3−,Cl−,Br−,I−,SO42−,NO3−,PO43−
• ydióxidodecarbono,oxígeno,ozono,nitrógeno,argón,etc.
Lacomposiciónquímicanaturaldelasaguaspuedeversealteradaporactividadeshumanas:agrícolas,
industriales, etc., incorporando sustancias de diferente naturaleza debido al paso de las aguas por
terrenostratadosconproductosagroquímicosocontaminados.
Estasincorporacionesocasionanladegradacióndelacalidaddelaguaprovocandodiferentes
efectosnegativoscomo:
lamodificacióndelosecosistemasacuáticos
ladestruccióndelosrecursoshidráulicos
riesgosparalasalud
incrementodelcostedeltratamientodelaguaparasuuso
dañoeninstalaciones(incrustaciones,corrosiones,etc.)
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
Las aguas contaminadas presentan diversos compuestos en función de su procedencia:
pesticidas,tensoactivos,fenoles,aceitesygrasas,metalespesados,etc.
Lacomposiciónespecíficadeunaguadeterminadainfluyeenpropiedadesfísicastalescomo
densidad,tensióndevapor,viscosidad,conductividad,etc.
Laprogresivacontaminacióncambiasustancialmentesuspropiedades.
Lasfiltraciones,losvertidoshandadolugaraque,aveces,elaguapluvialseaaguacontaminada
oaguadeproceso.Estohaoriginadolanecesidaddeutilizarparámetrosdecontrol.
Algunosdelosparámetrosdecontrolsonlosseleccionadosporelpresenteproyectoparasu
monitorización.
2.4.1 Parámetros seleccionados para la detección de vertido de aguas
pluviales.
Enestasecciónsevaaresumirlainformaciónmásrelevanteconelobjetivoderealizarlaselecciónde
losparámetrosadetectarporelsistema.
Comodatodeterminanteparalaeleccióndeparámetrosparadeterminarlaexistenciadeunvertido,
sehausadoelcostedelsensor,yaque,elobjetivodelsistemaesevitarelvertidodeaguadelluvia
contaminadaacaucepúblicomedianteequiposdebajocoste.
Evidentemente el prototipo puede complementarse con todos aquellos sensores que la zona a
monitorizar por sus características lo requieran. Estos sensores complementarios podrían ser la
detección de cobre, zinc, nitratos…, son sensores de bajo coste en comparación con los señores
tradicionales,peroqueparaeldiseñoyconstruccióndelpresenteprototiposuponencosteelevado
paraadjuntaralpresenteTFM.
Porestarazónsehaestudiadodiferentesparámetrosquenospuedenaportarinformaciónsignificativa
delacalidaddelaguadelluviaconunpresupuestodebajocoste.
Lasmedidasconsideradasparaelprototipohansido:
pH:Nosindicalaacidezoalcalinidaddelagua.
Conductividad.Hacereferenciaalasalinidaddelagua.
Turbidez.Nosindicaorientasobrelossólidostotalesensuspensiónenelagua
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
Temperatura.SirvecomodatoinformativoyesnecesariaparamedicióndeconductividadypH.
Pluviometría.Nospermitedetectarlacantidaddelluviaquecaeenunlugaryenunespaciode
tiempo.
PH.
Enprimerlugar,serecuerdaquesepreseleccionaronelPHytemperatura,pHporqueesprimordial
paradetectarlaalcalinidadoacidezdelaguayeldetemperaturaporquesenecesitaunacompensación
delamismaparalamedicióndepH.
ElpHsedefinecomo:
PH=log1/[H+]=−log[H+]
Esunapropiedadqueafectaamuchasreaccionesquímicasybiológicas.
ElvalordelpHcompatibleconlavidapiscícolaestácomprendidoentre5y9.Paralamayoría
delasespeciesacuáticas,lazonadepHfavorablesesitúaentre6.0y7.2.Fueradeesterango
noesposiblelavidacomoconsecuenciadeladesnaturalizacióndelasproteínas.
LaalcalinidadeslasumatotaldeloscomponentesenelaguaquetiendenaelevarelpH(bases
fuertesysalesdebasesfuertesyácidosdébiles).
Laacidezes lasumadecomponentesqueimplicanundescensodepH(dióxidodecarbono,
ácidosminerales,ácidospocodisociados,salesdeácidosfuertesybasesdébiles).
Ambas,controlanlacapacidaddetamponamientodelagua(paraneutralizarvariacionesdepH
provocadasporlaadicióndeácidosobases).
ElprincipalsistemareguladordelpHenaguasnaturaleseselsistemacarbonato(dióxidode
carbono,ionbicarbonatoyácidocarbónico).
Conductividad.
Enlosparámetrosseleccionadosparadetectarunvertido,seconsideracomomedidasignificativala
conductividad.
Es lamedidade la capacidaddel aguapara transportar la corriente eléctrica y permite conocer la
concentracióndeespeciesiónicaspresentesenella.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
Lacontribucióndecadaespecieiónicaalaconductividadesdiferenteporloquesumedidada
unvalorquenoestárelacionadoconelnúmerototaldeionesensolución.Dependetambiénde
latemperatura.
Estárelacionadaconelresiduofijoporlaexpresión
conductividad(S/cm)xf=residuofijo(mg/L);Elvalordefvaríaentre0.55y0.9.
asalinidaddelassolucionesdesistemasdesuelo,aguaderiegoofertilizantesesunparámetro
importantequeafectaalazonadelasraícesdelasplantasambiente.Cualquieradeestospuede
descomponerenfactores‐tenerunefectosignificativosobreelcrecimientovegetalylacalidad.
Turbidez
Es unamedida de la dispersión de la luz por el agua por la presencia demateriales suspendidos
coloidalesy/oarticulados.
Lamateria suspendidapuede indicar un cambio en la calidaddel agua y/o la presencia de
sustanciasinorgánicasfinamentedivididasodematerialesorgánicos.
Laturbidezesunfactorambientalimportanteyaquelaactividadfotosintéticadependeengran
medidadelapenetracióndelaluz.
Laturbidezconstituyeunobstáculoparalaeficaciadelostratamientosdedesinfección.
Latransparenciadelaguaesmuyimportanteenlasdeaguaspotablesyenelcasodeindustrias
queproducenmaterialesdestinadosalconsumohumano
Temperatura.
AdemásdeserunparámetronecesarioparalamedidadeconductividadypH,latemperaturaresulta
relevantedebidoa:
Temperaturaselevadasimplicanlaaceleracióndelaputrefacción,conloqueaumentalaDBO
ydisminuyeeloxígenodisuelto.
La temperatura tiene influencia en el equilibrio entre el nitrógeno amoniacal ionizado y el
amoniaco,conlatemperaturaaumentalasaturacióndeloxígenoyelincrementodelamisma
puedeafectaralavidaacuáticaenalgunasetapasdesusciclosvitales
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
3 CAPITULO2:DISEÑODELSISTEMADEDETECCIÓN.
3.1 DESCRIPCIÓNDESENSORESUTILIZADOS.
Se presentan los diferentes periféricos a instalar en el prototipo para la monitorización de aguas
pluviales.Paraelloseestableceenestecapítulounaseriedeapartadosconsideradosrelevantespara
disponerdetodalainformaciónnecesariadecadasensor,asíconsufuncionalidaddentrodelprototipo
diseñado.
3.2 UBICACIÓNDESENSORES.
Para lamedición de los parámetros del agua amonitorizar en Tanques de tormenta los sensores,
tenemosseinstalaríanenunlugarexternoaltanquedetormenta.
Comonos interesamedir lacalidaddelaguaantesdequeelagua lleguea lacotadealiviaderodel
tanque de tormenta, acondicionaremos una muestra en continuo en un cubeto donde quedarían
instaladoslossensores.
Enrealidadconestaubicación,siempreestamosmidiendolosvaloresdeltanquetantosiestávertiendo
acaucepúblicocomosinoloestáhaciendo.Paraelloseinstalaunapequeñabombaqueelevaelagua
hastaelcubetodondeestánubicadoslossensores.Existedetectordeniveltipohidromeloboyaala
alturadelvertederoparasabercuándoseestávertiendoelaguaacaucepúblico.
Comoeltanquedetormentastienevariosmetrosdeprofundidadconestesistemaevitamosquese
inundenlossensoresyquedenfueradeuso.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
3.3 INDICEDEINSTRUMENTOS.
Enlalistasiguienteserealizaunatodoslosinstrumentosqueintervienenenelsistema,conlainformaciónnecesariaparalacorrectainterpretación
desufunciónylascaracterísticasgenerales.
Esteíndicedeinstrumentosrecopilalainformaciónmásimportanteasociadaacadainstrumento,desdemarcaymodelodelsensorhastasurangode
medida.
TAG DESCRIPCIÓN SERVICIO UBICACIÓN MARCA MÓDELORANGO
MEDIDA
TIPO
ENTRADATENSIÓN
TT01‐AIT[PH]‐01Transmisoreindicadorde
pH
Indicarytransmitir
pHArduino DFROBOT SEN0161 0‐14 Analógica 5VDC
TT01‐AE[pH]‐01 SensordepH MediciónpHTanque
TormentaDFROBOT
TT01‐AIT[Co]‐01Transmisoreindicadorde
Co
Indicarytransmitir
CoArduino DFROBOT DFR0300
1ms/cm‐
20ms/cmAnalógica 5VDC
TT01‐AE[Co]‐01 SensordeConductividad MediciónCoTanque
TormentaDFROBOT
TT01‐AIT[Tb]‐01Transmisoreindicadorde
Turbidez
Indicarytransmitir
TbArduino DFROBOT SEN0189 Analógica 5VDC
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
TAG DESCRIPCIÓN SERVICIO UBICACIÓN MARCA MÓDELORANGO
MEDIDA
TIPO
ENTRADATENSIÓN
TT01‐AE[Tb]‐01 Sensordeturbidez MediciónTbTanque
TormentaDFROBOT
TT01‐TIT‐01Transmisoreindicadorde
temperatura
Indicarytransmitir
TemperaturaArduino
ATLAS
SCIENTIFICDS18B20
±0,5°Cde‐
10°Ca+85
°C
Digital 5VDC
TT01‐TE‐01 SensordetemperaturaMedición
Temperatura
Tanque
Tormenta
ATLAS
SCIENTIFIC
TT01‐QI‐01Detectordecantidadde
lluvia
Medicióndelluvia
poráreaIntemperie Peysanet Digital 5VDC
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
3.4 SISTEMADEDETECCIÓNDEPH.
SensordepHSEN0161.
PHmeter(SKU:SEN0161)
3.4.1 Descripción.
ElsensordePotencialdeHidrógeno(pH)esuntransductorquepermiteconocerelpHdeunasolución,
estolorealizaatravésdeunmétodoelectroquímicoqueutilizaunamembranadevidrioqueseparados
sustanciascondiferentescantidadde,elsensoresunelementopasivoquegeneraunapequeñacantidad
decorrientedeacuerdoalniveldepHqueseencuentreenelmedioambiente.
ElsensordepHseleccionadopermiteunarápidasoluciónparadiseñosdebajocostosinquesesacrifique
laoperatividaddeldiseño,ademásdeserunsistemaembebidoyaqueel sensorconstacomohemos
indicadoenelpárrafoanteriordeunasondadepH,queesunelementopasivoquedetectaunapequeña
corrienteeléctricageneradaporlaactividaddelosionesdeHidrógeno.
Constadetreselementos:
SensordepH.
PlacadeconversiónaArduino.
CabledeconexionadoentrelaplacaArduinoyelconversor.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
ElsensortieneunLEDquefuncionacomoelindicadordealimentación,unconectorBNCparaunirseala
interfazdelsensorPH2.0.SólopuedeconectarelsensordepHconconectorBNCyconectarlainterfaz
PH2.0acualquierentradaanalógicadelcontroladorArduinoparaleerelvalordelpH.
PasoparausarelmedidordepH
3.4.2 Características.
VOLTAJEDEFUNCIONAMIENTO: 5VDC.
CORRIENTEDEFUNCIONAMIENTO:
TIEMPODERESPUESTA: ≤1min
RANGODEMEDICIÓN 0‐14
PRECISIÓN ±0.1pH(25℃)
POTENCIOMETRO Potenciómetrodeajustedeganancia
INIDCADORES IndicadordeencendidoLED
MEDICIÓNDELATEMPERATURA 0‐60℃
CONECTORSENSOR ConectorBNC
CONECTORINTERFAZPH2.0 Conectorde3pines
DIMENSIONESDELADAPTADOR: 43mm×32mm
Característicaelectrodo.
LasalidadelelectrododelpHesMillivolts,yelvalordepHdelarelaciónsemuestracomosigue(25℃):
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
3.4.3 Diagramadebloque
Paralograrelobjetivodemonitorearentiemporeallaconductividad,enlafigura3.4.3sepresentael
diagramaabloquespropuestodeacoplamientoentreelsensorSEN0161ylaplacaArduinoUNOR3a
travésdelpinanalógiconúmeroA0conunacomunicación1‐wire.
3.4.4 Esquemadeconexionado.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
3.4.5 Diagramadeflujo
AcontinuaciónsemuestraeldiagramadeflujoparaobtenerlavariabledepH.
SeajustalaplacaArduinoUNOR3paralarecepcióndedatosatravésdelpuertoanalógicoA0,activando
asuvezelsensorSEN0161.Aldetectarlaseñalanalógica,comienzaaregistrarlavariabledepHymanda
dichosdatosobtenidosporsupinanalógicoalaplacaArduinoUNOR3.Sinoesencontradalaseñal,no
seregistran,nitransmitelosdatos.Elprogramaseejecutademaneracíclica.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
3.4.6 EsquemaPlacaSensor.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
3.5 SISTEMADEDETECCIÓNDECONDUCTIVIDAD.
SensordeConductividadDFR0300.
3.5.1 Descripción.
ElsensordeConductividadDFR0300vienesuministradoconunsensordetemperaturadescritoenel
punto 3.9, dicho sensor es necesario para la medida de conductividad porque se requiere una
compensacióndelatemperaturapararealizarcorrectamentelamedidadeconductividad.
SehaseleccionadoestemedidorporqueestáespecialmentediseñadoparaloscontroladoresdeArduino
ytieneunafuncióndecaracterísticassimples.Disponedefácilesconexionesyposeeunsoftwaredefácil
usoparalacalibracióndelsensor.Ademásparafacilitarlaconfiguracióndelsensor,elinterfazGravity
disponedeunsistemaplug&play.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
Listadecomponentes:
UnElectrododeconductividadconconectorBNC.
Tarjetadecircuito.
Cableanalógico.
UnsensordetemperaturamodeloDS18B20(impermeable).
TerminaladaptadorDelsensor.
Cabledigital.
Soluciónestándardeconductividad(1413us/cmand12.88ms/cm).
3.5.2 Principiodemedida.
Enprimerlugar,nosencontramosconelchipU3B.Consisteenelcircuitoescaladoinverso.Lafunciónde
transferenciaesVo=R10/R*Vi.R10esunaresistenciaderetroalimentaciónysuvalores820ohmde
acuerdoconelesquema.Reslaresistenciacuandoelelectrodoseinsertaensoluciónacuosa.Suvalor
está relacionadocon la conductividadde la soluciónacuosa.R10/R se llamaampliación.Cuandose
cambiaelR,tambiénsecambialaampliación,porloqueelVocambiado.EntoncesVoestárelacionado
con R. A la derecha del circuito escalado inverso, hay un circuito de valor absoluto. Su función de
transferenciaesVo= |vi |.Arduinomuestrea la salidadel circuitodevalorabsolutoparacalcular la
conductividad.
Acontinuaciónseanalizaelprincipiodecalibración.
Ladefiniciónderesistenciaes:
:Laresistividad
L:Lalongituddelconductor
A:Laseccióndelconductor
Paraelelectrododeconductividad,Les laseparaciónentredoshojasconductoras,Aeseláreade la
láminaconductora.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
Definicióndeconductividad:
Igualandolasecuacionestenemoselresultado
Donde
1/Reslaconductancia
YaL/AseledenominaconstantedeVesselQ
Lafuncióndetransferenciadelamedidadelcircuitoes
Reslaresistenciadelelectrodoenelmedioacuoso
Enconclusióntenemoslasiguienteformula:
QeslaconstantedeVessel.Esunaconstanteydiferenteparacadaelectrodo.Enelesquema,R10es820Ω.
|Vin|Estambiénunaconstantedependendelcircuitogeneradordeseñal.Suvaloresdeunos200mV.
Asíquepodemosver,laconductividadeslinealconlatensióndesalida.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
3.5.3 Características.
VOLTAJEDEFUNCIONAMIENTO: 5VDC.
TAMAÑODEPCB: 45x32mm
INTERVALODEMEDIDA 1ms/cm‐20ms/cm
RANGODEMEDICIÓN 0‐14
TEMPERATURADEFUNCIONAMIENTO 5‐40℃
PRECISIÓN <±10%F.S(usandoelADCde10bitsArduino)
ELECTRODO electrodoconstanteK=1,conectorBNC
INDICADORDEENCENDIDO LED
LONGITUDDELCABLEDELELECTRODO unos60cm
CONECTORSENSOR ConectorBNC
CONECTORINTERFAZPH2.0 Conectorde3pines
DIMENSIONESDELADAPTADOR: 43mm×32mm
3.5.4 Diagramadebloque
Paralograrelobjetivodemonitorearentiemporeallaconductividad,enlafigura3.6.2sepresentael
diagramaabloquespropuestodeacoplamientoentreelsensorDFR0300ylaplacaArduinoUNOR3a
travésdelpinanalógiconúmeroA1, lamedidadetemperaturaseráenviadaporunacomunicación1‐
wire(comoseexplicamásadelante).
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
3.5.5 Esquemadeconexionado
DFR0300
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
3.5.6 Diagramadeflujo
Enlafigura3.6.5semuestraeldiagramadeflujoparaobtenerlavariabledeconductividad.
Inicialmentedebecalibraseelsensordeconductividad.
Seajusta laplacaArduinoUNOR3para larecepcióndedatosdelsensordetemperaturamedianteel
puerto digital 2 (D2), activando a su vez el sensorDS18B20. Al detectar la señal digital, comienza a
registrarlavariabledetemperaturaymandadichosdatosobtenidosporsupindigitalalaplacaArduino
UNOR3paralaobtencióndelaconductividad.
Porotrolado,seajustalaplacaArduinoUNOR3paralarecepcióndedatosatravésdelpuertoanalógico
A1,activandoasuvezelsensorDFR0300.Aldetectarlaseñalanalógica,comienzaaregistrarlavariable
deconductividadymandadichosdatosobtenidosporsupinanalógicoalaplacaArduinoUNOR3,éste
juntoconlosdatosdelatemperaturacalculalamedidadelaconductividad.
Si las señales no son encontradas, no se registran, ni transmite los datos. El programa se ejecuta de
maneracíclica.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
3.5.7 EsquemaPlacaSensor.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
3.6 SISTEMADEDETECCIÓNDETURBIDEZ.
SensordeTurbidezSKU:SEN0189.
Gravity:AnalogTurbiditySensorparaArduino.
3.6.1 Descripción.
ElsensordeTurbidezSKU:SEN0189
El sensorde turbidezdetecta la calidaddel aguamidiendoelnivelde turbidez.Es capazdedetectar
partículasensuspensiónenelaguamidiendolatransmitanciadelaluzylavelocidaddedispersiónque
cambiaconlacantidaddesólidossuspendidostotales(TSS)enagua.AmedidaqueelTTSaumenta,el
niveldeturbidezlíquidoaumenta.
Estesensortienelosdosmodosdeseñaldesalida,tantoanalógicacomodigital.Sepuedeseleccionarel
modosegúnlaMCU,yaque,elumbralesajustableenelmododeseñaldigital.
Estesensordeturbidezpuedeusarseparamedirlacalidaddelaguaenríosyarroyos,medicionesde
aguasresidualesyefluentes,investigaciónentransportedesedimentosymedicionesdelaboratorio.
Porsufuncionalidadresultaunparámetrodemedidamuysignificativoenladeteccióndevertido,yaque,
suvalorestárelacionadodirectamenteconlacantidaddesólidostotalesensuspensiónenladisolución
acuosa.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
3.6.2 Características.
VOLTAJEDEFUNCIONAMIENTO: 5VDC.
CORRIENTEDEFUNCIONAMIENTO: 40mA(MAX).
TIEMPODERESPUESTA: <500ms.
RESISTENCIADEAISLAMIENTO: 100M(Min).
MÉTODODESALIDA: Analógico.
SALIDAANALÓGICA: 0‐4.5V.
SALIDADIGITAL:Señaldenivelalto/bajo(puedeajustarelvalordeumbralajustandoelpotenciómetro).
TEMPERATURADEFUNCIONAMIENTO: 5℃~90℃.
TEMPERATURADEALMACENAMIENTO: ‐10℃ ~90℃.
PESO: 30g.
DIMENSIONESDELADAPTADOR: 38mm*28mm*10mm/1.5inches*1.1inches*0.4inches.
3.6.3 Diagramadebloque
Paralograrelobjetivodemonitorearentiemporeallaconductividad,enlafigura3.1.6.3sepresentael
diagramaabloquespropuestodeacoplamientoentreelsensorSKU:SEN0189ylaplacaArduinoUNO
R3atravésdelpinanalógiconúmeroA2conunacomunicación1‐wire.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
3.6.4 Esquemadeconexionado
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
3.6.5 Diagramadeflujo
Acontinuaciónsemuestraeldiagramadeflujoparaobtenerlavariabledeturbidez.
SeajustalaplacaArduinoUNOR3paralarecepcióndedatosatravésdelpuertoanalógicoA2,activando
asuvezelsensorSEN0189.Aldetectarlaseñalanalógica,comienzaaregistrarlavariabledeturbidezy
mandadichosdatosobtenidosporsupinanalógicoalaplacaArduinoUNOR3.Sinoesencontradala
señal,noseregistran,nitransmitelosdatos.Elprogramaseejecutademaneracíclica.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
3.6.6 EsquemaPlacaSensor.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
3.7 SISTEMADEDETECCIÓNDETEMPERATURA.
SensordeTemperatura.DS18B20
3.7.1 Descripción.
Elsensordetemperaturaesundispositivoquepermiteconocerelvalordetemperaturapresenteenun
ambiente acuático, a través de la conversiónde los cambios de temperatura a señales eléctrica, esta
informaciónesprocesadapordispositivoselectrónicossegúnlanecesidad,comoeselcasodelArduino
UNOR3.
Esundispositivocreadopor lacompañíaMaximIntegrated,quetiene lacapacidaddecomunicarsea
travésdeseñaldigitalhaciaelelementoelectrónicoquenecesitalaobtencióndelatemperatura.Cuenta
contresterminales:Vcc,GNDyelpinData.
ElsensorutilizalacomunicaciónOneWireparaenvíodedatosatravésdeunsolohilo,adiferenciade
otrosdispositivosqueutilizanprotocolosdecomunicacióndedosvías(Rx/Tx).
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
ElsensorpuedeserconectadoacualquierdispositivomicrocontroladortalcomoArduinodirectamente,
sinembargolacomunicaciónentreestosesatravésdelprotocoloOneWire(1‐wire)diseñadoporDallas
semiconductor,ennuestrocaso,elsensordetemperaturasevaaconectaralaplacadeArduinomediante
unaplacaconversorsuministradajuntoconelmedidordeconductividadqueutilizalatemperatura.
El sensor utilizado es una versión impermeabilizada del sensor de temperatura DS18B20. El sensor
resistehasta125°CyelcableestáencamisadoenPVCporloquesugerimosmantenerlapordebajode
100°C.
Debido a que son digitales, no se recibe ninguna señal de degradación, incluso a través de largas
distancias.
ElDS18B20Proporciona9a12bitslecturasdetemperatura(configurable)atravésdeuninterfaz1‐
Wire, por lo que las necesidades son solo un conductor (y tierra) para ser conectado a un
microprocesadorcentralalatensiónde3.0‐5.5V.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
3.7.2 Características.
VOLTAJEDEFUNCIONAMIENTO: 3.0~5.5V.
PRECISIÓN ±0,5°Cde‐10°Ca+85°C
UTILIZABLERANGODETEMPERATURA ‐55a125°C(‐67°Fa+257°F)
RESOLUCIÓNSELECCIONABLE 9a12bits
UTILIZA1‐WIREINTERFAZ Requieresólounpasadorparalacomunicacióndigital
SENSORESMÚLTIPLES Puedencompartirunaclavija
SISTEMADEALARMA‐LÍMITEDETEMPERATURA
TIEMPODECONSULTA Menosde750ms
CABLES 3cablesdeinterfaz
Cablerojo– VCC
Cableamarillo–GND
Elcableverde‐DATOS
DIÁMETRODELCABLE 4mm(0,16")
INOXIDABLEDEDIÁMETRODETUBODEACERO de6mmpor35mm(1,34")delargo
LONGITUD 90cm(35.43")
3.7.3 Diagramadebloque
Paralograrelobjetivodemonitorearentiemporeallatemperatura,enlafigurasiguientesepresentael
diagramaabloquespropuestodeacoplamientoentreelsensorDS18B20ylaplacaArduinoUNOR3a
travésdelpinDigitalnúmeroD2conunacomunicación1‐wire.
Considerandolasespecificacionesdelfabricantedelsensorsecolocaunaresistenciade4,7Kohmsentre
laentradadeenergíaylasalidadedatosdelsensorconelfindemanteneruncorrectofuncionamiento.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
3.7.4 Esquemadeconexionado
Paraelcorrectofuncionamientodelsensorhayqueponerunaresistenciade4.7KdelpindeDatosyVcc,
Normalmente este sensor viene blindado en un cable largo para aplicaciones donde es necesario
sumergirloenlíquidosuotrassustancias.Estapresentacióndelsensorsolotrae3terminalesocablesde
conexión,ElpindeVcceselcableRojo,GNDeselcableNegroyelCablededatospuedeserdecolor
AmarillooBlanco.
3.7.5 EsquemaPlacaSensor.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
3.7.6 Pluviómetro
El instrumentoutilizadoparamedir laprecipitaciónsedenominapluviómetro.Unpluviómetroesun
aparatoqueestá formadoporunaespeciedevasoen formade embudoprofundoque envía el agua
recogidaaunrecipientegraduadodondesevaacumulandoeltotaldelalluviacaída.
3.7.7 Diagramadebloque
Paralograrelobjetivodemonitorearentiemporeallaprecipitación,enlafigurasiguientesepresentael
diagramaabloquespropuestodeacoplamientoentreelsensorPynsanetylaplacaArduinoUNOR3a
travésdelpinDigitalnúmeroD3conunacomunicación1‐wire.
Peynsan
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
4 CAPITULO3:TECNOLOGÍAARDUINO.
4.1 INTRODUCCIÓN.
Losdossistemasdemayorrelevanciaen laactualidaddemicrocontroladoresdebajocostepodemos
decirquesonlasRaspberryPiylosArduinos.
EntreestosdossistemasconsideroqueelsistemaArduinoessindudaunaperfectaelecciónparanuestro
prototipoporqueestámásorientadoalusodeadquisicióndedatosdeformadigitalyanalógicaqueuna
Raspberry,quetieneunmayorparecidoaloquepuedeserunordenador.
PorotroladoaltenerelArduinounaampliacomunidadyfácilaccesoalaplataformalahacenserlamejor
opciónparaesteproyecto.Estonoquieredecirquenosepuedanhacerproyectosdecalidad,nimucho
menos,solohacefaltadarseunavueltaporlawebparapodercomprobarcomoconestaspequeñasplacas
selogranproyectosdeunaaltacalidad.
OtracaracterísticafundamentalalahoradeadquirirunaplacaArduinoessubajocosteysupuestaen
funcionamiento.Enelmercadoencontramoskitsdeiniciaciónconunagrandocumentaciónquefacilita
alusuarioprincipiante,iniciarsedeunaformafácilenestemundo.Estoesclaveporqueelusuarioobtiene
resultadosprácticamentenadamásconectarlaplaca,loqueprovocaquesesigainvestigandoalavez
quesevanadquiriendograndesconocimientos,porloquelacurvadeaprendizajeesclaramentealalza.
Es idealtambiénpararealizarprototiposenelmundodelIoTlagranmayoríadelasplataformasIoT
traen compatibilidad con estas placas hardware por lo que es un candidatomuy serio a la hora de
aventurarnosenelinternetdelascosas.
Es por ello que se ha elegido para nuestra aplicación, siendo un candidato perfecto para
demostrarmedianteunprototipolosusosyposibilidadesquetienendentrodelInternetdelas
cosas.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
A continuación se describe el diseño del Hardware y el desarrollo del software utilizado para la
monitorizacióndelossensoresdeaguaspluviales,abarcandodesdeelcódigodecontroldelamaqueta
hastaelcódigoempleadoenlaaplicaciónmóvil.Elcapítuloseestructuraentrespuntosprincipales:
DesarrollodelcódigoArduino.Seestudianlosdiferentesbloquesdecódigoquecomponenelsketch
delmicrocontrolador,yseexplicanlasclasesimplementadasparaelcontroldelrecintoylacomunicación
conelequiposervidor.
ConfiguracióndelservidorThingSpeak.SeabordalaconfiguracióndelaplataformaThingSpeakpara
poderadquirirlosdatosdelossensoresdelmicroprocesadorArduino,lacomunicaciónconlosterminales
móviles,ylaconexiónyaccesodelaaplicaciónservidoralabasededatosMySQL.
DesarrollodelaaplicaciónAndroid.Seanalizan lasdiferentesactivitiesqueconformanlaaplicación
móvil,estudiandoloslayoutsquelasintegranysucódigojavafundamentalasociado.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
4.2 ARDUINO:HARDWARE.
4.2.1 ConceptoArduino.
Arduino es unaplataformadehardware libre, sin duda lamáspopular delmercado con una amplia
comunidadquehacedeestasoluciónlamásapropiadaparainiciarseenelmundodelhardwarelibre.
Sebasaenunaplacaconunmicrocontrolador,conentradasysalidasanalógicasydigitales,ademásposee
unentornodedesarrollopropio,conelfindefacilitareldesarrollodeproyectos.
EnlafigurapodemosapreciarunaplacaArduinoUno,seseñalaalgunasdelasprincipalespartesdeesta
placa. El microcontrolador en la placa Arduino se programa mediante el lenguaje de programación
Arduino (basado enWiring) y el entorno de desarrolloArduino (basado en Processing). El software
incluyelibreríasdeaccesoalaplaca.
LaplacadeArduinosecaracterizaporelusodeunmicrocontroladorAtmelAVR,siendoelAtmel328
unode losmásutilizados. Estemodelo es el que se ha utilizadopara el desarrollo del prototipodel
presenteTFM.
ElArduinoadmitelossistemasoperativosmáspopularesquehayenlaactualidad,talescomoWindows,
MacOsXyLinux.Sindudaunagranventajayaquealahoradeelegirunaplacahardware,elsistema
operativonovaaserunalimitación.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
Su funcionamiento básico consiste en recibir información de un entorno a través de sus entradas y
realizarunaacciónpormediodesuspinesdesalida.Porejemplosepuedetenerconectadounsensorde
conductividadaunodesuspinesdeentradaalpasarunaconsignadeterminapuedeactivarunaalarma.
4.2.2 HardwareArduino.
En el aspecto hardware, Arduino consiste en una placa con un microcontrolador y puertos de
entrada/salida. Además, losmódulos y accesorios proporcionan a los usuarios opciones demejora y
expansión de las placas electrónicas básicas para poder actualizarlas y readaptarlas con facilidad a
nuevosobjetivos.Enestasecciónsepresentanlasopcionesdisponiblesqueenlaactualidadsedescriben
enelsitioweboficialdeArduino.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
4.2.2.1 PlacasE/S
ArduinoUNO
LaplacaqueutilizaremosennuestroproyectoeselArduinoUnoR3.Eslaúltimarevisióndelaplaca
básicaArduino. Se conecta al ordenadorporun cableUSBestándar y contiene todo loque sepuede
necesitarparaprogramaryusarlaplaca.Puedenutilizarsemultituddemóduloscomoextensión,que
seránplacashijasconcaracterísticasespeciales.
Las especificaciones han sido descargadas de la página oficial de Arduino, en la siguiente tabla se
muestranacontinuacióndichasespecificaciones.
DESCRIPCIÓN VALOR
Microcontrolador ATmega328
Voltajedefuncionamiento 5V
Voltajedeentradarecomendado 7‐12V
Voltajedeentradalimite 6‐20V
PinesE/Sdigitales 14(6comosalidaPWM)
Pinesdeentradaanalógicos 6
Intensidadporpin 40mA
Intensidadenpin 3.3V50mA
MemoriaFlash 32KB(ATmega328)
SRAM 2KB(ATmega328)
EEPROM 1KB(ATmega328)
VelocidaddeReloj 16MHz
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
4.2.3 PartesdelArduino.
ElArduinounoR3,constandeunpinderecepción(RX)yunodetransmisión(TX)dedatosserialesTTL
(LógicadeTransistoraTransistor),asícomoelsoportealacomunicacióndetipoSPI11ydetipoI2C12.
CuentaconpinesparalacomunicaciónSPIymayorprotecciónensucircuito.
Potencia‐USB(1)/ConectordeAdaptador(2).
CadaplacaArduinonecesitaunaformadeestaralimentadoeléctricamente.Estapuedeseralimentada
desde un cable USB que viene de su ordenador o un cable de corriente eléctrica con su respectivo
adaptador.LaconexiónUSBestambiéncómovaacargarcódigoensuplacaArduino.
NOsedebeutilizarunafuentedealimentaciónsuperiora20voltios,yaquesepuededañarlaplacaArduino.
LatensiónrecomendadaparalamayoríadelosmodelosdeArduinoesdeentre6y12voltios.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
Pines(5V,3.3V,GND,Analog,Digital,PWM,AREF)
LospinesenlaplacaArduinoesdondeseconectanloscablesdeuncircuito.ElArduinotienevariostipos
diferentes de entradas, cada uno de las cuales estámarcado en el tablero y utilizan para diferentes
funciones:
GND(3).
Abreviaturade“tierra”(enIngles).HayvariospinesGNDenelArduino,cualquieradeloscualespueden
serutilizadosparaconectaratierraelcircuito.
5V(4)y3.3V(5).
Sonlossuministrospin5V5voltiosdeenergía,ylossuministrosdepin3.3V3.3voltiosdepotencia.
Analógico(6)
Eláreadepinesenelmarcodel‘analógica’etiqueta(A0aA5)esanalógicas.Estospinespuedenleerla
señaldeun sensor analógico (comoun sensorde temperatura) y convertirlo enunvalordigital que
podemosleer.
Digital(7)
Sonlospinesdigitales(del0al13).Estospinessepuedenutilizartantoparalaentradadigital(como
decir,siseoprimeunbotón)ysalidadigital(comoencenderunLED).
PWM(8).
Ustedpuedehabernotadolatilde(~)alladodealgunosdelospinesdigitales(3,5,6,9,10y11).Estos
pinesactúancomopinesdigitalesnormales,perotambiénsepuedenusarparaalgollamadoModulación
poranchodepulsos(PWM,porsussiglasenIngles).
AREF(9).
Soportesdereferenciaanalógica.Lamayoríadelasvecessepuededejarestepinsolo.Avecesseutiliza
paraestablecerunatensióndereferenciaexterna(entre0y5voltios)comoellímitesuperiorparalos
pinesdeentradaanalógica.
Botóndereinicio(10)
Empujandoestebotónseconectarátemporalmenteelpinderesetatierrayreiniciecualquiercódigoque
secargaenelArduino.Estopuedesermuyútilsielcódigonoserepite,peroquiereprobarlovariasveces.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
IndicadorLEDdealimentación(11)
EsteLEDdebeencendersecadavezqueconectelaplacaArduinoaunatomaeléctrica.Siestaluznose
enciende,hayunabuenaprobabilidaddequealgoandamal.
LedsRXTX(12)
TXeslaabreviaturadetransmisión,RXeslaabreviaturaderecibir.Estasmarcasaparecenunpocoenla
electrónicaparaindicarlospasadoresresponsablesdelacomunicaciónenserie.Ennuestrocaso,hay
doslugaresenlaArduinoUNOdondeaparecenTXyRX‐unavezporpinesdigitales0y1,yporsegunda
vez junto a los indicadores LEDde TX yRX (12). Estos Leds nos darán algunas buenas indicaciones
visuales siempre nuestro Arduino está recibiendo o transmitiendo datos (como cuando nos estamos
cargandounnuevoprogramaeneltablero).
Microcontrolador(13)
Lonegrocontodaslaspatasdemetalesuncircuitointegrado(IC,porsussiglasenIngles).Pienseenello
comoelcerebrodenuestroArduino.LaprincipalICenelArduinoesligeramentediferentedeltipode
placaaplacatipo,peroesporlogeneraldelalíneadeATmegadeCIdelaempresaATMEL.Estopuede
serimportante,yaquepuedenecesitarparasabereltipodeIC(juntoconsutipodetarjeta)antesde
cargarunnuevoprogramadesde el softwaredeArduino.Esta información sepuedeencontrar en la
escrituraenlapartesuperiordelaIC.Siquieressabermásacercadeladiferenciaentrediversoscircuitos
integrados,lalecturadelashojasdedatossueleserunabuenaidea.
ReguladordeVoltaje(14)
Estonoesrealmentealgoquesepuede(odebe)interactuarconelArduino.Peroespotencialmenteútil
para saberqueestá ahí yparaqué sirve.El reguladordevoltajehaceexactamente loquedice ‐ que
controla la cantidadde tensión que se deja en la placaArduino. Piense en ello comouna especie de
guardián;sedarálaespaldaaunatensiónadicionalquepodríadañarelcircuito.Porsupuesto,tienesus
límites,porloquenoconectatuArduinoanadasuperiora20voltios.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
4.2.3.1 Módulos.
ArduinoGPRS/GSMShield
Conecta la placa Arduino a Internet utilizando la red inalámbrica GPRS. Sólo hay que conectar este
móduloalaplacaArduino,conectarunatarjetaSIMdeunoperadorqueofrezcacoberturaGPRSyseguir
unas sencillas instrucciones para empezar a controlarlo a través de internet. También puede
realizar/recibirllamadasdevoz(senecesitauncircuitodealtavozymicrófonoexterno)yenviar/recibir
mensajesSMS.
EnlafigurapodemosapreciarelmodelodelGPRS/GSMSIM900queutilizaremosparanuestroproyecto.
Estemódulonospermitiráenviaryrecibirmensajesconciertasinstruccionesparanuestroprototipode
alarma basada en Arduino. Estos escudos interactúan con la placa de Arduino permitiendo de esta
maneramanejarlasmismassalidasyentradasquetienelaplacaArduino.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
4.3 ARDUINO:SOFTWARE.
4.3.1 Códigoabierto.
AlprofundizarenelmundoArduinopodemosafirmarqueesta tecnologíaengloba tresherramientas
específicas.
1‐ Laprimera es el controladordeArduinoqueexiste en varios tamañosdesdepequeñoshasta
grandes. Cuenta con su esquema de libre acceso. Cualquier persona con los conocimientos
necesariospodríaensamblarestecontrolador.
2‐ Ensegundolugartenemosellenguajeyelcompiladorquecreacódigoparaelcontroladorque
simplifica muchas de las tareas que se presentan como un desafío para los diseñadores y
programadorescuandotrabajanconunhardwareeinteracciónfísica.
3‐ Yporúltimotenemoselentornodeprogramación(IDE),esdecódigoabiertodesarrolladoen
Java.
4.3.2 Multiplataforma.
Arduinoutiliza libreríasdecódigoabierto,escritasenCyC++ycompiladasparadiferentessistemas
operativos. Además el entorno de desarrollo está escrito en Java lo que permite tener un software
multiplataforma.
ElIDEdeArduinopuedeserinstaladoenlossistemasoperativosWindows,enMACyLinux
4.3.3 Entorno
Para instalar Arduino descargamos el instalador de la página web oficial de Arduino
https://www.arduino.cc/en/Main/Software#.
Senosdescargaraelarchivoejecutablearduino‐1.0.6‐windows.exe.Comoprerequisitodebemostener
instaladoelJDKdeJavaennuestraordenador,laspantallasdeinstalaciónsonsencillascomopodremos
apreciar en siguientes figuras, finalmente en la última figura semuestra el entornodedesarrollo de
Arduino.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
ProcesodeinstalacióndeIDEparaArduino ProcesodeinstalacióndeIDEparaArduino
ProcesodeinstalacióndeIDEparaArduino ProcesodeinstalacióndeIDEparaArduino
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
ProcesodeinstalacióndeIDEparaArduino ProcesodeinstalacióndeIDEparaArduino
IDEdeArduinoejecutado
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
4.4 DESARROLLODELCÓDIGOARDUINO.
Parafuncionar, lasplacasArduinonecesitanquesecarguenlossketchesensusmicrocontroladores,y
paraelloesnecesarioelusodelsoftwaredeArduino,queseencuentradisponibledeformagratuitaen
supáginaweboficial.Si laplacanecesitaunaconexiónUSBconelordenador,sedeberáninstalar los
driversUSBparaelchipFTDIdelaplaca,quetambiénpuedenencontrarseenlapáginadeArduino.
UnprogramadiseñadoparaejecutarsesobreunaplacaArduino(un“sketch”)siempresecompone,al
menos,detressecciones:
1) Laseccióndedeclaracionesdevariablesglobales:ubicadadirectamentealprincipiodelsketch.
2) Lasecciónllamada“voidsetup()”:delimitadaporllavesdeaperturaycierre.
3) Lasecciónllamada“voidloop()”:delimitadaporllavesdeaperturaycierre.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
4.4.1 Estructura.
4.4.1.1 Librerías.
Insercióndeficherosexternosquecontenganfuncionesquevayanautilizarseenelcódigoprincipal.
Porejemplo,paraleerelsensorDS18B20conunArduinoesnecesarioutilizardoslibreríasquedeben
serinstaladasantesdecargarelcódigoanuestraplacadedesarrollo.Laslibreríassonlassiguientes:
• DallasTemperatura.
• OneWire
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
4.4.1.2 #define.
Permite establecer variables constantes de forma que, al compilar el fichero el microprocesador, se
sustituyanlasreferenciasalavariable#defineporelvalorquetenganasociado.
4.4.1.3 Variablesglobales.
Encierravariablesdeámbitoglobal,esdecir,variablesquetienenvisibilidaddesdecualquierpartedel
programa.Son,porlogeneral,variablesquehacenreferenciaaestadosdelsistemaosituacionesque
afectanalfuncionamientogeneraldelprograma.
4.4.1.4 Definicióndeclases.
Estebloqueencierralasimplementacionesdelasclasesquevanausarseenelcódigo.Trassudeclaración,
sepuedencrearinstanciasdeestas(objetos)enelprogramaprincipalparasuutilización,inclusopueden
crearseinstanciasdentrodeotrasclases,aumentandolasposibilidadesyopcionesdeestas.
4.4.1.5 Creacióndeobjetos.
Enestaseccióndelcódigosecreanlasinstanciasdelasclases,yportantosedefinenlosobjetosglobales
queseutilizaránenelprograma.
4.4.1.6 DeclaraciónSetup().
Seejecutaunasolavezalconectaroresetearlaplaca.
4.4.1.7 Declaracionloop().
Contienetodoloquesenecesitahacerenrepetidasocasionesdentrodelaaplicación,comoporejemplo
chequearunnuevovalordesdeuncontrol,enviarinformaciónalacomputadora,enviarunaseñalaun
pin.
Portanto,lasinstruccionesescritasenlasección“voidsetup()”normalmentesirvenpararealizarciertas
preconfiguracionesinicialesylasinstruccionesdelinteriorde“voidloop()”son,dehecho,elprograma
ensíqueestáfuncionandocontinuamente.
Ademásdeestas funcionesbásicas,puedenimplementarsenuevasfunciones,de formaquesepuede
encapsulartareasespecíficasquesenecesitenutilizardeformaperiódicaenlafunciónloop()
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
Estasfuncionessepuedencreardirectamenteenelficheroprincipal,opuedenutilizarse libreríasya
implementadas,lascualesofrecenfuncionesyaprogramadasdestinadasatareasconcretas(p.ejlectura
desensores,conversióndevariables…).
4.4.1.8 Definicióndeinterrupciones.
Enlapartefinaldelcódigosedefinenlasfuncionesdetratamientodeinterrupciones.Inmediatamente
despuésdedetectarunainterrupciónenelpinconfigurado,seinvocalafunciónasociadaalnúmerode
lainterrupción11yunavezqueseejecutasucontenido,elprogramaretornaalpuntoenelqueselanzó
lainterrupción.
4.4.1.9 Constantes.
Arduinotienelassiguientesconstantesquepuedenserutilizadasencualquierpartedelcódigodeuna
aplicación:
HIGH/LOW.‐Estasdefinenelniveldevoltajeenunpindigital,pudiendoser5Vo0V.
INPUT/OUTPUT.‐Estassonconstantesquesonusadasparadefinirunpin,entradaosalida.
4.4.1.10 Métodos
pinMode(número_de_pin,mode).
Los pines digitales del controlador Arduino pueden ser definidos como entrada (INPUT) o salida
(OUTPUT). Debemos establecer si será de entrada o de salida en el setup (). Generalmente solo lo
hacemosunavezenlaaplicación.Porejemplo:pinMode(11,OUTPUT)enesteejemploelpin11está
puestocomosalida,todoestodebemosdeclararlodentrodesetup().
digitalWrite(valor,pin).
EstemétodocolocaunpindigitalenHIGHoenLOWdependiendodelusoqueledaremos.Parapoderser
colocadosestosvaloresprimerodebenhabersidodefinidosenelmétodopinMode().Porejemplo:.void
setup().{pinMode(2,OUTPUT);digitalWrite(2,LOW);}.
intdigitalRead(numero_de_pin)
EsteesunmétodoqueleeelestadodeunpinqueestáenmodoINPUT.Retornaelvalordelpincomoun
integer(valorentero).
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
analogRead(numero_de_pin)
Estemétodoleeelvalordeunpinanalógico.Unpinanalógicopuedetenerunvalordesde0a1023que
representaelvoltajedelpin.Elvalorretornadoseráuninteger.Porejemplopodemosdeclararuninty
recibirloquedevuelvaelmétodo.intpin_11=analogRead(11);
4.4.2 Sintaxis
LapáginaoficialdeArduinonosdacomoreferenciadesusintaxisunoscuatroejemplos.
;(puntoycoma).‐Utilizadoparaterminarunadeclaración.
{}(llaves).‐Unallavedeapertura“{”siempredebeirseguidadeunallavedecierre“}”.Esta
esunacondiciónalaquesesuelereferircomollavesemparejadas.ElIDE(EntornoIntegrado
de Desarrollo) Arduino incluye una característica para comprobar si las llaves están
emparejadas. Sólo tienes que seleccionar una Llave o incluso hacer click en el punto de
inserciónquesigueinmediatamenteaunallave,ysucompañeralógicaseráseleccionada.En
la actualidad esta característica tiene un pequeño fallo, el IDE encuentra a menudo
(incorrectamente),llaveseneltextoquepuedenestarsituadasdentrodecomentarios.
//(comentariosenuna línea).‐Loscomentariosson líneasenelprogramaparaaclarar
sobreelfuncionamientodelprograma.Estaslíneassonignoradasporelcompiladorynose
exportanalprocesador.
/**/(comentariosenmúltipleslíneas).‐Loscomentariossonlíneasenelprogramapara
aclaraciones sobre el funcionamiento del programa. Estas líneas son ignoradas por el
compilador y no se exportan al procesador. Para resumir a continuación la tabla 4.1 nos
muestra operadores aritméticos, operadores comparativos, tipos de datos con los que se
puedetrabajarenelIDEdeArduino.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
4.4.2.1 SintaxisdelenguajedeprogramacióndeArduino.
TiposdedatosOperadores
Aritméticos
Operadores
comparativos
boolean(booleano) =(asignación) ==(iguala)
char(carácter) +(suma) !=(distintode)
byte ‐ (resta) <(menorque)
int(entero) *(multiplicación) >(mayorque)
unsignedint(enterosinsigno) /(división) <=(menoroigualque)
long(entero32b) %(resto) >=(mayoroigualque)
unsignedlong(entero32bsinsigno)
float(encomaflotante)
double(encomaflotantede32b)
string(cadenadecaracteres)
array(cadena)
void(vacío)
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
4.5 COMUNICACIONES:PROTOCOLOGRPS.
Comomedioparaelenvíoyrecepcióndedatosa laplataformaThingSpeakutilizaremoselprotocolo
GRPS.
ElProtocoloGPRSsignificaGeneralPacketRadioServiceoenespañolServicioGeneraldePaquetespor
Radio.Orientadoalatransmisióndedatos.Losproveedoresdeesteserviciocobranporlacantidadde
datosenviadosorecibidosmásnoporunenlacepermanente.Dichoenotraspalabrasunusuarioutiliza
uncanalsolocuandovaatransmitirdatos.LuegodelarápidaexpansióndelasredesGSMqueutilizanla
Conmutaciónde circuitosparael serviciode llamadasdevoz, losusuariosnecesitaronserviciosmás
avanzadoscomolatransmisióndedatos.
4.5.1 RedGPRS
ElsistemaGPRSnacióparadarlealusuariolaoportunidaddepodertransmitirdatos.
GPRScomparteelmismorangodefrecuenciasqueGSM.Repasaremosloscomponentesprincipalesde
unaredGSM:
o MS(MobileStation).‐Equipofísicousadoporelusuario.
o SIM(SubscriberIdentityModule).‐Eselchipidentificadordelabonado.Contieneinformación
referentesoloalusuario.
o BTS(BaseTransceiverStation).‐Establecevíaradioconectividadentrelasestacionesmóviles
ylaredGSM.
o BSC(BaseStationController).‐Actúacomounconcentradordevariasestacionesbase(BTS).
o BSS(BaseStationSubsystem).‐EstáconstituidoporlaBTSylaBSC.
o MSC (Mobile Switching Center).‐ Centro de Conmutación de servicios móviles. Control de
llamadasyencargadodelaasignacióndecanalesdeusuarioentreelMSCyelBSC.
o GMSC(GatewayMSC).‐EsatravésdelcualseconectalaredGSMconlasredesfijas.
o HLR(HomeLocationRegister).‐basededatosquecontienelosdatosdelosclientesparasu
gestión.Contieneinformacióncomo:servicioscontratados,limitacionesdeservicioylocalización
delusuario.
o VLR (Visitor Location Register).‐ Contiene datos dinámicos que permiten saber la última
ubicacióndelusuario.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
La red GPRS agrega algunos componentes a la red GSM tales como el SGSN (responsable de la
transferenciadepaquetes)yelGGSN(conviertelospaquetesalformatoIP).Lainclusióndeestosnuevos
componentespermitelaconmutacióndepaquetesylautilizacióndeprotocoloscomoIP.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
5 CAPITULO4:PLATAFORMAGRATUITAPARAELREGISTRODELOSVALORESDESENSORES.
5.1 INTRODUCCIÓN.
La necesidad de tener registrados los datos y sus acceso online desde cualquier equipo que tenga
conexión a internet lleva a plantear la busca de una plataforma gratuita que nos permita tener los
parámetrosregistradosymonitorizados.
Dentrodelabúsquedadelasplataformasactualesexisteenlaactualidadnuevarevolucióntecnológica,
dóndeobjetoscotidianosdeldíaadíaconunafunciónespecífica,evolucionangraciasalIoT,pasandoa
estarconectadosydotardenuevasfuncionalidadesaestosobjetos,pudiéndoloscontrolaryadministrar
desdetabletas,ordenadoresoteléfonosmóviles.
LaplataformaIoT(InternetofThings)“esunconceptoqueabarcaunconjuntodetecnologíasquebuscan
permitirlainterconexióneinteroperabilidaddeobjetosheterogéneosyubicuosatravésdediferentes
redes.”
Con la plataforma IoT cobran tambiénmucha importancia los Smart Objects: objetos físicos con un
sistemaembebidoquelepermiteprocesarinformaciónycomunicarseconotrosdispositivosyrealizar
acciones en base a una acción o evento determinado. Estos pueden ser los Smartphones, unmicro‐
controladorcomoesArduinoocualquierotroobjetoquetengaconectividadalared(Lee&Kim,2012)
yseacapaz,comomínimo,degestionarinformación(Meyer,Främling,&Holmström,2009).Pues,en
combinaciónconInternetofThings,seconsiguequelaredpasedesolotransportardatos,adotarlade
inteligencia y acciones según los datos que recogen estos objetos y los servicios que estos permiten
realizar.
ConelusodelaplataformaIoTsepretendecomoobjetivofinaltenerobjetosquenosdeninformación
desde cualquier lugar del mundo. Con esto se puede ofrecer la interconexión de estos objetos
heterogéneosatravésdeunareddecomunicación,comopuedeserInternet(Lee&Kim,2012).Estos
objetos pueden ser sensores dispersos por el terreno, una red de sensores, un micro‐controlador
Arduino,unSmartphone,yaqueInternetofThingseslainterconexióndeobjetosheterogéneosatravés
deInternet.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
Comoejemplodelusodeestatecnologíaestáelpresentetrabajofindemaster,conectandosensorespara
elmonitoreoambiental.
ObjetivodelusodeplataformasIoTenelproyectoesdesarrollarunaaplicaciónparavisualizaryregistrar
los parámetros medidos en los tanques de aguas pluviales, a través de un microcontrolador
conectándonos a una plataforma software. Otro de los puntos interesantes que semostraran con la
aplicación,seráeltratamientodelosdatosIoT.
Estepodríasercrucialparalaprevenciónocontroldeciertotipodecircunstanciasenlasquepodrían
jugarunpapelcrucial(Broring,Maue,Malewski,&Janowicz,2012).Porejemplo,conociendoencada
momento los valores de aquellos parámetros relevantes, se podría evitar que un agua pluvial
contaminadaporelentornoindustrialsevertieseaunaríacatalogadaprotegidaenlaREDNATURA2000,
analizandolacalidaddelaguaybombeandolamismahastaunaPTAparaevitarproblemasmayores
Noobstante,todosestossistemassonmuycomplejos.Elprincipalproblemaalahoradeinterconectar
losSmartObjectsparacrearunaredinteligenteeseltratodelosdiferentesvaloresytiposdemensajes
queenvíacadadispositivo.Estoesdebidotantoaldiferentehardwareutilizadoporcadaunocomoal
softwarequeutiliza.Estosedebea lasnormasensucreaciónporpartede losdiferentes fabricantes
(Gama,Touseau,&Donsez,2012).
Para solventar el problema la heterogeneidad de los objetos que dificulta la comunicación entre los
mismos,quepresentaelusodelatecnologíaInternetofThingsylosSmartObjectsparaserutilizados
comounaredinteligentequecontrolecasicualquiercosa.Seutilizaunadelassolucionesactualmente
máspopulares,paraconectarobjetoseslarealizacióndeunainterfazencomún.Seráunaaplicaciónque
residaenambosyconsulteunservidor.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
5.2 TECNOLOGÍAIOT.
Elinternetdelascosassebasaensensores,enredesdecomunicacionesyenunainteligenciaquemaneja
todoelprocesoylosdatosquesegeneran.Lossensoressonlossentidosdelsistemay,paraquepuedan
ser empleadosde formamasiva, deben tener bajo consumo y coste, un reducido tamaño y una gran
flexibilidadparasuusoentodotipodecircunstancias
Enlaactualidad,sehadetectadoquecadavezmásSmartObjectspuedenconectarseaInternet.Estos
puedeninteractuarentreellos,enviarsedatosyrealizardeterminadasaccionessegúnciertainformación.
Objetosheterogéneosinteractuandoentreellos:estoesInternetofThings.
Por tanto, podemosdecir que el Internet de las Cosas (IoT) consiste en la integraciónde sensores y
dispositivos en objetos cotidianos que quedan conectados a Internet a través de redes fijas en
inalámbricas.Dadosutamañoycoste, lossensoressonfácilmenteintegrablesencualquieraplicación
que se nos ocurra diseñar, de estamanera, cualquier objeto es susceptible de ser conectado y estar
presenteenlaRed.
ElconceptodeInternetdelascosas fuepropuestoporKevinAshtonenelAuto‐IDCenterdelMITen
1999,dondeserealizabaninvestigacionesenelcampodelaidentificaciónporradiofrecuenciaenred
(RFID) y tecnologías de sensores. Surgió en base a la necesidad de las cadenas de suministro y la
identificacióndeobjetos,personasyanimalesmedianteelusodeetiquetas inteligentesRFID.Estose
debeaqueconelusodeRFIDsepuedeotorgarunidentificarúnicoaunobjeto.Deestamanera,sepuede
conseguirlocalizaraunobjetoconcretoparadeterminadastareas.
Noobstante,paralaexistenciadeInternetofThings,senecesitantrespasos:
Inteligenciaintegrada.
Conectividad.
Interacción.
Porello,labasedeInternetofThingssonlossensoresylastarjetasRFID.
Lossensoressirvenparalarecogidacasidecualquiertipodeinformación,cambioodato.Estepuedeser
tratadoporunSmartObject,comopuedeserunSmartphoneoenviadoaunservidor.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
Las etiquetas inteligentes RFID se puede identificar diferentes objetos, para que, por medio de
radiofrecuencia,seleanlaspropiedadesdeesteelemento,eincluso,seahagaunseguimientodeél.Si
combinamos ambos, se puede hacer que un objeto concreto realice una acción en base a un evento
captadoporunsensordeterminado.
Porellosenecesitadeunainfraestructurainteligentequeseacapazdeconectarlosdiferentesobjetosy
lesdotedelainteligencianecesariaparainteractuarentreellos,incluso,enalgunoscasos,indicándoles
ladecisiónquedebentomar(Tan,2010).Estoúltimo,enelsupuestodequelosSmartObjectsnotengan
inteligenciapropiaonecesitenenunmomentodadounadecisiónexterna.
Enlassiguientestresfiguras,podemosresumirelIoT:
1‐ Sensoresyactuadores:estamosdandoanuestromundounsistemanerviosodigital.Ubicación
dedatosutilizandosensoresGPS,losojosylasorejasconcámarasymicrófonos,juntoconlos
órganossensorialesquepuedenmedirtodo,desdelatemperaturaacambiosdepresión.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
2‐ Digitalización:estasentradassedigitalizanysecolocanenlasredes
3‐ Personas&Procesos:estasentradasenlaredsepuedencombinarensistemasbidireccionales
queintegrandatos,personas,procesosysistemasparalamejoraenlatomadedecisiones.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
5.2.1.1 SmartObjects.
ComoexplicannumerososautoresunSmartObject,tambiénconocidocomoIntelligentProduct,esun
elementofísico,condiversaspropiedades,identificablealolargodesuvidaútil,queinteractúaconel
entornoyotrosobjetosyquepuedeactuardemanerainteligentesegúnunasdeterminadassituaciones,
mediante una conducta autónoma. Ejemplos de Smart Objects cotidianos son los Smartphones, las
Tablets,SmartTVseinclusoalgunoscoches.
LosSmartObjects,loclasificanenbaseatresdimensiones.Cadadimensiónsecorrespondeauntipode
inteligente.Deestamanera,pormediode las tresdimensionesdeunobjeto, sepuededeterminar la
inteligenciaytipodeSmartObjectqueesycompararloconotros.Lasdimensionessonlassiguientes:
1‐ Laprimeraeselniveldeinteligencia.Enestasedescribelacapacidaddeinteligenciadelobjeto.
Constadetrescategorías:Lagestióndelainformación:capacidadparamanejarlainformación
querecogeatravésdesensores,lectoresuotrastécnicas;Lanotificacióndelproblema,queesla
posibilidad de que sea capaz de notificar a su propietario cuando ocurre un determinado
problema o evento en el propio Smart Object, como puede ser la detección de bajada de
temperatura;Porúltimo,latomadedecisiones,queescuando,ademásdetodoloanterior,posee
lacapacidadpropiasobrelatomadedecisionessinintervencióndeuncontrolexterno.
2‐ La segunda dimensión es la localización de la inteligencia. Esta consta de dos categorías. La
primeraeslainteligenciaatravésdelared.Consisteenquelainteligenciadelobjetodepende
totalmente de un agente externo al propio objeto. Este agente puede ser una red a la que se
encuentraconectado.Laotracategoríaeslainteligenciaenelobjeto.Losobjetosquepertenecen
aestacomputantodoporsímismo,esdecir,todalainteligenciaesllevadaenellos.
3‐ Laúltimadimensióneslaagregacióndelniveldeinteligenciaysecomponededoscategorías:
inteligencia en el elemento e inteligencia en el contenedor. A la primerapertenecen aquellos
objetosquesolopuedenmanejarinformación,notificacionesy/odecisionesysicontienenotros
componentes, estos no pueden ser distinguidos como objetos individuales. Por ejemplo, un
sensor. Mientras, la inteligencia del contenedor, además de poder manejar información,
notificacionesy/odecisiones,escapazdeseguirfuncionandocomoelementouobjetoapesarde
queseledesensamblealgunapartedeél.AestegrupoperteneceríaunaplacaArduinoconcomo
mínimotressensores.Siaestaselequitaunsensor,puedeseguirfuncionandocomocontenedor.
De estamanera, se puede clasificar a un SmartObject en sus tres dimensiones. En este proyecto, se
conectarán sensores con un nivel de inteligencia de gestión de la información y de notificación del
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
problema,conlalocalizacióndelainteligenciaatravésdelaredydeambosnivelesdeagregacióndel
niveldeinteligencia.
Actualmente existen varias plataformas para interconectar dispositivos. Entre ellas se encuentran
algunas orientadas al mundo empresarial, como es el proveedor de servicios Xively. Otras están
orientadasalainvestigación,comosonParaimpuyQuadraSpace.SobreParaimpusepuedeencontrar
variaspublicacionesendiferentessitios.EstastratanlosproblemasprincipalesdeIoT.Porúltimo,están
lasredesabiertasalosusuariosperoqueestánenestadobetaylimitanelaccesoalosusuariosmediante
invitaciónoaprobacióndelacuenta.EjemplosdeestosonThingSpeak,SensorpediaoSenseWeb.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
5.3 PLATAFORMASSOFTWARE:THINGSPEAK.
ParaelpresentetrabajosehautilizadolaredabiertaThingSpeak.Losmotivosporlosquesehaelegido
estáplataformason:
o PorserunaplataformaOpenSource.
o Porsufácilconfiguración.AltenerunaAPIdocumentadaayudanotablementealmanejodela
mismayasurápidaconfiguración.
o Disponerdeunaintegraciónsencillaconaplicacionesdeterceros.
o Otromotivo fundamental es su compatibilidad con Arduino y el disponer de documentación
referenteaestatipodehardware.
o Yporúltimo,queelconjuntoArduino‐ThingSpeakseconvierteenunsistemadeBajoCoste.
5.3.1 ThingSpeak
ThingSpeakesunaplataformaabiertadeaplicaciones,diseñadaparapermitirconectarpersonascon
objetos.SecaracterizaporserunaplataformaOpenSourceconunaAPIparaalmacenaryrecuperardatos
delosobjetosusandoelprotocoloHTTPsobreInternetovíaLAN(LocalAreaNetwork).
SetratadeunaplataformabasadaenRubyonRails3.0(RoR),esteesunframeworkdeaplicacionesweb
decódigoabiertobasadoenRuby,cuyaarquitecturaestábasadaenelModeloVistaControlador(MVC).
Secaracterizaporsusimplicidadalahoradeprogramaraplicacionesdelmundoreal,escribiendomenos
códigoyconunaconfiguraciónmuchomássencillaqueotrosframeworks.Otradelascaracterísticasque
hacendeRoRunframeworkperfectoparaeldesarrollodeaplicacionesesquepermiteelusodemeta
programación,haciendoquesusintaxisseamáslegibleyllegueaungrannúmerodeusuarios.
Laaplicaciónincluyetodolonecesarioparapoderempezaratrabajar,desdeunaaplicaciónwebenla
quepodremosgestionarusuarios,gestionarclavesdeAPI,gestióndecanalesycartografía.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
LaplataformaThingSpeakalmacenalosdatosen“CanalesThingSpeak”.Loscanalesserepresentancomo
unainterfazwebdondesepublicanlosdatosalmacenados.Puedenserconfiguradosparaserpúblicos
para que otras personas puedan verlos o privados, sólo se puede acceder mediante el registro en
ThingSpeak.comconcuentadeusuario.
Lasaplicacionesclienteestánintegradasenlosdispositivosfísicosquepuedenleeryescribirauncanal
ThingSpeakmediantepeticionesHTTPalaAPIdeThingSpeak.Cadaentradaofeedesetiquetadaconuna
IDdeentradaúnicaysealmacenanconunafechayuntimestamp.
Escribirenuncanalrequiereunaclavedeescrituraparaasegurarquesólolasaplicacionesautorizadas
pueden acceder a sus datos. Los datos numéricos pueden ser procesados como escala de tiempo,
promedio,mediana,suman,yelredondeo.LoscanalessoportanlosformatosJSON,XML,CSV.Parapoder
interactuarenbasealobjetodeseado,hayquebajarlosdatosenunodeestostresformatosyprocesarlo
para así obtener losdatosnecesarios.Por el contrario,para enviardatoshayque crearunapetición
medianteprotocoloHTTP,métodoPOSTysiguiendolaarquitecturaREST.
5.3.1.1 Hardwarecompatible.
Arduino,Raspberrypi,ElectricImp,Freetonics,NetduinoyXbeewírelessnetworks
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
5.3.1.2 Característicasprincipales.
Destacaremos algunos puntos importantes en toda plataforma tales como su API, App (si las tiene),
integración,hardware.
CHARTAPI
UnpuntoimportantealahoradedesarrollarcualquierproyectoesencontrarunAPIdisponibledeforma
sencillaparaqueeldesarrolladortengalosmecanismosnecesariosparaeldesarrollodelaaplicación.
Enestecaso,ThingSpeakdisponedeunaAPIlacualestádisponibleenGitHubparasudescargaenun
servidorpropio.Estotalmenteabierta,porloquetambiénsepuedemodificarsucódigofuenteoriginal
yasícontribuiralacomunidadconnuevascaracterísticas,unprincipiobásicoentodaplataformaOpen
Source.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
CHANNELS.
La forma que tiene esta plataforma de almacenar y publicar los datos es a través de los “Chanels”
(Canales).Sucreaciónesmuysimpleyenunpardeclicksyrellenandounaseriededatoslotendremos
disponible sinmayor complicación. Nuevamente y según profundizas en este plataforma ves que el
objetivoessimplificareltrabajo.
SeutilizaparamostrarlosdatosalmacenadosenloscanalesThingSpeakengráficos.Estosgráficosse
denominan“charts”ypuedenpresentardatosnuméricosypuedeserembebidoensitioswebexternos.
Losgráficospuedenserestáticosodinámicos.Losgráficosdinámicosvisualizanlavariacióndedatosen
tiemporeal.
APP:Plugins.
Paraextenderlafuncionalidaddelsitiotambiénsenosbrindalaoportunidaddedesarrollarplugins.
EstosnosofrecenlaposibilidaddecrearaplicacionesdeformanativaennuestraplataformaThingSpeak.
SoportaHTML,CSSy JavaScriptcomolenguajesdeprogramación.Al igualque loscanales losplugins
puedenserpúblicooprivadossegúnseannuestrasnecesidades.
Porúltimo,destacarqueofrece laposibilidaddeusarGoogleGaugeVisualización,graciasalcualnos
ofrece la posibilidad de visualizar los datos de una forma rápida y amigable, con un nivel de
personalizaciónmuyamplio.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
SindudalasaplicacionesqueencontramosenThingSpeaksonuncomplementoperfectoparanuestros
proyectos,dotándolosenmuchoscasosdeunasfuncionalidadesmuyinteresantes,actualmentetienen
lassiguientesaplicacionesencatálogo.
ThingTweet.
Estaaplicaciónactúacomoproxypermitiendoanuestrodispositivoenviaractualizacionesdestatusa
Twitter.EstoseconsiguegraciasaunallamadaalaAPIdeThingTweet.
Twitterdaasususuarios laopcióndeactualizarsucuentaa travésdeunaautenticaciónabierta.Sin
embargo,estaopciónnoestádiseñadaparadispositivosconcapacidadesdeprocesamiento limitadas
dichascomoArduinooNetduino.ThingSpeaklaAPIresuelveelproblemaconThingTweetAPP.Ejecuta
unTwitterproxyqueenvíaactualizacionesdeestadoaTwitteratravésdelasllamadasThingSpeakAPI.
TweetControl.
EstaaplicaciónseponeaescucharloshashtagsdeTwitteryluegopermitecontrolarcualquiercosaque
puedas imaginar. Cualquier cosa que se pueda conectar a través de ThingHTTP también se puede
conectaraTwitter.
Permitemonitorizarflujosentiemporeal.Hacerestorequiereunservidordedicadoconprocesodelarga
duración que esté preguntando constantemente a Twitter para las actualizaciones de estado.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
ThingControlApphace la tareamencionada.A continuación, el desarrollador puede concentrarse en
determinarelstreamy“hasttag”específicoypoderrealizarunaaccióndecontroltalcomoelenvíode
unasolicitudThingHTTPaterceraspartes.
ThingHTTP.
ThingHTTPpermiteaunmicrocontroladoodispositivoabajonivelconectarseconacualquierservicio
webcomoProwlyTwiliousandoHTTPa travésdeuna redode Internet.Esta aplicaciónelimina la
necesidaddequelosdispositivosimplementenelprotocoloparatratarconcadaservicioweb.Además,
es posible incorporar un “Parse String” dentro de la petición HTTP a ese servicio, para evitar la
codificacióndeunanalizadorsintácticoenlosdispositivosrestringidos.
React.
Básicamenteloquerealizaestaapp,esejecutarunaaccióncuandosecumpleunaciertacondiciónpara
losdatosennuestrocanal.Porejemplo,podríamosencendernuestracafeterasegúnllegamosacasadel
trabajo,creandounReactdeGeolocalización.
LaplataformaThingSpeakprocesastreamsdedatosypermitelaposibilidaddeestableceraccionesde
triggercuandosecumplaunacondiciónconrespectoaesosdatosenuncanalThingSpeak.Lostiposde
condicióndependendelosdatosespecíficosamonitorizar;datosdelossensores,textos,etc.Cuandose
cumple una condición React puede desencadenar una solicitud ThingHTTP a una tercera entidad o
publicarunTweetconThingTweetApp.
TalkBack.
Permite que cualquier dispositivo pueda actuar sobre los comandos en cola. Por ejemplo, podremos
controlarunaBOMBAañadiendocomandostalescomoARRANCARBOMBAYPARARBOMBAusando
webinterfaceoAPI.Elfuncionamientopodríaserelsiguiente:
Siseactivaunaboyalabombaarranca,silaboyasedesactivaypermaneceeneseestadodespuésdeun
pardeminutosentonceslabombasepara.
TimeControl.
ConTimeControlaundeterminadahora,podremosejecutarunThingHTTPounThingTweet,eincluso
añadirunnuevocomandoaTalkBack.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
5.3.1.3 Integración
Uno de los puntos fuertes en cualquier plataforma IoT, es que permita una amplia integración con
diversos dispositivos Hardware y software. En este caso ThingSpeak permite la integración de su
plataformacon:
o Arduino.o RaspberryPi.o IoBridge/RealTime.io.o ElectricImp.o Móbiles/Aplicacionesweb.o RedesSociales.o AnálisisdedatosconMATLAB.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
6 CAPITULO6:PROTOTIPO.
6.1 RESUMENDELPROTOTIPODISEÑADO.
6.1.1 Objetivo.
Monitorizaciónentiemporealyarchivadodelossiguientesparámetrosenaguaspluvialesenentornos
industriales:
1. pH
2. Conductividad
3. Turbidez
4. Temperatura
5. UsodeunPluviómetropararegistrodevolumenporárea.
El sistemapermite añadir aquellos parámetros considerados como relevante en función del entorno
industrialdeaplicación
6.1.2 Hardware.
Plataforma Arduino
ÁmbitodeAplicación Prototipos,Educación.
Micro: FamiliaAtmel:ATmega328.
Modelo ArduinoUnoR3
Memoria. 32Kb.
Alimentación 5V‐9V.
6.1.3 PlataformaIoT.
Plataforma ThingSpeak
Hardware Arduino,RaspberryPi,Spark,ElectronicImp.
Ambato SmartHome,Prototipos.
Ventajas Interfaz,App,Integraciónenredessociales.
Desventajas DocumentaciónlimitadaaciertosHW.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
6.2 APLICACIÓNIOTUSANDOARDUINO+THINGSPEAK.
Enestepuntosevaadescribirelprototipodesarrolladodondesehasidoimplementadotodoloexpuesto
enloscapítulosanteriores,haciendousodeunaplacaArduinoUNOrev3alcuál,leañadimoselShield
GSMGPRSSIM900paraArduino,paradotarlede comunicaciónGRPSquenospermita la conexión a
InternetconunatarjetadedatosdelacompañíaSIMIO.
HaremosusodelaplataformaThingSpeak.Laaplicaciónsebasaráenrecrearunprototipo,basándonos
eneláreadelSmartSensor,midiendolatemperatura,conductividad,pH,Turbidezyvolumendeaguade
lluviaenuntanquedetormentaysubiendolosdatosmedidosalaplataformaThingSpeak.
Usaremos el app ThingHTTP, para el envío de alarmas por SMS a móviles, de forma, que podamos
interactuarconelsistemaactivandoporejemplolamarchadeunabombaantesdeproducirseelvertido
alcaucepúblico.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
6.2.1 ElecciónPlataformas
Aunquelasrazonesdelaeleccióndeplataformasyahansidoexplicadasenloscapítulosanteriores,a
continuación, sedetallaránamodorecordatorioporquesehaelegido lasplataformas tanto software
comohardwareparaeldesarrollodenuestroprototipo.
ElprincipalmotivoparalaeleccióndelaplataformasoftwareThingSpeak,essindudasucategoríade
Open Source, para este tipo de proyecto es sin duda uno de los mejores candidatos tanto a nivel
económicocomoaniveldedocumentación.
Otropuntoa favores su interfazamigable,yde fácil configuración, comoademássu integracióncon
aplicacionesdetercerosvéaseporejemplolaredsocialtwitter.
Alahoradeelegirquehardwareusar,laelecciónhasidomássencilla,sindudaArduino.Plataformacon
ungranrecorridoyunadocumentaciónmuyextensa,yunagrancomunidadqueayudanatodoaquelque
tienecualquierproblema.
Supreciotambiénesunpuntoafavor,delomáseconómicoquehayenelmercado.
6.3 FUNCIONALIDAD
Nuestraaplicaciónrealizarálassiguientesfunciones:
1. Medirdiferentesparámetrosdelaguadelluviaalmacenadaenuntanquedetormentamediantelossensoressiguientes:
o Sensordeconductividad.o Sensordeturbidez.o SensordepH.o SensordeTemperatura.o Pluviómetro.
LossensorespH,conductividadyturbideznosdaninformacióndeunposiblevertido.
El sensorde temperaturaesnecesariopara realizar lasotrasmediciones, yaque,por ejemplo, el pH
necesitaunacompensacióndetemperaturapararealizarcorrectamentelamedida.
Elpluviómetronosinformadelvolumendelluviaporárea.
2. SubirlosdatosalaplataformaIoTThingSpeak.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
UsodelasaplicacionesThingHTTP,TweetControl,ReactyTalkBackparaenvíodealarmasamóvilesy
activacióndeunabombasumergible.
AunqueconTweetControlyThingHTTPhubierasidosuficienteparaactivarlabomba,sehanusadolas
demásaplicacionesparamostrarlasfuncionalidadesquetraeestaplataforma.
3. MedianteunAPPparaAndroid,podervisualizarlosdatos,vergráficas,históricos,modificarrangos…,sinaccederdirectamentealaplataformaThingSpeak.
6.3.1 InstalaciónIDEArduino.
Para poder comenzar a trabajar con nuestra placa Arduino, lo primero que tenemos que hacer es
descargarnoselIDEdeArduino,antesdecontinuar,hayqueaclararquelacompañíadeArduinoestá
divididaendos,arduino.ccyarduino.org,alahoradetenerquedescargarelIDEdebemostenerestoen
cuenta,aunqueambosIDEfuncionanperfectamenteparaambasplacas.
Ennuestrocasodescargamoselsoftwaredelapáginaarduino.org,siendolaversióndelIDEactual la
1.7.3.:
http://www.arduino.org/downloads
Lainstalaciónesguiadaporlotantoesmuysencilla,unavezinstaladoconectamosnuestraplacaporUSB
yesperamosaqueseareconocidapornuestroequipo.
6.3.1.1 ConexiónGRPS.
ComoelmodulonosdisponedepinesquepermitanlaconexiónporclipconlaplacaArduino,serealizara
mediantecableado.
Cablesjumpermacho‐macho
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
6.3.1.2 MontajedelCircuito
YaconectadoelShieldGSMGPRSSIM900anuestraplacaArduinoUNORev.3,nosapoyaremosdeun
protoboard,paralaconexióndelossensores.
• UsaremoselpinA0paraelsensordepH.
• UsaremoselpinA1paraelsensordeConductividad.
• UsaremoselpinA2paraelsensordeTurbidez.
• UsaremoselpinD2paraelsensordetemperatura.
• UsaremoselpinD4paraelpluviómetro.
• Pin5VyGNDparalaalimentación.
6.3.1.3 Descripciónyesquemadeconexiones
Elsistemadesensoresfinalsecomponedeloscincosistemasindividualesdescritosenestamemoria
(detección de temperatura, pH, conductividad, turbidez y pluviómetro), que operan de forma
independiente, excepto temperaturaque formapartedelpHy conductividad,demodoque tanto los
errores en el funcionamiento como en el conexionado pueda controlarse y solventarse también de
manera independiente. También con el objetivo y para minimizar los errores de conexión, se ha
mantenido(enlamedidadeloposible)uncódigodecoloresenelcableado,desdeeldiseñoinicialdelos
subsistemasenelsoftwaredeFritzinghastaelmontajefinaldelhardware,parafacilitarelseguimiento
yrevisióndelasseñalestalycomosedetallaacontinuación.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
Comoya se ha visto en la secciónde cada subsistema, cada sensor se conecta aunpin analógico de
Arduinoparaposteriormenteenviarlosalaestacióndecontrol.
pH:PinanalógicoA0.
Conductividad:PinanalógicoA1.
Turbidez PinanalógicoA2.
Temperatura:PindigitalD2.
Pluviómetro:PindigitalD4
Porotraparte,cadacircuitodealarmaluminosatienesuLEDcorrespondienteconectadoaunpindigital
delaplacaArduinoUNO:
CalibracióndelsensordepH:LEDazul:PindigitalD12.Calibracióndelsensordeconductividad:LED
azul:PindigitalD10.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
6.3.2 Códigoobtencióncalibracióndelossensores.
6.3.2.1 CódigopH:Usodelmodoanalógico.
/***************************************************
#include<EEPROM.h>
#defineEEPROM_write(address,p){inti=0;byte*pp=(byte*)&(p);for(;i<sizeof(p);i++)EEPROM.write(address+i,pp[i]);}
#defineEEPROM_read(address,p){inti=0;byte*pp=(byte*)&(p);for(;i<sizeof(p);i++)pp[i]=EEPROM.read(address+i);}
#defineReceivedBufferLength20
charreceivedBuffer[ReceivedBufferLength+1];//storetheserialcommand
bytereceivedBufferIndex=0;
#defineSCOUNT30//sumofsamplepoint
intanalogBuffer[SCOUNT];//storethesamplevoltage
intanalogBufferIndex=0;
#defineSlopeValueAddress0//(slopeofthephprobe)storeatthebeginningoftheEEPROM.Theslopeisafloatnumber,occupies4bytes.
#defineInterceptValueAddress(SlopeValueAddress+4)
floatslopeValue,interceptValue,averageVoltage;
booleanenterCalibrationFlag=0;
#defineSensorPinA0
#defineVREF5000//forarduinouno,theADCreferenceisthepower(AVCC),thatis5000mV
voidsetup()
{
Serial.begin(115200);
readCharacteristicValues();//readtheslopeandinterceptofthephprobe
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
}
voidloop()
{
if(serialDataAvailable()>0)
{
bytemodeIndex=uartParse();
phCalibration(modeIndex);//Ifthecorrectcalibrationcommandisreceived,thecalibrationfunctionshouldbecalled.
EEPROM_read(SlopeValueAddress,slopeValue);//Aftercalibration,thenewslopeandinterceptshouldberead,toupdatecurrentvalue.
EEPROM_read(InterceptValueAddress,interceptValue);
}
staticunsignedlongsampleTimepoint=millis();
if(millis()‐sampleTimepoint>40U)
{
sampleTimepoint=millis();
analogBuffer[analogBufferIndex]=analogRead(SensorPin)/1024.0*VREF;//readthevoltageandstoreintothebuffer,every40ms
analogBufferIndex++;
if(analogBufferIndex==SCOUNT)
analogBufferIndex=0;
averageVoltage=getMedianNum(analogBuffer,SCOUNT);//readthestablevaluebythemedianfilteringalgorithm
}
staticunsignedlongprintTimepoint=millis();
if(millis()‐printTimepoint>1000U)
{
printTimepoint=millis();
if(enterCalibrationFlag)//incalibrationmode,printthevoltagetouser,towatchthestabilityofvoltage
{
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
Serial.print("Voltage:");
Serial.print(averageVoltage);
Serial.println("mV");
}else{
Serial.print("pH:");//innormalmode,printthephvaluetouser
Serial.println(averageVoltage/1000.0*slopeValue+interceptValue);
}
}
}
booleanserialDataAvailable(void)
{
charreceivedChar;
staticunsignedlongreceivedTimeOut=millis();
while(Serial.available()>0)
{
if(millis()‐receivedTimeOut>1000U)
{
receivedBufferIndex=0;
memset(receivedBuffer,0,(ReceivedBufferLength+1));
}
receivedTimeOut=millis();
receivedChar=Serial.read();
if(receivedChar=='\n'||receivedBufferIndex==ReceivedBufferLength){
receivedBufferIndex=0;
strupr(receivedBuffer);
returntrue;
}
else{
receivedBuffer[receivedBufferIndex]=receivedChar;
receivedBufferIndex++;
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
}
}
returnfalse;
}
byteuartParse()
{
bytemodeIndex=0;
if(strstr(receivedBuffer,"CALIBRATION")!=NULL)
modeIndex=1;
elseif(strstr(receivedBuffer,"EXIT")!=NULL)
modeIndex=4;
elseif(strstr(receivedBuffer,"ACID:")!=NULL)
modeIndex=2;
elseif(strstr(receivedBuffer,"ALKALI:")!=NULL)
modeIndex=3;
returnmodeIndex;
}
voidphCalibration(bytemode)
{
char*receivedBufferPtr;
staticbyteacidCalibrationFinish=0,alkaliCalibrationFinish=0;
staticfloatacidValue,alkaliValue;
staticfloatacidVoltage,alkaliVoltage;
floatacidValueTemp,alkaliValueTemp,newSlopeValue,newInterceptValue;
switch(mode)
{
case0:
if(enterCalibrationFlag)
Serial.println(F("CommandError"));
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
break;
case1:
receivedBufferPtr=strstr(receivedBuffer,"CALIBRATION");
enterCalibrationFlag=1;
acidCalibrationFinish=0;
alkaliCalibrationFinish=0;
Serial.println(F("EnterCalibrationMode"));
break;
case2:
if(enterCalibrationFlag)
{
receivedBufferPtr=strstr(receivedBuffer,"ACID:");
receivedBufferPtr+=strlen("ACID:");
acidValueTemp=strtod(receivedBufferPtr,NULL);
if((acidValueTemp>3)&&(acidValueTemp<5))//typicalphvalueofacidstandandbuffersolutionshouldbe4.00
{
acidValue=acidValueTemp;
acidVoltage=averageVoltage/1000.0;//mV‐>V
acidCalibrationFinish=1;
Serial.println(F("AcidCalibrationSuccessful"));
}else{
acidCalibrationFinish=0;
Serial.println(F("AcidValueError"));
}
}
break;
case3:
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
if(enterCalibrationFlag)
{
receivedBufferPtr=strstr(receivedBuffer,"ALKALI:");
receivedBufferPtr+=strlen("ALKALI:");
alkaliValueTemp=strtod(receivedBufferPtr,NULL);
if((alkaliValueTemp>8)&&(alkaliValueTemp<11))//typicalphvalueofalkalistandandbuffersolutionshouldbe9.18or10.01
{
alkaliValue=alkaliValueTemp;
alkaliVoltage=averageVoltage/1000.0;
alkaliCalibrationFinish=1;
Serial.println(F("AlkaliCalibrationSuccessful"));
}else{
alkaliCalibrationFinish=0;
Serial.println(F("AlkaliValueError"));
}
}
break;
case4:
if(enterCalibrationFlag)
{
if(acidCalibrationFinish&&alkaliCalibrationFinish)
{
newSlopeValue=(acidValue‐alkaliValue)/(acidVoltage‐alkaliVoltage);
EEPROM_write(SlopeValueAddress,newSlopeValue);
newInterceptValue=acidValue‐(slopeValue*acidVoltage);
EEPROM_write(InterceptValueAddress,newInterceptValue);
Serial.print(F("CalibrationSuccessful"));
}
elseSerial.print(F("CalibrationFailed"));
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
Serial.println(F(",ExitCalibrationMode"));
acidCalibrationFinish=0;
alkaliCalibrationFinish=0;
enterCalibrationFlag=0;
}
break;
}
}
intgetMedianNum(intbArray[],intiFilterLen)
{
intbTab[iFilterLen];
for(bytei=0;i<iFilterLen;i++)
{
bTab[i]=bArray[i];
}
inti,j,bTemp;
for(j=0;j<iFilterLen‐1;j++)
{
for(i=0;i<iFilterLen‐j‐1;i++)
{
if(bTab[i]>bTab[i+1])
{
bTemp=bTab[i];
bTab[i]=bTab[i+1];
bTab[i+1]=bTemp;
}
}
}
if((iFilterLen&1)>0)
bTemp=bTab[(iFilterLen‐1)/2];
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
else
bTemp=(bTab[iFilterLen/2]+bTab[iFilterLen/2‐1])/2;
returnbTemp;
}
voidreadCharacteristicValues()
{
EEPROM_read(SlopeValueAddress,slopeValue);
EEPROM_read(InterceptValueAddress,interceptValue);
if(EEPROM.read(SlopeValueAddress)==0xFF&&EEPROM.read(SlopeValueAddress+1)==0xFF&&EEPROM.read(SlopeValueAddress+2)==0xFF&&EEPROM.read(SlopeValueAddress+3)==0xFF)
{
slopeValue=3.5;//IftheEEPROMisnew,therecommendatoryslopeis3.5.
EEPROM_write(SlopeValueAddress,slopeValue);
}
if(EEPROM.read(InterceptValueAddress)==0xFF&&EEPROM.read(InterceptValueAddress+1)==0xFF&&EEPROM.read(InterceptValueAddress+2)==0xFF&&EEPROM.read(InterceptValueAddress+3)==0xFF)
{
interceptValue=0;//IftheEEPROMisnew,therecommendatoryinterceptis0.
EEPROM_write(InterceptValueAddress,interceptValue);
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
6.3.2.2 CódigoConductividad:Usodelmodoanalógico.
//#NombreProducto:AnalogECMeter
//#ModeloSKU:DFR0300
//#Version:1.0
//#Connection:
//#ECmeteroutput‐>Analogpin1
//#DS18B20digitalpin‐>Digitalpin2
//#
#include<OneWire.h>
#defineStartConvert0
#defineReadTemperature1
constbytenumReadings=20;//thenumberofsampletimes
byteECsensorPin=A1;//ECMeteranalogoutput,pinonanalog1
byteDS18B20_Pin=2;//DS18B20signal,pinondigital2
unsignedintAnalogSampleInterval=25,printInterval=700,tempSampleInterval=850;//analogsampleinterval;serialprintinterval;temperaturesampleinterval
unsignedintreadings[numReadings];//thereadingsfromtheanaloginput
byteindex=0;//theindexofthecurrentreading
unsignedlongAnalogValueTotal=0;//therunningtotal
unsignedintAnalogAverage=0,averageVoltage=0;//theaverage
unsignedlongAnalogSampleTime,printTime,tempSampleTime;
floattemperature,ECcurrent;
//Temperaturechipi/o
OneWireds(DS18B20_Pin);//ondigitalpin2
voidsetup(){
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
//initializeserialcommunicationwithcomputer:
Serial.begin(115200);
//initializeallthereadingsto0:
for(bytethisReading=0;thisReading<numReadings;thisReading++)
readings[thisReading]=0;
TempProcess(StartConvert);//lettheDS18B20starttheconvert
AnalogSampleTime=millis();
printTime=millis();
tempSampleTime=millis();
}
voidloop(){
/*
Everyonceinawhile,sampletheanalogvalueandcalculatetheaverage.
*/
if(millis()‐AnalogSampleTime>=AnalogSampleInterval)
{
AnalogSampleTime=millis();
//subtractthelastreading:
AnalogValueTotal=AnalogValueTotal‐readings[index];
//readfromthesensor:
readings[index]=analogRead(ECsensorPin);
//addthereadingtothetotal:
AnalogValueTotal=AnalogValueTotal+readings[index];
//advancetothenextpositioninthearray:
index=index+1;
//ifwe'reattheendofthearray...
if(index>=numReadings)
//...wraparoundtothebeginning:
index=0;
//calculatetheaverage:
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
AnalogAverage=AnalogValueTotal/numReadings;
}
/*
Everyonceinawhile,MCUreadthetemperaturefromtheDS18B20andthenlettheDS18B20starttheconvert.
Attention:Theintervalbetweenstarttheconvertandreadthetemperatureshouldbegreaterthan750millisecond,orthetemperatureisnotaccurate!
*/
if(millis()‐tempSampleTime>=tempSampleInterval)
{
tempSampleTime=millis();
temperature=TempProcess(ReadTemperature);//readthecurrenttemperaturefromtheDS18B20
TempProcess(StartConvert);//afterthereading,starttheconvertfornextreading
}
/*
Everyonceinawhile,printtheinformationontheserialmonitor.
*/
if(millis()‐printTime>=printInterval)
{
printTime=millis();
averageVoltage=AnalogAverage*(float)5000/1024;
Serial.print("Analogvalue:");
Serial.print(AnalogAverage);//analogaverage,from0to1023
Serial.print("Voltage:");
Serial.print(averageVoltage);//millivoltaverage,from0mvto4995mV
Serial.print("mV");
Serial.print("temp:");
Serial.print(temperature);//currenttemperature
Serial.print("^CEC:");
floatTempCoefficient=1.0+0.0185*(temperature‐25.0);//temperaturecompensationformula:fFinalResult(25^C)=fFinalResult(current)/(1.0+0.0185*(fTP‐25.0));
floatCoefficientVolatge=(float)averageVoltage/TempCoefficient;
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
if(CoefficientVolatge<150)Serial.println("Nosolution!");//25^C1413us/cm<‐‐>about216mvifthevoltage(compensate)<150,thatis<1ms/cm,outoftherange
elseif(CoefficientVolatge>3300)Serial.println("Outoftherange!");//>20ms/cm,outoftherange
else
{
if(CoefficientVolatge<=448)ECcurrent=6.84*CoefficientVolatge‐64.32;//1ms/cm<EC<=3ms/cm
elseif(CoefficientVolatge<=1457)ECcurrent=6.98*CoefficientVolatge‐127;//3ms/cm<EC<=10ms/cm
elseECcurrent=5.3*CoefficientVolatge+2278;//10ms/cm<EC<20ms/cm
ECcurrent/=1000;//convertus/cmtoms/cm
Serial.print(ECcurrent,2);//twodecimal
Serial.println("ms/cm");
}
}
}
/*
ch=0,lettheDS18B20starttheconvert;ch=1,MCUreadthecurrenttemperaturefromtheDS18B20.
*/
floatTempProcess(boolch)
{
//returnsthetemperaturefromoneDS18B20inDEGCelsius
staticbytedata[12];
staticbyteaddr[8];
staticfloatTemperatureSum;
if(!ch){
if(!ds.search(addr)){
Serial.println("nomoresensorsonchain,resetsearch!");
ds.reset_search();
return0;
}
if(OneWire::crc8(addr,7)!=addr[7]){
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
Serial.println("CRCisnotvalid!");
return0;
}
if(addr[0]!=0x10&&addr[0]!=0x28){
Serial.print("Deviceisnotrecognized!");
return0;
}
ds.reset();
ds.select(addr);
ds.write(0x44,1);//startconversion,withparasitepoweronattheend
}
else{
bytepresent=ds.reset();
ds.select(addr);
ds.write(0xBE);//ReadScratchpad
for(inti=0;i<9;i++){//weneed9bytes
data[i]=ds.read();
}
ds.reset_search();
byteMSB=data[1];
byteLSB=data[0];
floattempRead=((MSB<<8)|LSB);//usingtwo'scompliment
TemperatureSum=tempRead/16;
}
returnTemperatureSum;
}
6.3.2.3 CódigoTurbidez:Usodelmodoanalógico.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
voidsetup(){
Serial.begin(9600);//Baudrate:9600
}
voidloop(){
intsensorValue=analogRead(A0);//readtheinputonanalogpin0:
floatvoltage=sensorValue*(5.0/1024.0);//Converttheanalogreading(whichgoesfrom0‐1023)toavoltage(0‐5V):
Serial.println(voltage);//printoutthevalueyouread:
delay(500);}
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
6.3.3 PlataformaThingSpeak
Unavezmontadalapartehardwarepasaremosaconfigurarnuestraplataformasoftware.
Loprimeroquetenemosquehaceresdarnosdealtaenlaplataforma,paraelloentramosenlapágina:
https://thingspeak.com/login
EnelvínculoSingupnosdamosdealta.
Unavezdadodealta,nosvamosalapestañadeChanelsycreamosnuestroscanales,unoporcadasensor
quedeseemosregistrar,acontinuaciónrellenamoslossiguientescampos:
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
Conestoyatenemoscreadoloscanalesdondesevolcaránlasmedidasregistradaspornuestrossensores,
undatoimportantequetenemosqueanotarparapodersubirlosdatoseslaWRITEAPIKEY,lacualala
horadeprogramarnuestroArduinodeberemosincluirlaparapodersubirlosdatosalaplataforma
.APIThingHTTP.
Configuraremosestaaplicaciónparaenviaralarmasamóvilescuandoalgunodelosparámetrossupere
laconsignaestablecida.
6.4 SOFTWAREMYSCADA.
Paralavisualizacióndelosparámetrosmonitorizadosysusgráficas,sehadesarrolladounaaplicación
medianteelsoftwaregratuitoparausonocomercial,denominadoMyScada.
6.4.1 Descripción.
MySCADAesunsistemadecontrolcontodaslasfuncionesyaplicacionesparalaAdquisiciónymanejo
de Datos (Sistemas SCADA) con una Interfaz avanzada hombre‐máquina o también llamada HMI. El
software proporciona al usuario la capacidad de controlar, monitorear y mostrar el estado de los
procesosdetipo:
• Tecnológico
• Infraestructura
• SistemasIndustriales
• Instalaciones
LaaplicaciónestádiseñadaparacomunicarseconlosdispositivosdeRockwellAutomationconunared
Ether‐Net / IP, permite usar el protocolo Modbus TCP Unidad de terminal remota (RTU) con los
dispositivos de control desarrollados por las empresas como Schneider, Delta, Wago, Siemens,
Advantech,Unitronics,Beckhoff,etc,conelapoyodelprotocoloModbus,puedeintegrardirectamenteun
grannúmerodesensoresydispositivosI/O.AdemássepuedecomunicarconprotocoloMTTQycon
JavaScriptconelservidordeThingSpeak
EleditordeMySCADAesunentornodedesarrollointegradoqueseutilizaparaconfigurar,desarrollar
y gestionar ventanas HMI.En la aplicación se encontrará todo lo necesario para implementar una
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
herramienta completa SCADA. El editor de My SCADA se utiliza para crear y gestionar proyectos,
configurarconexionesaotrosdispositivos,entrelasetiquetas,lasalarmasytendencias.
UnadelasventajasdeMyscadaesqueesmultiplataforma,esdecir,sedesarrollaconunasolaaplicación
ysepuedecorrerenWindows,Android,IOS,Linux
MySCADAtambiénesunsistemamultiprotocoloycubrelamayoríadelosPLCconocidosoRTUsysus
protocolosparamantenerlaversatilidad.
Soportalamayoríadeprotocolosdelaindustria:
Ejemplodepantallasdesarrollas.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
6.4.2 Ámbitosdeaplicación.
Este prototipo además de monitorizar parámetros sobre la calidad del agua podría tener otras
aplicacionessinvariarmuchoelcódigoactualcomolamonitorizacióndeemisionesdegasesypartículas
alaatmósfera.
Para ello se utilizaría el mismo prototipo de Arduino y la plataforma ThingSpeak y únicamente se
cambiaríanlossensores,yaque,seutilizaríansensoresparacontroldeemisiones,talescomo:
SensordeCO2
SensordeNOx
SensordeCH4
SensordeVOC
Sensordepartículasensuspensión
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
6.5 PRESUPUESTODELPROYECTO.
Estamosanteunproyectoeldesarrollodeunprototipoacadémico,porloqueelcostedistaríabastante
deloqueseríaunproyectorealanivelcorporativo,yaque,lossensoresautilizaraunquedebajocoste
sepondríandeunamarcaresistenteaentornosindustriales,enelapartadodelCapítuloII,sedescriben
untipoquepodríanserusadosporsucompatibilidadconelHardwareArduino.
Elpresupuestodescritoacontinuacióndetallaelcostequesupondríaelprototipoconsensoresde la
marcaconsiderada
1. Ingeniería:
2. Proyecto.
3. DesarrollosdelCódigo.
4. Testeoydepuracióndelcódigo
5. Equipos
6. Arduino
7. Sensores.
8. MaterialAuxiliar
9. Montaje
10. Puestaenservicio.
6.5.1 Comparativaconsistemastradicionales.
Porúltimosemuestraunacomparativaanivelcosteentreelprototipoyunsistematradicional.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
7 MANUALESDELOSSENSORES.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
8 ANEXOIV:GLOSARIO.
Android:SistemaoperativobasadoenLinuxutilizadoparamóviles.
Arduino:Plataformalibrequeconsisteenunaplaca,unmicro‐controladoryunentornodedesarrollo
quefacilitaelusodeelectrónica.
Framework: Conjunto estandarizado de conceptos, prácticas y criterios para enfocar un tipo de
problemáticaparticularquesirvecomoreferencia,paraenfrentaryresolvernuevosproblemasdeíndole
similar.
HTML:Lenguajedemarcadopredominanteparalacreacióndesitiosweb.Esunestándar...
HTML5:Versión5delestándarHTML.
HTTP:Protocolo de transferencia de hipertexto usando en las transacciones de laWorldWideWeb
(WWW).
InternetofThings:Redinteligentequecontieneobjetosheterogéneosyubicuosinteractuandoentre
ellos.
Java:LenguajedeprogramacióndealtonivelorientadoaobjetoscreadoporSunMicrosystems.
JavaScript:Lenguajedeprogramacióninterpretadoybasadoenprototipos.Esundialectodelestándar
ECMAScript.
JSON:Formato ligeropara el intercambiodedatos. JSONesun subconjuntode lanotación literalde
objetosdeJavaScriptquenorequiereelusodeXML.MIDGAR:Plataformaparalageneracióndinámica
deaplicacionesdistribuidasbasadasenlaintegraciónderedesdesensoresydispositivoselectrónicos
IOT
LenguajedeDominioEspecífico:Especificacióndeunlenguajededicadoaresolverunproblemaen
particular, representar un problema específico y proveer una técnica para solucionar una situación
particular.
Micro‐controlador: Circuito integrado programable, capaz de ejecutar las órdenes grabadas en su
memoria.
GPRSsignificaGeneralPacketRadioServiceoenespañolServicioGeneraldePaquetesporRadio.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
RFID:Sistemadealmacenamientoyrecuperacióndedatosremotosqueusandispositivosdenominados
etiquetas, tarjetas, transpondedores o tags RFID. El propósito fundamental de la tecnología RFID es
transmitirlaidentidaddeunobjeto(similaraunnúmerodeserieúnico)medianteondasderadio.Las
tecnologías RFID se agrupan dentro de las denominadas Auto ID (Automatic IDentification, o
identificaciónautomática).Sonunosdispositivospequeños, similaresaunapegatina,quepuedenser
adheridasoincorporadasaunproducto,unanimalounapersona
RubyonRails:Frameworkdeaplicacioneswebdecódigoabiertoescritoenellenguajedeprogramación
Ruby,siguiendoelparadigmadelaarquitecturaModeloVistaControlador(MVC).Tratadecombinarla
simplicidadconlaposibilidaddedesarrollaraplicacionesdelmundorealescribiendomenoscódigoque
conotrosframeworksyconunmínimodeconfiguración.EllenguajedeprogramaciónRubypermitela
metaprogramación,delacualRailshaceuso,loqueresultaenunasintaxisquemuchosdesususuarios
encuentranmuylegible.RailssedistribuyeatravésdeRubyGems,queeselformatooficialdepaquetey
canaldedistribucióndebibliotecasyaplicacionesRuby.
Sensor: Dispositivo capaz de detectar magnitudes físicas o químicas, llamadas variables de
instrumentación,ytransformarlasenvariableseléctricas.Lasvariablesdeinstrumentaciónpuedenser
por ejemplo: temperatura, intensidad lumínica, distancia, aceleración, inclinación, desplazamiento,
presión,fuerza,torsión,humedad,movimiento,pH,etc.Unamagnitudeléctricapuedeserunaresistencia
eléctrica(comoenunaRTD),unacapacidadeléctrica(comoenunsensordehumedad),unaTensión
eléctrica(comoenuntermopar),unacorrienteeléctrica(comoenunfototransistor),etc.
SQL:Lenguajedeclarativodeaccesoabasesdedatosrelacionalesquepermiteespecificardiversostipos
deoperacionesenellas.Unadesuscaracterísticaseselmanejodelálgebrayelcálculorelacionalque
permitenefectuarconsultasconelfinderecuperardeformasencillainformacióndeinterésdebasesde
datos,asícomohacercambiosenella.
SmartHome:Englobalaautomatizacióndelaactividadenelhogarylastareasdomésticas.Ladomótica
puede incluir un control centralizado de la iluminación, HVAC (calefacción, ventilación y aire
acondicionado),loselectrodomésticos,yotrossistemas,paraproporcionarmayorcomodidad,elconfort,
laeficienciaenergéticaylaseguridad.
SmartObject:Elemento físico, condiversaspropiedades, identificable a lo largode suvidaútil, que
interactúa con el entorno y otros objetos y que puede actuar de manera inteligente según unas
determinadassituaciones,medianteunaconductaautónoma.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
Smartphone: Teléfono móvil construido sobre una plataforma informática móvil, con una mayor
capacidaddealmacenardatosyrealizaractividadessemejantesaunaminicomputadorayconectividad
queunteléfonomóvilconvencional.Eltérmino«inteligente»hacereferenciaalacapacidaddeusarse
comounordenadordebolsillo,llegandoinclusoaremplazaraunordenadorpersonalenalgunoscasos.
World Wide Web: Sistema de distribución de información basado en hipertexto o hipermedios
enlazados y accesibles a través de Internet. Con un navegador web, un usuario visualiza sitios web
MIDGAR:Plataformaparalageneracióndinámicadeaplicacionesdistribuidasbasadasenlaintegración
deredesdesensoresydispositivoselectrónicoscompuestosdepáginaswebquepuedencontenertexto,
imágenes,vídeosuotroscontenidosmultimedia,ynavegaatravésdeesaspáginasusandohiperenlaces.
XML: Lenguaje de marcas desarrollado por el World Wide Web Consortium (W3C) utilizado para
almacenardatosenformalegible.DerivadellenguajeSGMLypermitedefinirlagramáticadelenguajes
específicosparaestructurardocumentosgrandes.
IDE:Entornodedesarrollointegrado.Interfazdeprogramación.
NetBeans:EsunIDE,desarrolladoprincipalmenteparaellenguajedeprogramación
Java.
API:Interfazdeprogramacióndeaplicaciones.Esunconjuntodefuncionesy
Procedimientos.Ofrececiertabibliotecadelacualsepuedetomardichasfuncioneso
Procedimientos.
GSM:SistemaGlobalparalastelecomunicacionesmóviles.
Gateway:Puertadeenlace.Permiteinterconectarredesconprotocolosyarquitecturas
diferentes.
LAN:ReddeÁreaLocal.
WAM:Reddeáreametropolitana.
GPL:Licenciapublicageneral.Licenciadesoftwarelibre.
C:Lenguajedeprogramaciónorientadoalaimplementacióndesistemasoperativos.
AMRA:AnalysisandMonitoringofEnvironmentalRisk.
SIG:SistemadeInformaciónGeográfica.
SSL:SecureSocketsLayer.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
GNULGPL:LesserGeneralPublicLicense(LicenciaPúblicaGeneralReducida)
WSAN Wireless sensor and actor networks MIDGAR: Plataforma para la generación dinámica de
aplicacionesdistribuidasbasadasenlaintegraciónderedesdesensoresydispositivoselectrónicosIOT
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
8.1 ACRONIMOS.
HTMLHyperTextMarkupLanguage
HTTPHyptertextTransferProtocol
IoTInternetofThings
IoTUUsuariosinteresadosenInternetofThings
JSONJavaScriptObjectNotation
MDEModel‐drivenengineering
MOFMeta‐ObjectFacility
NFCNearfieldcommunication
NoSQLNoStructuredQueryLanguage
OMGObjectManagerGroup
PIMPlatform‐IndependentModel
PSMPlatform‐SpecificModel
RESTRepresentationalStateTransfer
RFIDRadioFrequencyIDentification
SDevSoftwareDevelopers
SIoTSocialInternetofThings
SOAService‐orientedarchitecture
SQLStructuredQueryLanguage
UMLUnifiedModelingLanguage
WWWWorldWideWeb.
XMIXMLMetadataInterchange
XMLeXtensibleMarkupLanguage
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
9 BIBLIOGRAFIACOSULTADA:
1. Atzori,L.,Iera,A.,&Morabito,G.(2010).TheInternetofThings:Asurvey.ComputerNetworks,
54(15),2787–2805.doi:10.1016/j.comnet.2010.05.010
2. Hribernik,K.A.,Ghrairi,Z.,Hans,C.,&Thoben,K.(2011).Co‐creatingtheInternetofThings‐
FirstExperiencesintheParticipatoryDesignofIntelligentProductswithArduino(pp.1–9).
3. IoBridge.(2013).Thingspeak.RetrievedJune23,2013,fromhttp://www.thingspeak.com
4. McFarlane,D.,Sarma,S.,Chirn,J.L.,Wong,C. . .,&Ashton,K.(2003).AutoIDsystemsand
intelligentmanufacturing control.EngineeringApplications ofArtificial Intelligence, 16(4),
365–376.Doi:10.1016/S0952‐1976(03)00077‐.
5. JuanAndrésSánchezWevar,AnálisisyEstudiodeRedesGPRS,2005,TrabajodeTitulación
paraoptaralTítulodeIngenieroElectrónico.
6. MassimoBanzi,TomIgoe,GianlucaMartino,andDavidMellis.(2013,Noviembre)Arduino.
[Online].(Recuperado:20demarzodel2014).
7. http://arduino.cc/es/#.Uw1iIYXGVSE
8. http://postscapes.com/internet‐of‐things‐software‐guide#protocols
9. http://www.datamation.com/open‐source/35‐open‐source‐tools‐for‐the‐internet‐of‐
things‐1.html
10. https://thingspeak.com/
11. http://www.thinkingthings.telefonica.com/
12. http://www.zatar.com/
13. https://es.wikipedia.org/
14. http://www.libelium.com/es
15. http://www.arduino.cc/
16. http://www.intel.es/content/
17. http://www.zigbee.org/
18. http://www.instructables.com/id/Arduino‐Tutorial‐0‐
Introducci%C3%B3n/step3/Qu%C3%A9‐partes‐componen‐el‐Arduino
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
10 ANEXOI.MANUALDEUSUARIODEARDUINO.
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
11 ANEXOII.MANUALDEUSUARIODETHINKSPEAK
MONITORIZACIÓNDELACALIDADDEAGUAS
PLUVIALESVERTIDASACAUCEPÚBLICOEN
ENTORNOS INDUSTRIALES MEDIANTE
TECNOLOGÍALOWCOST
Autor:InmaculadaGonzález
12 ANEXOIII.MANUALDEUSUARIODELAAPLICACIÓNMÓVIL.